Fix master_lb_enabled for cluster creation
The master_lb_enabled is not really working for disabled case. This patch fix it by introducing the --master-lb-disabled param. Story: 2008655 Task: 41924 Change-Id: I90db6d91dd3887fbec629ce5037d6a7e6f7c05e4
This commit is contained in:
parent
d549651f6d
commit
282753384d
|
@ -159,10 +159,16 @@ class CreateCluster(command.Command):
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--master-lb-enabled',
|
'--master-lb-enabled',
|
||||||
dest='master_lb_enabled',
|
dest='master_lb_enabled',
|
||||||
action='store_true',
|
action='append_const',
|
||||||
default=False,
|
default=[],
|
||||||
help=_('Indicates whether created clusters should have '
|
const=False,
|
||||||
'a loadbalancer for API.'))
|
help=_('Enable master LB creation on the new cluster'))
|
||||||
|
parser.add_argument(
|
||||||
|
'--master-lb-disabled',
|
||||||
|
dest='master_lb_enabled',
|
||||||
|
action='append_const',
|
||||||
|
const=False,
|
||||||
|
help=_('Disable master LB creation on the new cluster'))
|
||||||
|
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
@ -215,6 +221,20 @@ class CreateCluster(command.Command):
|
||||||
if parsed_args.master_lb_enabled:
|
if parsed_args.master_lb_enabled:
|
||||||
args["master_lb_enabled"] = parsed_args.master_lb_enabled
|
args["master_lb_enabled"] = parsed_args.master_lb_enabled
|
||||||
|
|
||||||
|
if len(parsed_args.master_lb_enabled) > 1:
|
||||||
|
raise exceptions.InvalidAttribute(
|
||||||
|
'--master-lb-enabled and '
|
||||||
|
'--master-lb-disabled are '
|
||||||
|
'mutually exclusive and '
|
||||||
|
'should be specified only once.')
|
||||||
|
elif len(parsed_args.master_lb_enabled) == 1:
|
||||||
|
args['master_lb_enabled'] = parsed_args.master_lb_enabled[0]
|
||||||
|
if (not args['master_lb_enabled'] and
|
||||||
|
parsed_args.master_count > 1):
|
||||||
|
raise exceptions.InvalidAttribute(
|
||||||
|
'Master node count can only be one if master '
|
||||||
|
'loadbalancer is disabled.')
|
||||||
|
|
||||||
cluster = mag_client.clusters.create(**args)
|
cluster = mag_client.clusters.create(**args)
|
||||||
print("Request to create cluster %s accepted"
|
print("Request to create cluster %s accepted"
|
||||||
% cluster.uuid)
|
% cluster.uuid)
|
||||||
|
|
|
@ -125,6 +125,25 @@ class TestClusterCreate(TestCluster):
|
||||||
self.cmd.take_action(parsed_args)
|
self.cmd.take_action(parsed_args)
|
||||||
self.clusters_mock.create.assert_called_with(**expected_args)
|
self.clusters_mock.create.assert_called_with(**expected_args)
|
||||||
|
|
||||||
|
def test_cluster_create_with_lb_disabled(self):
|
||||||
|
"""Verifies master lb disabled properly parsed."""
|
||||||
|
|
||||||
|
expected_args = self._default_args
|
||||||
|
expected_args['master_lb_enabled'] = False
|
||||||
|
arglist = [
|
||||||
|
'--cluster-template', self._cluster.cluster_template_id,
|
||||||
|
'--master-lb-disabled',
|
||||||
|
self._cluster.name
|
||||||
|
]
|
||||||
|
verifylist = [
|
||||||
|
('cluster_template', self._cluster.cluster_template_id),
|
||||||
|
('master_lb_enabled', [False]),
|
||||||
|
('name', self._cluster.name)
|
||||||
|
]
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
self.cmd.take_action(parsed_args)
|
||||||
|
self.clusters_mock.create.assert_called_with(**expected_args)
|
||||||
|
|
||||||
|
|
||||||
class TestClusterDelete(TestCluster):
|
class TestClusterDelete(TestCluster):
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue