commit 4d35242a0e716028d6e937e2283c74946841a822
Author: Robert Church <email address hidden>
Date: Wed May 18 17:41:28 2022 -0400
App Fmwk: Add support for FluxCDKustomizeOperator
This update adds the FluxCD complement to the ArmadaManifestOperator to
allow runtime adjustments to which helm releases are enabled based on
platform conditions.
Changes include:
- Add FluxCDKustomizeOperator to support helm_release_resource_delete()
and platform_mode_kustomize_updates() to allow runtime updates to the
top-level kustomization.yaml file that controls helm releases.
- Add a GenericFluxCDKustomizeOperator for apps that don't provide a
kustomize plugin.
- Addition of stevedore plugin support using the namespace systemconfig.fluxcd.kustomize_ops
- Refactor helm.py to have two separate functions for generating helm
overrides, one for Armada and the other for FluxCD, so that easily
removing Armada support can be done in the future.
- Armada provided an --enable-chart-cleanup option when it stops
managing helm releases. To provide similar functionality the FluxCDKustomizeOperator will manage a helmrelease_cleanup.yaml file
and remove HelmRelease CRDs after application applies.
- Refactor _find_manifest() in kube_app.py and supporting functions in
utils.py to provide more meaningful feed back when the required
application elements (Armada or FluxCD) are not present
- Update sysinv-helm command to generate system application overrides
for Armada and for FluxCD apps.
- Update get_custom_resource() and apply_custom_resource() to remove
the 'cert' references as these are generic use functions.
Test Plan:
PASS: CentOS - Build/Install/Bootstrap/Unlock AIO-SX
PASS: CentOS - Verify application upload/apply/remove/delete of an Armada app and a FluxCD app
PASS: CentOS - Use helm-chart-attribute-modify to enable and disable charts and confirm that after application re-apply that the desired helm releases are deployed
PASS: Debian - Build/Install/Bootstrap/Unlock AIO-SX
PASS: Debian - Verify application upload/apply/remove/delete of an Armada app. Debian FluxCD app not enabled yet.
Change-Id: I346324b382ad3106777df61781c8b2af326e26c8
Closes-Bug: #1974095
Signed-off-by: Robert Church <email address hidden>
Reviewed: https:/ /review. opendev. org/c/starlingx /config/ +/842466 /opendev. org/starlingx/ config/ commit/ 4d35242a0e71602 8d6e937e2283c74 946841a822
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit 4d35242a0e71602 8d6e937e2283c74 946841a822
Author: Robert Church <email address hidden>
Date: Wed May 18 17:41:28 2022 -0400
App Fmwk: Add support for FluxCDKustomize Operator
This update adds the FluxCD complement to the ArmadaManifestO perator to
allow runtime adjustments to which helm releases are enabled based on
platform conditions.
Changes include: Operator to support helm_release_ resource_ delete( ) mode_kustomize_ updates( ) to allow runtime updates to the stomizeOperator for apps that don't provide a
systemconfig. fluxcd. kustomize_ ops chart-cleanup option when it stops
FluxCDKustomize Operator will manage a helmrelease_ cleanup. yaml file resource( ) and apply_custom_ resource( ) to remove
- Add FluxCDKustomize
and platform_
top-level kustomization.yaml file that controls helm releases.
- Add a GenericFluxCDKu
kustomize plugin.
- Addition of stevedore plugin support using the namespace
- Refactor helm.py to have two separate functions for generating helm
overrides, one for Armada and the other for FluxCD, so that easily
removing Armada support can be done in the future.
- Armada provided an --enable-
managing helm releases. To provide similar functionality the
and remove HelmRelease CRDs after application applies.
- Refactor _find_manifest() in kube_app.py and supporting functions in
utils.py to provide more meaningful feed back when the required
application elements (Armada or FluxCD) are not present
- Update sysinv-helm command to generate system application overrides
for Armada and for FluxCD apps.
- Update get_custom_
the 'cert' references as these are generic use functions.
Test Plan: Bootstrap/ Unlock AIO-SX apply/remove/ delete of an
Armada app and a FluxCD app attribute- modify to enable and disable
charts and confirm that after application re-apply that
the desired helm releases are deployed Bootstrap/ Unlock AIO-SX apply/remove/ delete of an
Armada app. Debian FluxCD app not enabled yet.
PASS: CentOS - Build/Install/
PASS: CentOS - Verify application upload/
PASS: CentOS - Use helm-chart-
PASS: Debian - Build/Install/
PASS: Debian - Verify application upload/
Change-Id: I346324b382ad31 06777df61781c8b 2af326e26c8
Closes-Bug: #1974095
Signed-off-by: Robert Church <email address hidden>