Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions magnum/api/validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,12 @@ def enforce_cluster_master_size_supported():
@decorator.decorator
def wrapper(func, *args, **kwargs):
cluster = args[1]
cluster_driver = driver.Driver.get_driver_for_cluster(
pecan.request.context, cluster)
cluster_template = objects.ClusterTemplate.get(
pecan.request.context, cluster.cluster_template_id)
cluster_type = (cluster_template.server_type,
cluster_template.cluster_distro,
cluster_template.coe)
cluster_driver = driver.Driver.get_driver(*cluster_type)
# Call into the driver to validate initial master size
cluster_driver.validate_master_size(cluster.master_count)
return func(*args, **kwargs)
Expand Down
6 changes: 3 additions & 3 deletions magnum/tests/unit/api/controllers/v1/test_cluster.py
Original file line number Diff line number Diff line change
Expand Up @@ -706,10 +706,10 @@ def test_create_cluster_with_non_existent_cluster_template_name(self):
self.assertEqual(400, response.status_int)
self.assertTrue(response.json['errors'])

def test_create_cluster_with_cluster_template_name(self):
def test_create_cluster_with_cluster_template_name_as_id(self):
modelname = self.cluster_template.name
bdict = apiutils.cluster_post_data(name=modelname)
response = self.post_json('/clusters', bdict, expect_errors=True)
bdict = apiutils.cluster_post_data(cluster_template_id=modelname)
response = self.post_json('/clusters', bdict)
self.assertEqual('application/json', response.content_type)
self.assertEqual(202, response.status_int)

Expand Down