Merge "Consistency of the --all argument for snapshots"
This commit is contained in:
commit
fcc1c0d68a
@ -60,6 +60,11 @@ List snapshots
|
|||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
os snapshot list
|
os snapshot list
|
||||||
|
[--all-projects]
|
||||||
|
|
||||||
|
.. option:: --all-projects
|
||||||
|
|
||||||
|
Include all projects (admin only)
|
||||||
|
|
||||||
.. option:: --long
|
.. option:: --long
|
||||||
|
|
||||||
|
@ -225,6 +225,7 @@ class TestSnapshotList(TestSnapshot):
|
|||||||
def test_snapshot_list_without_options(self):
|
def test_snapshot_list_without_options(self):
|
||||||
arglist = []
|
arglist = []
|
||||||
verifylist = [
|
verifylist = [
|
||||||
|
('all_projects', False),
|
||||||
("long", False)
|
("long", False)
|
||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
@ -243,7 +244,7 @@ class TestSnapshotList(TestSnapshot):
|
|||||||
|
|
||||||
def test_snapshot_list_with_options(self):
|
def test_snapshot_list_with_options(self):
|
||||||
arglist = ["--long"]
|
arglist = ["--long"]
|
||||||
verifylist = [("long", True)]
|
verifylist = [("long", True), ('all_projects', False)]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
@ -263,3 +264,33 @@ class TestSnapshotList(TestSnapshot):
|
|||||||
volume_fakes.EXPECTED_SNAPSHOT.get("properties")
|
volume_fakes.EXPECTED_SNAPSHOT.get("properties")
|
||||||
),)
|
),)
|
||||||
self.assertEqual(datalist, tuple(data))
|
self.assertEqual(datalist, tuple(data))
|
||||||
|
|
||||||
|
def test_snapshot_list_all_projects(self):
|
||||||
|
arglist = [
|
||||||
|
'--all-projects',
|
||||||
|
]
|
||||||
|
verifylist = [
|
||||||
|
('long', False),
|
||||||
|
('all_projects', True)
|
||||||
|
]
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
|
collist = [
|
||||||
|
"ID",
|
||||||
|
"Name",
|
||||||
|
"Description",
|
||||||
|
"Status",
|
||||||
|
"Size"
|
||||||
|
]
|
||||||
|
self.assertEqual(collist, columns)
|
||||||
|
|
||||||
|
datalist = ((
|
||||||
|
volume_fakes.snapshot_id,
|
||||||
|
volume_fakes.snapshot_name,
|
||||||
|
volume_fakes.snapshot_description,
|
||||||
|
"available",
|
||||||
|
volume_fakes.snapshot_size
|
||||||
|
), )
|
||||||
|
self.assertEqual(datalist, tuple(data))
|
||||||
|
@ -110,6 +110,12 @@ class ListSnapshot(lister.Lister):
|
|||||||
|
|
||||||
def get_parser(self, prog_name):
|
def get_parser(self, prog_name):
|
||||||
parser = super(ListSnapshot, self).get_parser(prog_name)
|
parser = super(ListSnapshot, self).get_parser(prog_name)
|
||||||
|
parser.add_argument(
|
||||||
|
'--all-projects',
|
||||||
|
action='store_true',
|
||||||
|
default=False,
|
||||||
|
help='Include all projects (admin only)',
|
||||||
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--long',
|
'--long',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
@ -157,7 +163,12 @@ class ListSnapshot(lister.Lister):
|
|||||||
# Just forget it if there's any trouble
|
# Just forget it if there's any trouble
|
||||||
pass
|
pass
|
||||||
|
|
||||||
data = self.app.client_manager.volume.volume_snapshots.list()
|
search_opts = {
|
||||||
|
'all_tenants': parsed_args.all_projects,
|
||||||
|
}
|
||||||
|
|
||||||
|
data = self.app.client_manager.volume.volume_snapshots.list(
|
||||||
|
search_opts=search_opts)
|
||||||
return (column_headers,
|
return (column_headers,
|
||||||
(utils.get_item_properties(
|
(utils.get_item_properties(
|
||||||
s, columns,
|
s, columns,
|
||||||
|
@ -107,6 +107,12 @@ class ListSnapshot(lister.Lister):
|
|||||||
|
|
||||||
def get_parser(self, prog_name):
|
def get_parser(self, prog_name):
|
||||||
parser = super(ListSnapshot, self).get_parser(prog_name)
|
parser = super(ListSnapshot, self).get_parser(prog_name)
|
||||||
|
parser.add_argument(
|
||||||
|
'--all-projects',
|
||||||
|
action='store_true',
|
||||||
|
default=False,
|
||||||
|
help='Include all projects (admin only)',
|
||||||
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--long',
|
'--long',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
@ -149,7 +155,12 @@ class ListSnapshot(lister.Lister):
|
|||||||
# Just forget it if there's any trouble
|
# Just forget it if there's any trouble
|
||||||
pass
|
pass
|
||||||
|
|
||||||
data = self.app.client_manager.volume.volume_snapshots.list()
|
search_opts = {
|
||||||
|
'all_tenants': parsed_args.all_projects,
|
||||||
|
}
|
||||||
|
|
||||||
|
data = self.app.client_manager.volume.volume_snapshots.list(
|
||||||
|
search_opts=search_opts)
|
||||||
return (column_headers,
|
return (column_headers,
|
||||||
(utils.get_item_properties(
|
(utils.get_item_properties(
|
||||||
s, columns,
|
s, columns,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user