summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorjichenjc <jichenjc@cn.ibm.com>2016-02-22 13:38:44 +0800
committerSteve Martinelli <stevemar@ca.ibm.com>2016-03-09 05:19:41 +0000
commitb711c3a0ca622389b7f41021eb8ecd5d633b81d7 (patch)
treebfc1c8c18ab4d58e91c3a4c9bc78614269ce269a /openstackclient/compute
parentf9add0559c52bf3d0866cfbd320982c5143f6ef6 (diff)
downloadpython-openstackclient-b711c3a0ca622389b7f41021eb8ecd5d633b81d7.tar.gz
Add --reason for disable service
disbale service allow a reason to be input as disable reason. This patch add support for it. Change-Id: I59622c3970e055ebd46bf03c33c864b6d064db28
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/service.py22
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)