diff --git a/magnum/conductor/template_definition.py b/magnum/conductor/template_definition.py index 25ef6c06b4..4fcaa42e80 100644 --- a/magnum/conductor/template_definition.py +++ b/magnum/conductor/template_definition.py @@ -555,7 +555,9 @@ class AtomicSwarmTemplateDefinition(BaseTemplateDefinition): param_type=str) self.add_parameter('number_of_nodes', bay_attr='node_count') - self.add_parameter('server_flavor', + self.add_parameter('master_flavor', + baymodel_attr='master_flavor_id') + self.add_parameter('node_flavor', baymodel_attr='flavor_id') self.add_parameter('docker_volume_size', baymodel_attr='docker_volume_size') diff --git a/magnum/templates/swarm/swarmcluster.yaml b/magnum/templates/swarm/swarmcluster.yaml index 5b07c24d84..56b3be16a8 100644 --- a/magnum/templates/swarm/swarmcluster.yaml +++ b/magnum/templates/swarm/swarmcluster.yaml @@ -45,10 +45,15 @@ parameters: default: fedora-atomic description: glance image used to boot the server - server_flavor: + master_flavor: type: string default: m1.small - description: flavor to use when booting the server + description: flavor to use when booting the swarm master + + node_flavor: + type: string + default: m1.small + description: flavor to use when booting the swarm node dns_nameserver: type: string @@ -264,7 +269,7 @@ resources: properties: ssh_key_name: {get_param: ssh_key_name} server_image: {get_param: server_image} - server_flavor: {get_param: server_flavor} + server_flavor: {get_param: master_flavor} fixed_network_id: {get_resource: fixed_network} fixed_subnet_id: {get_resource: fixed_subnet} external_network: {get_param: external_network} @@ -301,7 +306,7 @@ resources: properties: ssh_key_name: {get_param: ssh_key_name} server_image: {get_param: server_image} - server_flavor: {get_param: server_flavor} + server_flavor: {get_param: node_flavor} docker_volume_size: {get_param: docker_volume_size} fixed_network_id: {get_resource: fixed_network} fixed_subnet_id: {get_resource: fixed_subnet} diff --git a/magnum/tests/unit/conductor/handlers/test_swarm_bay_conductor.py b/magnum/tests/unit/conductor/handlers/test_swarm_bay_conductor.py index 8917e15672..cd531822f8 100644 --- a/magnum/tests/unit/conductor/handlers/test_swarm_bay_conductor.py +++ b/magnum/tests/unit/conductor/handlers/test_swarm_bay_conductor.py @@ -28,6 +28,7 @@ class TestBayConductorWithSwarm(base.TestCase): self.baymodel_dict = { 'image_id': 'image_id', 'flavor_id': 'flavor_id', + 'master_flavor_id': 'master_flavor_id', 'keypair_id': 'keypair_id', 'dns_nameserver': 'dns_nameserver', 'docker_volume_size': 20, @@ -83,7 +84,8 @@ class TestBayConductorWithSwarm(base.TestCase): 'external_network': 'external_network_id', 'dns_nameserver': 'dns_nameserver', 'server_image': 'image_id', - 'server_flavor': 'flavor_id', + 'master_flavor': 'master_flavor_id', + 'node_flavor': 'flavor_id', 'number_of_masters': 1, 'number_of_nodes': 1, 'docker_volume_size': 20, @@ -110,7 +112,8 @@ class TestBayConductorWithSwarm(base.TestCase): not_required = ['image_id', 'flavor_id', 'dns_nameserver', 'docker_volume_size', 'fixed_network', 'http_proxy', - 'https_proxy', 'no_proxy', 'network_driver'] + 'https_proxy', 'no_proxy', 'network_driver', + 'master_flavor_id'] for key in not_required: self.baymodel_dict[key] = None self.bay_dict['discovery_url'] = 'https://discovery.etcd.io/test'