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

Investigate how to run E2E tests for rollouts-plugin-trafficrouter-openshift

XMLWordPrintable

    • 8
    • False
    • None
    • False

      Story (Required)

      At present, there exist no E2E tests that verify the functionality of rollouts-plugin-trafficrouter-openshift

      In order to verify that this functionality works, we should contribute those.

      Ideally these E2E tests should run on:

      • Every PR as part of rollouts-plugin-trafficrouter-openshift
      • Every PR as part of argo-rollouts-manager

      Also ideally, the E2E tests would look similar/same to the other Argo Rollouts E2E tests that exist (https://github.com/argoproj/argo-rollouts/blob/31fe59bc0848e68d1a64b912449c3f6a8f85af50/test/e2e/canary_test.go#L33)

      The main problem for us is that we need to run these on OpenShift, and we can't run OpenShift on the any 'argoproj-labs' repos.

      So our options are:

      • A) Make the E2E tests work with generic Kubernetes, probably by 'kubectl apply-ing' Routes on a non-openshift clusterr
        • Will this work? Maybe. Is it a hack, absolutely.
      • B) OR, contribute the tests as part of gitops-operator repo.
        • However, I really don't like B), because this means the E2E tests will only run weeks or months after the original change was made in rollouts-plugin-trafficrouter-openshift or rollouts-manage repos.
      • C) OR, perhaps, a job that will automatically open a PR (or update an existing PR) against the gitops-operator repository whenever a commit is merged to rollouts-manager repo
        • Update go.mod, and any other constants that point to argo rollouts

      Acceptance Criteria:

      • Brainstorm any other better options besides A and B.
      • Take a look at the feasibility of incorporating the openshift routes plugin into upstream Argo Rollouts
        • For example, are there OTHER vendors plugins that are incorporated?
          • From refinement discussion, it sounds like no, that plugins are intended to live outside of upstream Rollouts distribution
        • We could likewise investigate, or consider, whether we want to add a reference to our OpenShift Routes plugin to upstream doc page: https://argo-rollouts.readthedocs.io/en/stable/analysis/plugins/
        • Check out this previous PR conversation re non-plugin integration: https://github.com/argoproj/argo-rollouts/pull/1301
        • Investigate whether it is possible to 'kubectl apply' the OpenShift Route CR to generic Kubernetes (k3s).
          • If it is possible, investigate how to create E2E tests using this
      • Present results of investigation to team in the venue/medium of your choice

              Unassigned Unassigned
              jgwest Jonathan West
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: