FluxCD: Disable HelmReleases instead of charts

This commit makes the platform-app complies with the FluxCD capability
to disable HelmReleases instead of charts.

TEST PLAN
PASS Install stx-platform-helm rpm, update the app and
     enable/disable the charts via helm-chart-attribute-modify
PASS Verify resources created with app enabled and disabled

LOGS: https://paste.opendev.org/show/b2rRUhTWY6mESmiav6UO/

Story: 2009138
Task: 45615
Depends-On: https://review.opendev.org/c/starlingx/config/+/845155
Signed-off-by: Thiago Brito <thiago.brito@windriver.com>
Change-Id: I282737ccc6139b36baccb097933fa9885e1b8d52
This commit is contained in:
Thiago Brito 2022-06-13 11:40:24 -03:00
parent 8d59c7c3a3
commit a733c009ff
4 changed files with 12 additions and 6 deletions

View File

@ -13,6 +13,9 @@ HELM_CHART_CEPH_POOLS_AUDIT = 'ceph-pools-audit'
HELM_CHART_HELM_TOOLKIT = 'helm-toolkit'
HELM_CHART_CEPH_FS_PROVISIONER = 'cephfs-provisioner'
HELM_NS_CEPH_FS_PROVISIONER = common.HELM_NS_KUBE_SYSTEM
FLUXCD_HELMRELEASE_RBD_PROVISIONER = 'rbd-provisioner'
FLUXCD_HELMRELEASE_CEPH_POOLS_AUDIT = 'ceph-pools-audit'
FLUXCD_HELMRELEASE_CEPH_FS_PROVISIONER = 'cephfs-provisioner'
HELM_CEPH_FS_PROVISIONER_CLAIM_ROOT = '/pvc-volumes'
HELM_CHART_CEPH_FS_PROVISIONER_NAME = 'ceph.com/cephfs'

View File

@ -97,10 +97,11 @@ class K8CephFSProvisioner(object):
return str(base_name + '-' + name)
class CephFSProvisionerHelm(base.BaseHelm):
class CephFSProvisionerHelm(base.FluxCDBaseHelm):
"""Class to encapsulate helm operations for the cephfs-provisioner chart"""
CHART = app_constants.HELM_CHART_CEPH_FS_PROVISIONER
HELM_RELEASE = app_constants.FLUXCD_HELMRELEASE_CEPH_FS_PROVISIONER
SUPPORTED_NAMESPACES = base.BaseHelm.SUPPORTED_NAMESPACES + \
[app_constants.HELM_NS_CEPH_FS_PROVISIONER]
SUPPORTED_APP_NAMESPACES = {
@ -125,7 +126,7 @@ class CephFSProvisionerHelm(base.BaseHelm):
# by the user
if not self._is_enabled(operator.APP, self.CHART,
app_constants.HELM_NS_CEPH_FS_PROVISIONER):
operator.helm_release_resource_delete(self.CHART)
operator.helm_release_resource_delete(self.HELM_RELEASE)
def get_overrides(self, namespace=None):

View File

@ -13,10 +13,11 @@ from sysinv.helm import base
from sysinv.helm import common
class CephPoolsAuditHelm(base.BaseHelm):
class CephPoolsAuditHelm(base.FluxCDBaseHelm):
"""Class to encapsulate helm operations for the ceph-pools-audit chart"""
CHART = app_constants.HELM_CHART_CEPH_POOLS_AUDIT
HELM_RELEASE = app_constants.FLUXCD_HELMRELEASE_CEPH_POOLS_AUDIT
SUPPORTED_NAMESPACES = base.BaseHelm.SUPPORTED_NAMESPACES + \
[common.HELM_NS_RBD_PROVISIONER]
SUPPORTED_APP_NAMESPACES = {
@ -40,7 +41,7 @@ class CephPoolsAuditHelm(base.BaseHelm):
# by the user
if not self._is_enabled(operator.APP, self.CHART,
common.HELM_NS_RBD_PROVISIONER):
operator.helm_release_resource_delete(self.CHART)
operator.helm_release_resource_delete(self.HELM_RELEASE)
def get_namespaces(self):
return self.SUPPORTED_NAMESPACES

View File

@ -14,10 +14,11 @@ from sysinv.helm import base
from sysinv.helm import common
class RbdProvisionerHelm(base.BaseHelm):
class RbdProvisionerHelm(base.FluxCDBaseHelm):
"""Class to encapsulate helm operations for the rbd-provisioner chart"""
CHART = app_constants.HELM_CHART_RBD_PROVISIONER
HELM_RELEASE = app_constants.FLUXCD_HELMRELEASE_RBD_PROVISIONER
SUPPORTED_NAMESPACES = base.BaseHelm.SUPPORTED_NAMESPACES + \
[common.HELM_NS_RBD_PROVISIONER]
SUPPORTED_APP_NAMESPACES = {
@ -42,7 +43,7 @@ class RbdProvisionerHelm(base.BaseHelm):
# by the user
if not self._is_enabled(operator.APP, self.CHART,
common.HELM_NS_RBD_PROVISIONER):
operator.helm_release_resource_delete(self.CHART)
operator.helm_release_resource_delete(self.HELM_RELEASE)
def get_overrides(self, namespace=None):