-
Story
-
Resolution: Done
-
Undefined
-
None
-
None
-
3
-
False
-
None
-
False
-
-
-
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.
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