Uploaded image for project: 'Helm'
  1. Helm
  2. HELM-450

Async Helm Install/Upgrade backend changes

    XMLWordPrintable

Details

    • Story
    • Resolution: Done
    • Undefined
    • None
    • None
    • Helm
    • AppSvc Sprint 227, AppSvc Sprint 228

    Description

      Owner: Architect:

      Kartikey Mamgain

      Story (Required)

      As an OpenShift user i should be able to install/upgrade Helm Releases asynchronously and return the secret name along with 201 status code. The action of install/upgrade should continue to work in background.

      Background (Required)

      Helm ODC frontend makes call to the helm backend and waits for the install call to finish. In most cases this is OK, however as chart are becoming more complex and contain more dependencies, it is becoming possible that the install call will not be done before browser times out of GET request. To solve this problem we can treat helm install/upgrade as asynchronous operation. Instead of returning the release information to frontend we would be returning the secret name which can then be tracked to obtain the status.

      Glossary

      <List of new terms and definition used in this story>

      Out of scope

      Frontend Changes

      E2E Changes 

      In Scope

      Backend code changes

      • Unit Test on actions package and handlers
      • api change on install release and upgrade release endpoint
      • oc helm cli changes

      Approach(Required)

      We would need to modify the install/upgrade endpoint to return the secret which is getting created to track the Helm release. As soon as Helm Release is getting installed/upgraded a secret get's created. This secret has labels as owner equal to helm, release name and the release revision. We need to return this secret name to ui.

      Demo requirements(Required)

      Demo with oc-helm plugin (install, upgrade and list)

      Dependencies

      None

      Edge Case

      None

      Acceptance Criteria

      • We should be able to install/upgrade complex Helm Charts which take longer time to install. Try to install https://artifacthub.io/packages/helm/gitlab/gitlab/6.5.4 Helm chart which takes over a few minutes to install.
      • The release should be shown in pending-install state in list API call using oc-helm.
      • We should be able to demo the above mentioned scenario of a release changing getting listed as Pending install and moving to the deployed state. We can use gitlab Helm Chart for reference.
      • Verify the changes with oc helm plugin and make changes to oc helm plugin to incorporate the changes to response body.

      Development:Yes

      QE:
      Documentation: No

      Upstream: Not
      Applicable

      Downstream: Not
      Applicable

      Release Notes Type: <New Feature/Enhancement/Known Issue/Bug
      fix/Breaking change/Deprecated Functionality/Technology Preview>

      INVEST Checklist

      Dependencies identified

      Blockers noted and expected delivery timelines set

      Design is implementable

      Acceptance criteria agreed upon

      Story estimated

      v

      Legend

      Unknown

      Verified

      Unsatisfied

      Attachments

        Issue Links

          Activity

            People

              kmamgain@redhat.com Kartikey Mamgain
              kmamgain@redhat.com Kartikey Mamgain
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: