Propagate cloud_provider_enabled correctly

The derived cloud_provider_enabled is placed inside extra_params so that
openstack-cloud-controller-manager gets applied correctly. This required change
was unfortulately not present in https://review.opendev.org/681922.

Story: 2006531
Task: 36740

Change-Id: I4a89d25b467edd2c4be608c37055706e4e62d78b
This commit is contained in:
Bharat Kunwar 2019-09-20 15:14:00 +00:00
parent eebcc9b7a1
commit 9d6e389db6
3 changed files with 9 additions and 5 deletions

View File

@ -111,17 +111,18 @@ class K8sFedoraTemplateDefinition(k8s_template_def.K8sTemplateDefinition):
# the cloud provider needs to be enabled.
cloud_provider_enabled = cluster.labels.get(
'cloud_provider_enabled',
'true' if CONF.trust.cluster_user_trust else 'false').lower()
'true' if CONF.trust.cluster_user_trust else 'false')
if (not CONF.trust.cluster_user_trust
and cloud_provider_enabled == 'true'):
and cloud_provider_enabled.lower() == 'true'):
raise exception.InvalidParameterValue(_(
'"cluster_user_trust" must be set to True in magnum.conf when '
'"cloud_provider_enabled" label is set to true.'))
if (cluster_template.volume_driver == 'cinder'
and cloud_provider_enabled == 'false'):
and cloud_provider_enabled.lower() == 'false'):
raise exception.InvalidParameterValue(_(
'"cinder" volume driver needs "cloud_provider_enabled" label '
'to be true or unset.'))
extra_params['cloud_provider_enabled'] = cloud_provider_enabled
extra_params['master_image'] = cluster_template.image_id
extra_params['minion_image'] = cluster_template.image_id
@ -133,7 +134,7 @@ class K8sFedoraTemplateDefinition(k8s_template_def.K8sTemplateDefinition):
'calico_tag', 'calico_cni_tag',
'calico_kube_controllers_tag', 'calico_ipv4pool',
'etcd_tag', 'flannel_tag', 'flannel_cni_tag',
'cloud_provider_enabled', 'cloud_provider_tag',
'cloud_provider_tag',
'prometheus_tag', 'grafana_tag',
'heat_container_agent_tag',
'keystone_auth_enabled', 'k8s_keystone_auth_tag',

View File

@ -367,7 +367,6 @@ parameters:
cloud_provider_enabled:
type: boolean
description: Enable or disable the openstack kubernetes cloud provider
default: true
etcd_tag:
type: string

View File

@ -283,6 +283,7 @@ class TestClusterConductorWithK8s(base.TestCase):
'insecure_registry': '10.0.0.1:5000',
}
expected = {
'cloud_provider_enabled': 'false',
'ssh_key_name': 'keypair_id',
'external_network': 'e2a6c8b0-a3c2-42a3-b3f4-01400a30896e',
'fixed_network': 'fixed_network',
@ -422,6 +423,7 @@ class TestClusterConductorWithK8s(base.TestCase):
expected = {
'auth_url': 'http://192.168.10.10:5000/v3',
'cloud_provider_enabled': 'true',
'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52',
'discovery_url': 'https://discovery.etcd.io/test',
'dns_nameserver': 'dns_nameserver',
@ -554,6 +556,7 @@ class TestClusterConductorWithK8s(base.TestCase):
expected = {
'auth_url': 'http://192.168.10.10:5000/v3',
'cloud_provider_enabled': 'false',
'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52',
'discovery_url': 'https://discovery.etcd.io/test',
'docker_volume_size': 20,
@ -978,6 +981,7 @@ class TestClusterConductorWithK8s(base.TestCase):
cluster)
expected = {
'cloud_provider_enabled': 'false',
'ssh_key_name': 'keypair_id',
'external_network': 'e2a6c8b0-a3c2-42a3-b3f4-01400a30896e',
'fixed_network': 'fixed_network',