Uploaded image for project: 'OpenShift GitOps'
  1. OpenShift GitOps
  2. GITOPS-2400

Add OpenShift Routes as a traffic manager for Argo Rollouts.

XMLWordPrintable

    • Add OpenShift Routes as a traffic manager for Argo Rollouts.
    • 8
    • False
    • None
    • False
    • SECFLOWOTL-102 - Argo Rollouts managed by GitOps Operator
    • 0% To Do, 25% In Progress, 75% Done
    • Hide
      This enhancement allows users to perform canary-based Argo Rollouts deployments using OpenShift Routes-based traffic management. Argo Rollouts now supports the ability to split traffic using Routes, by modifying the percentage of traffic (of the Route) that reaches the canary/stable versions of the application, during a deployment.
      Show
      This enhancement allows users to perform canary-based Argo Rollouts deployments using OpenShift Routes-based traffic management. Argo Rollouts now supports the ability to split traffic using Routes, by modifying the percentage of traffic (of the Route) that reaches the canary/stable versions of the application, during a deployment.
    • Enhancement
    • Done
    • GITOPS Sprint 3247, GITOPS Core Sprint 3248, GITOPS Core Sprint 3250

      Story (Required)

      As an OpenShift GitOps user I would like to use the Argo Rollouts workload with OpenShift Routes as a traffic manager and traffic splitting. Currently, Argo Rollouts only supports OpenShift Service Mesh and not Routes.

      There is a PR that was raised by a user in the community but the PR is obsolete and requires re-basing, unit test, e2e test failure fixing and also some modifications.
      https://github.com/argoproj/argo-rollouts/pull/1301

      Background (Required)

      OpenShift GitOps team is planning to productize Argo Rollouts and add manage Rollouts as a workload using the Argo CD Custom Resource.

      Since, most of the OpenShift Customers use OpenShift Routes to define traffic to their applications, it is very beneficial to support Routes as a Traffic manager.

      Approach (Required)

      As per the new process, the support for Openshift Route needs to be added as a plugin. To create a plugin, a new repository needs to be created under argoproj-labs. The steps for creating a plugin are defined in https://argo-rollouts.readthedocs.io/en/stable/plugins/.

       

      Example of a trafficroute plugin: https://github.com/argoproj/argo-rollouts/tree/master/test/cmd/trafficrouter-plugin-sample 

      Dependencies

      NA

      Acceptance Criteria (Mandatory)

      Support OpenShift Routes as a traffic manager for Rollouts in the upstream.
      Get the required changes in to Argo CD Operator and GitOps Operator.
      Add tests to validate the Integration.

      INVEST Checklist

      Dependencies identified

      Blockers noted and expected delivery timelines set

      Design is implementable

      Acceptance criteria agreed upon

      Story estimated

      Legend

      Unknown

      Verified

      Unsatisfied

      Done Checklist

      • Code is completed, reviewed, documented and checked in
      • Unit and integration test automation have been delivered and running cleanly in continuous integration/staging/canary environment
      • Continuous Delivery pipeline(s) is able to proceed with new code included
      • Customer facing documentation, API docs etc. are produced/updated, reviewed and published
      • Acceptance criteria are met

            jgwest Jonathan West
            aveerama@redhat.com Abhishek Veeramalla
            Votes:
            1 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated: