FluxCD missing support for manifest update

Bug #1974095 reported by Bob Church
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
High
Bob Church

Bug Description

Brief Description
-----------------
Functionality missing in code https://opendev.org/starlingx/config/src/branch/master/sysinv/sysinv/sysinv/sysinv/helm/helm.py

  if not is_fluxcd_app: # Update the manifest based on platform conditions
      manifest_op.platform_mode_manifest_updates(self.dbapi, mode)

Severity
--------
Critical: System/Feature is not usable due to the defect for some applications

Workaround
----------
None

Revision history for this message
Bob Church (rchurch) wrote :

Initial code delivery lacked full support. Additional functionality will need to be provided.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to config (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/starlingx/config/+/842466

Changed in starlingx:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to config (master)

Reviewed: https://review.opendev.org/c/starlingx/config/+/842466
Committed: https://opendev.org/starlingx/config/commit/4d35242a0e716028d6e937e2283c74946841a822
Submitter: "Zuul (22348)"
Branch: master

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>

Changed in starlingx:
status: In Progress → Fix Released
Ghada Khalil (gkhalil)
Changed in starlingx:
importance: Undecided → High
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.