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

Async Helm Install/Upgrade backend changes


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

      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.


      <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


      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)



      Edge Case


      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.


      Documentation: No

      Upstream: Not

      Downstream: Not

      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






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