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