diff --git a/magnum/drivers/heat/k8s_fedora_template_def.py b/magnum/drivers/heat/k8s_fedora_template_def.py index b25f66fd37..1ea9d3d428 100644 --- a/magnum/drivers/heat/k8s_fedora_template_def.py +++ b/magnum/drivers/heat/k8s_fedora_template_def.py @@ -176,26 +176,32 @@ class K8sFedoraTemplateDefinition(k8s_template_def.K8sTemplateDefinition): def _set_volumes(self, context, cluster, extra_params): # set docker_volume_type - docker_volume_type = cluster.labels.get( + docker_volume_type = (cluster.labels.get( 'docker_volume_type', cinder.get_default_docker_volume_type(context)) + if int(cluster.docker_volume_size) > 0 else '') extra_params['docker_volume_type'] = docker_volume_type # set etcd_volume_type - etcd_volume_type = cluster.labels.get( - 'etcd_volume_type', cinder.get_default_etcd_volume_type(context)) + etcd_volume_size = cluster.labels.get('etcd_volume_size', 0) + etcd_volume_type = (cluster.labels.get( + 'etcd_volume_type', + cinder.get_default_etcd_volume_type(context)) + if int(etcd_volume_size) > 0 else '') extra_params['etcd_volume_type'] = etcd_volume_type - # set boot_volume_type - boot_volume_type = cluster.labels.get( - 'boot_volume_type', cinder.get_default_boot_volume_type(context)) - extra_params['boot_volume_type'] = boot_volume_type - # set boot_volume_size boot_volume_size = cluster.labels.get( 'boot_volume_size', CONF.cinder.default_boot_volume_size) extra_params['boot_volume_size'] = boot_volume_size + # set boot_volume_type + boot_volume_type = (cluster.labels.get( + 'boot_volume_type', + cinder.get_default_boot_volume_type(context)) + if int(boot_volume_size) > 0 else '') + extra_params['boot_volume_type'] = boot_volume_type + def get_env_files(self, cluster_template, cluster, nodegroup=None): env_files = [] diff --git a/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py b/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py index 5506701b2f..cfe35754d4 100644 --- a/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py +++ b/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py @@ -273,8 +273,8 @@ class TestClusterConductorWithK8s(base.TestCase): 'influx_grafana_dashboard_enabled': 'True', 'docker_volume_type': 'lvmdriver-1', 'boot_volume_type': 'lvmdriver-1', - 'etcd_volume_type': 'lvmdriver-1', 'etcd_volume_size': None, + 'etcd_volume_type': '', 'availability_zone': 'az_1', 'cert_manager_api': 'False', 'ingress_controller': 'i-controller', @@ -316,6 +316,7 @@ class TestClusterConductorWithK8s(base.TestCase): 'docker_storage_driver': 'devicemapper', 'discovery_url': 'https://discovery.etcd.io/test', 'etcd_volume_size': None, + 'etcd_volume_type': '', 'flannel_network_cidr': '10.101.0.0/16', 'flannel_network_subnetlen': '26', 'flannel_backend': 'vxlan', @@ -368,7 +369,6 @@ class TestClusterConductorWithK8s(base.TestCase): 'keystone_auth_default_policy': self.keystone_auth_default_policy, 'boot_volume_size': '60', 'boot_volume_type': 'lvmdriver-1', - 'etcd_volume_type': 'lvmdriver-1', 'master_role': 'master', 'worker_role': 'worker', 'master_nodegroup_name': 'master_ng', @@ -454,6 +454,7 @@ class TestClusterConductorWithK8s(base.TestCase): 'docker_volume_size': 20, 'docker_volume_type': 'lvmdriver-1', 'etcd_volume_size': None, + 'etcd_volume_type': '', 'external_network': 'e2a6c8b0-a3c2-42a3-b3f4-01400a30896e', 'fixed_network': 'fixed_network', 'fixed_network_name': 'fixed_network', @@ -519,7 +520,6 @@ class TestClusterConductorWithK8s(base.TestCase): 'keystone_auth_default_policy': self.keystone_auth_default_policy, 'boot_volume_size': '60', 'boot_volume_type': 'lvmdriver-1', - 'etcd_volume_type': 'lvmdriver-1', 'master_role': 'master', 'worker_role': 'worker', 'master_nodegroup_name': 'master_ng', @@ -595,6 +595,7 @@ class TestClusterConductorWithK8s(base.TestCase): 'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'discovery_url': 'https://discovery.etcd.io/test', 'docker_volume_size': 20, + 'docker_volume_type': 'lvmdriver-1', 'master_flavor': 'master_flavor_id', 'minion_flavor': 'flavor_id', 'fixed_network': 'fixed_network', @@ -611,8 +612,8 @@ class TestClusterConductorWithK8s(base.TestCase): 'grafana_admin_passwd': 'fake_pwd', 'kube_dashboard_enabled': 'True', 'influx_grafana_dashboard_enabled': 'True', - 'docker_volume_type': 'lvmdriver-1', 'etcd_volume_size': None, + 'etcd_volume_type': '', 'insecure_registry_url': '10.0.0.1:5000', 'kube_version': 'fake-version', 'magnum_url': 'http://127.0.0.1:9511/v1', @@ -651,7 +652,6 @@ class TestClusterConductorWithK8s(base.TestCase): 'keystone_auth_default_policy': self.keystone_auth_default_policy, 'boot_volume_size': '60', 'boot_volume_type': 'lvmdriver-1', - 'etcd_volume_type': 'lvmdriver-1', 'keystone_auth_default_policy': self.keystone_auth_default_policy, 'master_role': 'master', 'worker_role': 'worker', @@ -1055,6 +1055,7 @@ class TestClusterConductorWithK8s(base.TestCase): 'docker_storage_driver': 'devicemapper', 'discovery_url': 'https://address/token', 'etcd_volume_size': None, + 'etcd_volume_type': '', 'http_proxy': 'http_proxy', 'https_proxy': 'https_proxy', 'no_proxy': 'no_proxy', @@ -1107,7 +1108,6 @@ class TestClusterConductorWithK8s(base.TestCase): 'keystone_auth_default_policy': self.keystone_auth_default_policy, 'boot_volume_size': '60', 'boot_volume_type': 'lvmdriver-1', - 'etcd_volume_type': 'lvmdriver-1', 'master_role': 'master', 'worker_role': 'worker', 'master_nodegroup_name': 'master_ng',