Support "--long" option in ListService
Add "--long" option in ListService so that compute service disabled reason can be showed. Change-Id: I1ace8f1c4e4efe0a1a8f6710425d73eb5db9e5e1 Closes-Bug: #1556815
This commit is contained in:
parent
76081239d2
commit
8664a2f8ae
@ -31,6 +31,7 @@ List service command
|
||||
os compute service list
|
||||
[--host <host>]
|
||||
[--service <service>]
|
||||
[--long]
|
||||
|
||||
.. _compute-service-list:
|
||||
.. describe:: --host <host>
|
||||
@ -41,6 +42,10 @@ List service command
|
||||
|
||||
Name of service
|
||||
|
||||
.. describe:: --long
|
||||
|
||||
List additional fields in output
|
||||
|
||||
|
||||
compute service set
|
||||
-------------------
|
||||
|
@ -49,19 +49,37 @@ class ListService(command.Lister):
|
||||
"--service",
|
||||
metavar="<service>",
|
||||
help="Name of service")
|
||||
parser.add_argument(
|
||||
"--long",
|
||||
action="store_true",
|
||||
default=False,
|
||||
help="List additional fields in output"
|
||||
)
|
||||
return parser
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
compute_client = self.app.client_manager.compute
|
||||
columns = (
|
||||
"Id",
|
||||
"Binary",
|
||||
"Host",
|
||||
"Zone",
|
||||
"Status",
|
||||
"State",
|
||||
"Updated At"
|
||||
)
|
||||
if parsed_args.long:
|
||||
columns = (
|
||||
"Id",
|
||||
"Binary",
|
||||
"Host",
|
||||
"Zone",
|
||||
"Status",
|
||||
"State",
|
||||
"Updated At",
|
||||
"Disabled Reason"
|
||||
)
|
||||
else:
|
||||
columns = (
|
||||
"Id",
|
||||
"Binary",
|
||||
"Host",
|
||||
"Zone",
|
||||
"Status",
|
||||
"State",
|
||||
"Updated At"
|
||||
)
|
||||
data = compute_client.services.list(parsed_args.host,
|
||||
parsed_args.service)
|
||||
return (columns,
|
||||
|
@ -79,10 +79,12 @@ QUOTA_data = tuple(QUOTA[x] for x in sorted(QUOTA))
|
||||
service_host = 'host_test'
|
||||
service_binary = 'compute_test'
|
||||
service_status = 'enabled'
|
||||
service_disabled_reason = 'earthquake'
|
||||
SERVICE = {
|
||||
'host': service_host,
|
||||
'binary': service_binary,
|
||||
'status': service_status,
|
||||
'disabled_reason': service_disabled_reason,
|
||||
}
|
||||
|
||||
|
||||
|
@ -85,13 +85,37 @@ class TestServiceList(TestService):
|
||||
# In base command class Lister in cliff, abstract method take_action()
|
||||
# returns a tuple containing the column names and an iterable
|
||||
# containing the data to be listed.
|
||||
self.cmd.take_action(parsed_args)
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
self.service_mock.list.assert_called_with(
|
||||
compute_fakes.service_host,
|
||||
compute_fakes.service_binary,
|
||||
)
|
||||
|
||||
self.assertNotIn("Disabled Reason", columns)
|
||||
self.assertNotIn(compute_fakes.service_disabled_reason, list(data)[0])
|
||||
|
||||
def test_service_list_with_long_option(self):
|
||||
arglist = [
|
||||
'--host', compute_fakes.service_host,
|
||||
'--service', compute_fakes.service_binary,
|
||||
'--long'
|
||||
]
|
||||
verifylist = [
|
||||
('host', compute_fakes.service_host),
|
||||
('service', compute_fakes.service_binary),
|
||||
('long', True)
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
# In base command class Lister in cliff, abstract method take_action()
|
||||
# returns a tuple containing the column names and an iterable
|
||||
# containing the data to be listed.
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
self.assertIn("Disabled Reason", columns)
|
||||
self.assertIn(compute_fakes.service_disabled_reason, list(data)[0])
|
||||
|
||||
|
||||
class TestServiceSet(TestService):
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user