summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2019-06-05 03:25:46 +0000
committerGerrit Code Review <review@openstack.org>2019-06-05 03:25:46 +0000
commit95626f1acb053b3c7e1e9c1cf6e3c0f47a91dba8 (patch)
tree73bc8cfccb8887588f7a3b52414054449dbb3fde /openstackclient/compute
parent91bc0f35def33d49d293be4bd517678222c6b791 (diff)
parentc77a9621beaf7748e5ccfecb3ac37fa9602c5bfe (diff)
downloadpython-openstackclient-95626f1acb053b3c7e1e9c1cf6e3c0f47a91dba8.tar.gz
Merge "Compute: Add description support for server"
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/server.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index cb9f8d43..21b3427a 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -540,6 +540,12 @@ class CreateServer(command.ShowOne):
help=_('User data file to serve from the metadata server'),
)
parser.add_argument(
+ '--description',
+ metavar='<description>',
+ help=_('Set description for the server (supported by '
+ '--os-compute-api-version 2.19 or above)'),
+ )
+ parser.add_argument(
'--availability-zone',
metavar='<zone-name>',
help=_('Select an availability zone for the server'),
@@ -749,6 +755,12 @@ class CreateServer(command.ShowOne):
"exception": e}
)
+ if parsed_args.description:
+ if compute_client.api_version < api_versions.APIVersion("2.19"):
+ msg = _("Description is not supported for "
+ "--os-compute-api-version less than 2.19")
+ raise exceptions.CommandError(msg)
+
block_device_mapping_v2 = []
if volume:
block_device_mapping_v2 = [{'uuid': volume,
@@ -909,6 +921,9 @@ class CreateServer(command.ShowOne):
scheduler_hints=hints,
config_drive=config_drive)
+ if parsed_args.description:
+ boot_kwargs['description'] = parsed_args.description
+
LOG.debug('boot_args: %s', boot_args)
LOG.debug('boot_kwargs: %s', boot_kwargs)
@@ -1601,6 +1616,12 @@ class RebuildServer(command.ShowOne):
'(repeat option to set multiple values)'),
)
parser.add_argument(
+ '--description',
+ metavar='<description>',
+ help=_('New description for the server (supported by '
+ '--os-compute-api-version 2.19 or above'),
+ )
+ parser.add_argument(
'--wait',
action='store_true',
help=_('Wait for rebuild to complete'),
@@ -1644,6 +1665,12 @@ class RebuildServer(command.ShowOne):
kwargs = {}
if parsed_args.property:
kwargs['meta'] = parsed_args.property
+ if parsed_args.description:
+ if server.api_version < api_versions.APIVersion("2.19"):
+ msg = _("Description is not supported for "
+ "--os-compute-api-version less than 2.19")
+ raise exceptions.CommandError(msg)
+ kwargs['description'] = parsed_args.description
if parsed_args.key_name or parsed_args.key_unset:
if compute_client.api_version < api_versions.APIVersion('2.54'):
@@ -2065,6 +2092,12 @@ class SetServer(command.Command):
choices=['active', 'error'],
help=_('New server state (valid value: active, error)'),
)
+ parser.add_argument(
+ '--description',
+ metavar='<description>',
+ help=_('New server description (supported by '
+ '--os-compute-api-version 2.19 or above)'),
+ )
return parser
def take_action(self, parsed_args):
@@ -2096,6 +2129,13 @@ class SetServer(command.Command):
msg = _("Passwords do not match, password unchanged")
raise exceptions.CommandError(msg)
+ if parsed_args.description:
+ if server.api_version < api_versions.APIVersion("2.19"):
+ msg = _("Description is not supported for "
+ "--os-compute-api-version less than 2.19")
+ raise exceptions.CommandError(msg)
+ server.update(description=parsed_args.description)
+
class ShelveServer(command.Command):
_description = _("Shelve server(s)")
@@ -2455,6 +2495,13 @@ class UnsetServer(command.Command):
help=_('Property key to remove from server '
'(repeat option to remove multiple values)'),
)
+ parser.add_argument(
+ '--description',
+ dest='description',
+ action='store_true',
+ help=_('Unset server description (supported by '
+ '--os-compute-api-version 2.19 or above)'),
+ )
return parser
def take_action(self, parsed_args):
@@ -2470,6 +2517,16 @@ class UnsetServer(command.Command):
parsed_args.property,
)
+ if parsed_args.description:
+ if compute_client.api_version < api_versions.APIVersion("2.19"):
+ msg = _("Description is not supported for "
+ "--os-compute-api-version less than 2.19")
+ raise exceptions.CommandError(msg)
+ compute_client.servers.update(
+ server,
+ description="",
+ )
+
class UnshelveServer(command.Command):
_description = _("Unshelve server(s)")