diff options
| author | Chen <dstbtgagt@foxmail.com> | 2018-05-15 15:25:40 +0800 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2019-05-17 20:56:45 +0000 |
| commit | c77a9621beaf7748e5ccfecb3ac37fa9602c5bfe (patch) | |
| tree | 37c2429f9c7b3949065c01730bfd7970aed01cb1 /openstackclient/compute | |
| parent | 0a2b01fb40624af8c5b611843c120f024255d083 (diff) | |
| download | python-openstackclient-c77a9621beaf7748e5ccfecb3ac37fa9602c5bfe.tar.gz | |
Compute: Add description support for server
This patch adds functionality to configure server's description with:
1 server create
2 server set
3 server unset
4 server rebuild
Change-Id: Ic06d97b29e51828b29d7ac5172645c288e4ada9e
Story: 2002005
Task: 19640
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/server.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 4f672428..4bf3b90a 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -503,6 +503,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'), @@ -712,6 +718,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, @@ -872,6 +884,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) @@ -1530,6 +1545,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'), @@ -1557,6 +1578,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 server = server.rebuild(image, parsed_args.password, **kwargs) if parsed_args.wait: @@ -1968,6 +1995,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): @@ -1999,6 +2032,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)") @@ -2358,6 +2398,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): @@ -2373,6 +2420,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)") |
