Update some parameters of server create cmd
Change-Id: Ibb7d2c53bf6ec4ee293bfdaeb73ce1f980df4170
This commit is contained in:
parent
4fd4953b80
commit
6ad7a2efdf
@ -80,13 +80,13 @@ class CreateServer(command.ShowOne):
|
||||
"--flavor",
|
||||
metavar="<flavor>",
|
||||
required=True,
|
||||
help=_("ID or Name of baremetal server flavor"),
|
||||
help=_('Create server with this flavor (name or ID)'),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--image",
|
||||
metavar="<image>",
|
||||
required=True,
|
||||
help=_("ID or Name of image"),
|
||||
help=_('Create server boot disk from this image (name or ID)'),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--nic",
|
||||
@ -96,7 +96,7 @@ class CreateServer(command.ShowOne):
|
||||
optional_keys=['port-type'],
|
||||
action=parseractions.MultiKeyValueAction,
|
||||
help=_("Create a NIC on the server. "
|
||||
"(repeat option to create multiple NICs)"),
|
||||
"Specify option multiple times to create multiple NICs."),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--description",
|
||||
@ -106,7 +106,7 @@ class CreateServer(command.ShowOne):
|
||||
parser.add_argument(
|
||||
"--availability-zone",
|
||||
metavar="<zone-name>",
|
||||
help=_("The availability zone for the baremetal server placement"),
|
||||
help=_('Select an availability zone for the server'),
|
||||
)
|
||||
parser.add_argument(
|
||||
'--user-data',
|
||||
@ -114,21 +114,25 @@ class CreateServer(command.ShowOne):
|
||||
help=_('User data file to inject into the instance'),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--extra",
|
||||
metavar="<extra>",
|
||||
help=_("The extra information for baremetal server"),
|
||||
'--property',
|
||||
metavar='<key=value>',
|
||||
action=parseractions.KeyValueAction,
|
||||
help=_('Set a property on this server '
|
||||
'(repeat option to set multiple values)'),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--min-count",
|
||||
"--min",
|
||||
metavar='<count>',
|
||||
type=int,
|
||||
metavar="<number>",
|
||||
help=_("Create at least <number> servers (limited by quota)"),
|
||||
default=1,
|
||||
help=_('Minimum number of servers to launch (default=1)'),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--max-count",
|
||||
'--max',
|
||||
metavar='<count>',
|
||||
type=int,
|
||||
metavar="<number>",
|
||||
help=_("Create up to <number> servers (limited by quota)"),
|
||||
default=1,
|
||||
help=_('Maximum number of servers to launch (default=1)'),
|
||||
)
|
||||
|
||||
return parser
|
||||
@ -150,6 +154,16 @@ class CreateServer(command.ShowOne):
|
||||
nic['net_id'] = nic['net-id']
|
||||
del nic['net-id']
|
||||
|
||||
if parsed_args.min > parsed_args.max:
|
||||
msg = _("min instances should be <= max instances")
|
||||
raise exceptions.CommandError(msg)
|
||||
if parsed_args.min < 1:
|
||||
msg = _("min instances should be > 0")
|
||||
raise exceptions.CommandError(msg)
|
||||
if parsed_args.max < 1:
|
||||
msg = _("max instances should be > 0")
|
||||
raise exceptions.CommandError(msg)
|
||||
|
||||
userdata = None
|
||||
if parsed_args.user_data:
|
||||
try:
|
||||
@ -169,9 +183,9 @@ class CreateServer(command.ShowOne):
|
||||
networks=parsed_args.nic,
|
||||
availability_zone=parsed_args.availability_zone,
|
||||
userdata=userdata,
|
||||
extra=parsed_args.extra,
|
||||
min_count=parsed_args.min_count,
|
||||
max_count=parsed_args.max_count
|
||||
extra=parsed_args.property,
|
||||
min_count=parsed_args.min,
|
||||
max_count=parsed_args.max
|
||||
)
|
||||
|
||||
try:
|
||||
|
@ -37,6 +37,8 @@ class TestServer(test_base.TestBaremetalComputeV1):
|
||||
'image_uuid',
|
||||
'instance_type_uuid',
|
||||
'links',
|
||||
'max_count',
|
||||
'min_count',
|
||||
'name',
|
||||
'network_info',
|
||||
'updated_at',
|
||||
@ -49,6 +51,8 @@ class TestServer(test_base.TestBaremetalComputeV1):
|
||||
fake_server.image_uuid,
|
||||
fake_server.instance_type_uuid,
|
||||
fake_server.links,
|
||||
1,
|
||||
1,
|
||||
fake_server.name,
|
||||
fake_server.network_info,
|
||||
fake_server.updated_at,
|
||||
@ -86,7 +90,9 @@ class TestServerCreate(TestServer):
|
||||
called_data = {'name': name,
|
||||
'image_uuid': image_id,
|
||||
'instance_type_uuid': flavor_id,
|
||||
'networks': called_networks}
|
||||
'networks': called_networks,
|
||||
'min_count': 1,
|
||||
'max_count': 1}
|
||||
for network in networks:
|
||||
network_id = network.get('net-id')
|
||||
port_type = network.get('port-type')
|
||||
@ -108,9 +114,9 @@ class TestServerCreate(TestServer):
|
||||
verifylist.append(('availability_zone', availability_zone))
|
||||
called_data['availability_zone'] = availability_zone
|
||||
if extra:
|
||||
arglist.extend(['--extra', extra])
|
||||
verifylist.append(('extra', extra))
|
||||
called_data['extra'] = extra
|
||||
arglist.extend(['--property', extra])
|
||||
verifylist.append(('property', {'key1': 'test'}))
|
||||
called_data['extra'] = {'key1': 'test'}
|
||||
|
||||
flavor_obj = mock.Mock()
|
||||
flavor_obj.uuid = flavor_id
|
||||
@ -134,6 +140,8 @@ class TestServerCreate(TestServer):
|
||||
fk_server.image_uuid,
|
||||
fk_server.instance_type_uuid,
|
||||
fk_server.links,
|
||||
1,
|
||||
1,
|
||||
fk_server.name,
|
||||
fk_server.network_info,
|
||||
fk_server.updated_at,
|
||||
|
Loading…
x
Reference in New Issue
Block a user