ng-10: Fix cluster template conditions

Removes the role heat param from all templates. Instead and only for
k8s templates adds the master_role and worker_role params. The new
worker_only condition should be true for all roles except for master.
Finally, adds the missing is_cluster_stack param to all templates.

Change-Id: Ie0799373fe492c2e0a0cad903ed6e8c93e6266b5
This commit is contained in:
Theodoros Tsioutsias 2019-09-29 16:48:54 +00:00
parent 65aa98c991
commit 44631afbbf
12 changed files with 110 additions and 57 deletions

View File

@ -126,11 +126,13 @@ class K8sTemplateDefinition(template_def.BaseTemplateDefinition):
master_params.update({
'master_flavor': 'flavor_id',
'master_image': 'image_id',
'master_role': 'role',
})
worker_params.update({
'number_of_minions': 'node_count',
'minion_flavor': 'flavor_id',
'minion_image': 'image_id',
'worker_role': 'role',
})
return super(
K8sTemplateDefinition, self).get_nodegroup_param_maps(

View File

@ -423,9 +423,7 @@ class BaseTemplateDefinition(TemplateDefinition):
worker_params = worker_params or dict()
master_params.update({
'number_of_masters': 'node_count',
'role': 'role'
})
worker_params.update({'role': 'role'})
return master_params, worker_params
def _handle_nodegroup_param_map(self, nodegroup, param_map):

View File

@ -7,6 +7,18 @@ description: >
parameters:
is_cluster_stack:
type: boolean
default: false
master_role:
type: string
default: ""
worker_role:
type: string
default: ""
octavia_enabled:
type: string
default: true

View File

@ -6,29 +6,36 @@ description: >
defaults to 1).
conditions:
master_only:
or:
- equals:
- get_param: role
- "master"
- equals:
- get_param: is_cluster_stack
- true
worker_only:
or:
- equals:
- get_param: role
- "worker"
- equals:
- get_param: is_cluster_stack
- true
create_cluster_resources:
equals:
- get_param: is_cluster_stack
- true
is_master:
and:
- equals:
- get_param: master_role
- "master"
- equals:
- get_param: worker_role
- ""
is_worker:
not:
equals:
- get_param: worker_role
- ""
master_only:
or:
- create_cluster_resources
- is_master
worker_only:
or:
- create_cluster_resources
- is_worker
parameters:
# needs to become a list if we want to join master nodes?
@ -40,7 +47,11 @@ parameters:
type: boolean
default: false
role:
master_role:
type: string
default: ""
worker_role:
type: string
default: ""

View File

@ -6,29 +6,36 @@ description: >
defaults to 1).
conditions:
master_only:
or:
- equals:
- get_param: role
- "master"
- equals:
- get_param: is_cluster_stack
- true
worker_only:
or:
- equals:
- get_param: role
- "worker"
- equals:
- get_param: is_cluster_stack
- true
create_cluster_resources:
equals:
- get_param: is_cluster_stack
- true
is_master:
and:
- equals:
- get_param: master_role
- "master"
- equals:
- get_param: worker_role
- ""
is_worker:
not:
equals:
- get_param: worker_role
- ""
master_only:
or:
- create_cluster_resources
- is_master
worker_only:
or:
- create_cluster_resources
- is_worker
parameters:
# needs to become a list if we want to join master nodes?
@ -40,7 +47,11 @@ parameters:
type: boolean
default: false
role:
master_role:
type: string
default: ""
worker_role:
type: string
default: ""

View File

@ -7,6 +7,18 @@ description: >
parameters:
is_cluster_stack:
type: boolean
default: false
master_role:
type: string
default: ""
worker_role:
type: string
default: ""
ssh_key_name:
type: string
description: name of ssh key to be provisioned on our server

View File

@ -8,6 +8,10 @@ description: >
parameters:
is_cluster_stack:
type: boolean
default: false
ssh_key_name:
type: string
description: name of ssh key to be provisioned on our server

View File

@ -13,6 +13,10 @@ parameters:
#
# REQUIRED PARAMETERS
#
is_cluster_stack:
type: boolean
default: false
ssh_key_name:
type: string
description: name of ssh key to be provisioned on our server

View File

@ -13,6 +13,10 @@ parameters:
#
# REQUIRED PARAMETERS
#
is_cluster_stack:
type: boolean
default: false
ssh_key_name:
type: string
description: name of ssh key to be provisioned on our server

View File

@ -369,7 +369,8 @@ class TestClusterConductorWithK8s(base.TestCase):
'boot_volume_size': '60',
'boot_volume_type': 'lvmdriver-1',
'etcd_volume_type': 'lvmdriver-1',
'role': 'master'
'master_role': 'master',
'worker_role': 'worker',
}
if missing_attr is not None:
@ -517,7 +518,8 @@ class TestClusterConductorWithK8s(base.TestCase):
'boot_volume_size': '60',
'boot_volume_type': 'lvmdriver-1',
'etcd_volume_type': 'lvmdriver-1',
'role': 'master',
'master_role': 'master',
'worker_role': 'worker',
}
self.assertEqual(expected, definition)
@ -647,7 +649,8 @@ class TestClusterConductorWithK8s(base.TestCase):
'boot_volume_type': 'lvmdriver-1',
'etcd_volume_type': 'lvmdriver-1',
'keystone_auth_default_policy': self.keystone_auth_default_policy,
'role': 'master',
'master_role': 'master',
'worker_role': 'worker',
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -756,7 +759,8 @@ class TestClusterConductorWithK8s(base.TestCase):
'kubeproxy_options': '--kubeproxy',
'octavia_enabled': False,
'portal_network_cidr': '10.254.0.0/16',
'role': 'master',
'master_role': 'master',
'worker_role': 'worker',
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -863,7 +867,8 @@ class TestClusterConductorWithK8s(base.TestCase):
'kubeproxy_options': '--kubeproxy',
'octavia_enabled': False,
'portal_network_cidr': '10.254.0.0/16',
'role': 'master',
'master_role': 'master',
'worker_role': 'worker',
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -1093,7 +1098,8 @@ class TestClusterConductorWithK8s(base.TestCase):
'boot_volume_size': '60',
'boot_volume_type': 'lvmdriver-1',
'etcd_volume_type': 'lvmdriver-1',
'role': 'master'
'master_role': 'master',
'worker_role': 'worker',
}
self.assertEqual(expected, definition)
self.assertEqual(

View File

@ -188,7 +188,6 @@ class TestClusterConductorWithMesos(base.TestCase):
'verify_ca': True,
'openstack_ca': '',
'nodes_affinity_policy': 'soft-anti-affinity',
'role': 'master'
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -255,7 +254,6 @@ class TestClusterConductorWithMesos(base.TestCase):
'slave_flavor': 'flavor_id',
'openstack_ca': '',
'nodes_affinity_policy': 'soft-anti-affinity',
'role': 'master'
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -327,7 +325,6 @@ class TestClusterConductorWithMesos(base.TestCase):
'verify_ca': True,
'openstack_ca': '',
'nodes_affinity_policy': 'soft-anti-affinity',
'role': 'master'
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -403,7 +400,6 @@ class TestClusterConductorWithMesos(base.TestCase):
'verify_ca': True,
'openstack_ca': '',
'nodes_affinity_policy': 'soft-anti-affinity',
'role': 'master'
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -477,7 +473,6 @@ class TestClusterConductorWithMesos(base.TestCase):
'verify_ca': True,
'openstack_ca': '',
'nodes_affinity_policy': 'soft-anti-affinity',
'role': 'master'
}
self.assertEqual(expected, definition)
self.assertEqual(

View File

@ -213,7 +213,6 @@ class TestClusterConductorWithSwarm(base.TestCase):
'verify_ca': True,
'openstack_ca': '',
'nodes_affinity_policy': 'soft-anti-affinity',
'role': u'master',
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -300,7 +299,6 @@ class TestClusterConductorWithSwarm(base.TestCase):
'verify_ca': True,
'openstack_ca': '',
'nodes_affinity_policy': 'soft-anti-affinity',
'role': u'master',
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -382,7 +380,6 @@ class TestClusterConductorWithSwarm(base.TestCase):
'node_flavor': 'flavor_id',
'openstack_ca': '',
'nodes_affinity_policy': 'soft-anti-affinity',
'role': 'master'
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -467,7 +464,6 @@ class TestClusterConductorWithSwarm(base.TestCase):
'verify_ca': True,
'openstack_ca': '',
'nodes_affinity_policy': 'soft-anti-affinity',
'role': u'master',
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -556,7 +552,6 @@ class TestClusterConductorWithSwarm(base.TestCase):
'verify_ca': True,
'openstack_ca': '',
'nodes_affinity_policy': 'soft-anti-affinity',
'role': u'master',
}
self.assertEqual(expected, definition)
self.assertEqual(
@ -643,7 +638,6 @@ class TestClusterConductorWithSwarm(base.TestCase):
'verify_ca': True,
'openstack_ca': '',
'nodes_affinity_policy': 'soft-anti-affinity',
'role': u'master',
}
self.assertEqual(expected, definition)
self.assertEqual(