diff options
Diffstat (limited to 'openstackclient/compute/v2')
| -rw-r--r-- | openstackclient/compute/v2/service.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/openstackclient/compute/v2/service.py b/openstackclient/compute/v2/service.py index 3c062724..1cc91711 100644 --- a/openstackclient/compute/v2/service.py +++ b/openstackclient/compute/v2/service.py @@ -95,14 +95,24 @@ class SetService(command.Command): dest="enabled", help="Disable a service", action="store_false") + parser.add_argument( + "--disable-reason", + default=None, + metavar="<reason>", + help="Reason for disabling the service (in quotas)" + ) return parser def take_action(self, parsed_args): compute_client = self.app.client_manager.compute - - if parsed_args.enabled: - action = compute_client.services.enable + cs = compute_client.services + + if not parsed_args.enabled: + if parsed_args.disable_reason: + cs.disable_log_reason(parsed_args.host, + parsed_args.service, + parsed_args.disable_reason) + else: + cs.disable(parsed_args.host, parsed_args.service) else: - action = compute_client.services.disable - - action(parsed_args.host, parsed_args.service) + cs.enable(parsed_args.host, parsed_args.service) |
