summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorzhu.boxiang <zhu.boxiang@99cloud.net>2019-07-08 14:48:23 +0800
committerDean Troyer <dtroyer@gmail.com>2019-07-19 15:45:18 +0000
commit340f25fa14d42205a4134ce4cba47792764b8542 (patch)
treecba4e5906dfb40f07077ac68ca5d5deec4909cc4 /openstackclient/compute
parentd270174a217b0c495d33a1c9aedd85af6490dc41 (diff)
downloadpython-openstackclient-340f25fa14d42205a4134ce4cba47792764b8542.tar.gz
Add host and hypervisor_hostname to create servers
Adds the --host and --hypervisor-hostname options to ``openstack server create`` CLI. Depends-On: https://review.opendev.org/670558 Change-Id: If188c3d96fa506dbe62ef256418f2f9bca1520c2 Blueprint: add-host-and-hypervisor-hostname-flag-to-create-server
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/server.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 2792e315..240c7cb2 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -554,6 +554,20 @@ class CreateServer(command.ShowOne):
help=_('Select an availability zone for the server'),
)
parser.add_argument(
+ '--host',
+ metavar='<host>',
+ help=_('Requested host to create servers. Admin only '
+ 'by default. (supported by --os-compute-api-version 2.74 '
+ 'or above)'),
+ )
+ parser.add_argument(
+ '--hypervisor-hostname',
+ metavar='<hypervisor-hostname>',
+ help=_('Requested hypervisor hostname to create servers. Admin '
+ 'only by default. (supported by --os-compute-api-version '
+ '2.74 or above)'),
+ )
+ parser.add_argument(
'--block-device-mapping',
metavar='<dev-name=mapping>',
action=parseractions.KeyValueAction,
@@ -927,6 +941,21 @@ class CreateServer(command.ShowOne):
if parsed_args.description:
boot_kwargs['description'] = parsed_args.description
+ if parsed_args.host:
+ if compute_client.api_version < api_versions.APIVersion("2.74"):
+ msg = _("Specifying --host is not supported for "
+ "--os-compute-api-version less than 2.74")
+ raise exceptions.CommandError(msg)
+ boot_kwargs['host'] = parsed_args.host
+
+ if parsed_args.hypervisor_hostname:
+ if compute_client.api_version < api_versions.APIVersion("2.74"):
+ msg = _("Specifying --hypervisor-hostname is not supported "
+ "for --os-compute-api-version less than 2.74")
+ raise exceptions.CommandError(msg)
+ boot_kwargs['hypervisor_hostname'] = (
+ parsed_args.hypervisor_hostname)
+
LOG.debug('boot_args: %s', boot_args)
LOG.debug('boot_kwargs: %s', boot_kwargs)