Merge "Helm overrides for cert-manager"
This commit is contained in:
commit
c1566745d7
@ -70,6 +70,10 @@ systemconfig.helm_applications =
|
||||
platform-integ-apps = systemconfig.helm_plugins.platform_integ_apps
|
||||
stx-monitor = systemconfig.helm_plugins.stx_monitor
|
||||
oidc-auth-apps = systemconfig.helm_plugins.oidc_auth_apps
|
||||
cert-manager = systemconfig.helm_plugins.cert_manager
|
||||
|
||||
systemconfig.helm_plugins.cert_manager =
|
||||
001_cert-manager = sysinv.helm.cert_manager:CertMgrHelm
|
||||
|
||||
systemconfig.helm_plugins.oidc_auth_apps =
|
||||
001_dex = sysinv.helm.dex:Dex
|
||||
|
@ -1412,6 +1412,7 @@ HELM_APP_OPENSTACK = 'stx-openstack'
|
||||
HELM_APP_PLATFORM = 'platform-integ-apps'
|
||||
HELM_APP_MONITOR = 'stx-monitor'
|
||||
HELM_APP_OIDC_AUTH = 'oidc-auth-apps'
|
||||
HELM_APP_CERT_MANAGER = 'cert-manager'
|
||||
|
||||
# Apply mode for openstack app
|
||||
OPENSTACK_RESTORE_DB = 'restore_db'
|
||||
@ -1432,6 +1433,7 @@ HELM_APP_APPLY_MODES = {
|
||||
HELM_APPS_PLATFORM_MANAGED = [
|
||||
HELM_APP_PLATFORM,
|
||||
HELM_APP_OIDC_AUTH,
|
||||
HELM_APP_CERT_MANAGER,
|
||||
]
|
||||
|
||||
# The order in which apps are listed here is important.
|
||||
|
51
sysinv/sysinv/sysinv/sysinv/helm/cert_manager.py
Normal file
51
sysinv/sysinv/sysinv/sysinv/helm/cert_manager.py
Normal file
@ -0,0 +1,51 @@
|
||||
#
|
||||
# Copyright (c) 2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
from sysinv.common import constants
|
||||
from sysinv.common import exception
|
||||
|
||||
from sysinv.helm import base
|
||||
from sysinv.helm import common
|
||||
|
||||
|
||||
class CertMgrHelm(base.BaseHelm):
|
||||
"""Class to encapsulate helm operations for the cert-manager chart"""
|
||||
|
||||
SUPPORTED_NAMESPACES = base.BaseHelm.SUPPORTED_NAMESPACES + \
|
||||
[common.HELM_NS_CERT_MANAGER]
|
||||
SUPPORTED_APP_NAMESPACES = {
|
||||
constants.HELM_APP_CERT_MANAGER:
|
||||
base.BaseHelm.SUPPORTED_NAMESPACES + [common.HELM_NS_CERT_MANAGER],
|
||||
}
|
||||
|
||||
CHART = common.HELM_CHART_CERT_MANAGER
|
||||
|
||||
SERVICE_NAME = 'cert-manager'
|
||||
|
||||
def get_namespaces(self):
|
||||
return self.SUPPORTED_NAMESPACES
|
||||
|
||||
def get_overrides(self, namespace=None):
|
||||
|
||||
overrides = {
|
||||
common.HELM_NS_CERT_MANAGER: {
|
||||
'replicaCount': max(1, self._num_provisioned_controllers()),
|
||||
'webhook': {
|
||||
'replicaCount': max(1, self._num_provisioned_controllers()),
|
||||
},
|
||||
'cainjector': {
|
||||
'replicaCount': max(1, self._num_provisioned_controllers()),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
if namespace in self.SUPPORTED_NAMESPACES:
|
||||
return overrides[namespace]
|
||||
elif namespace:
|
||||
raise exception.InvalidHelmNamespace(chart=self.CHART,
|
||||
namespace=namespace)
|
||||
else:
|
||||
return overrides
|
@ -60,6 +60,7 @@ HELM_CHART_NGINX_PORTS_CONTROL = "nginx-ports-control"
|
||||
HELM_CHART_DCDBSYNC = 'dcdbsync'
|
||||
HELM_CHART_DEX = 'dex'
|
||||
HELM_CHART_OIDC_CLIENT = 'oidc-client'
|
||||
HELM_CHART_CERT_MANAGER = 'cert-manager'
|
||||
|
||||
HELM_CHART_ELASTICSEARCH_MASTER = 'elasticsearch-master'
|
||||
HELM_CHART_ELASTICSEARCH_DATA = 'elasticsearch-data'
|
||||
@ -81,6 +82,7 @@ HELM_NS_OPENSTACK = 'openstack'
|
||||
HELM_NS_HELM_TOOLKIT = 'helm-toolkit'
|
||||
HELM_NS_MONITOR = 'monitor'
|
||||
HELM_NS_RBD_PROVISIONER = HELM_NS_KUBE_SYSTEM
|
||||
HELM_NS_CERT_MANAGER = 'cert-manager'
|
||||
|
||||
# Services
|
||||
# Matches configassistant.py value => Should change to STARLINGX
|
||||
|
49
sysinv/sysinv/sysinv/sysinv/tests/helm/test_cert_manager.py
Normal file
49
sysinv/sysinv/sysinv/sysinv/tests/helm/test_cert_manager.py
Normal file
@ -0,0 +1,49 @@
|
||||
# Copyright (c) 2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
from sysinv.db import api as dbapi
|
||||
from sysinv.helm import common
|
||||
|
||||
from sysinv.tests.db import base as dbbase
|
||||
from sysinv.tests.db import utils as dbutils
|
||||
from sysinv.tests.helm import base
|
||||
from sysinv.tests.helm import test_helm
|
||||
|
||||
|
||||
class CertManagerTestCase(test_helm.StxPlatformAppMixin,
|
||||
base.HelmTestCaseMixin):
|
||||
|
||||
def setUp(self):
|
||||
super(CertManagerTestCase, self).setUp()
|
||||
self.app = dbutils.create_test_app(name='cert-manager')
|
||||
self.dbapi = dbapi.get_instance()
|
||||
|
||||
|
||||
class CertManagerIPv4ControllerHostTestCase(CertManagerTestCase,
|
||||
dbbase.ProvisionedControllerHostTestCase):
|
||||
|
||||
def test_replicas(self):
|
||||
overrides = self.operator.get_helm_chart_overrides(
|
||||
common.HELM_CHART_CERT_MANAGER,
|
||||
cnamespace=common.HELM_NS_CERT_MANAGER)
|
||||
|
||||
self.assertOverridesParameters(overrides, {
|
||||
# 1 replica for 1 controller
|
||||
'replicaCount': 1
|
||||
})
|
||||
|
||||
|
||||
class CertManagerIPv6AIODuplexSystemTestCase(CertManagerTestCase,
|
||||
dbbase.BaseIPv6Mixin,
|
||||
dbbase.ProvisionedAIODuplexSystemTestCase):
|
||||
|
||||
def test_replicas(self):
|
||||
overrides = self.operator.get_helm_chart_overrides(
|
||||
common.HELM_CHART_CERT_MANAGER,
|
||||
cnamespace=common.HELM_NS_CERT_MANAGER)
|
||||
|
||||
self.assertOverridesParameters(overrides, {
|
||||
# 2 replicas for 2 controllers
|
||||
'replicaCount': 2
|
||||
})
|
Loading…
Reference in New Issue
Block a user