Add per policy container count to account stat output
When the account response includes 'X-Storage-Policy-X-Container-Count' the command helpers will stick a helpful extra line in the output. If the swift response doesn't include the information the behavior is unchanged. Change-Id: Iaaa55d207ebe6a9c16e52adb56eb858c57cfb26a
This commit is contained in:
parent
8f1b394325
commit
40857cfe4c
@ -45,6 +45,14 @@ def stat_account(conn, options):
|
|||||||
policies.add(policy_name)
|
policies.add(policy_name)
|
||||||
|
|
||||||
for policy in policies:
|
for policy in policies:
|
||||||
|
container_count_header = (POLICY_HEADER_PREFIX + policy +
|
||||||
|
'-container-count')
|
||||||
|
if container_count_header in headers:
|
||||||
|
items.append(
|
||||||
|
('Containers in policy "' + policy + '"',
|
||||||
|
prt_bytes(headers[container_count_header],
|
||||||
|
options['human']).lstrip())
|
||||||
|
)
|
||||||
items.extend((
|
items.extend((
|
||||||
('Objects in policy "' + policy + '"',
|
('Objects in policy "' + policy + '"',
|
||||||
prt_bytes(
|
prt_bytes(
|
||||||
|
@ -124,6 +124,32 @@ Objects in policy "nada": 1000000
|
|||||||
"""
|
"""
|
||||||
self.assertOut(expected)
|
self.assertOut(expected)
|
||||||
|
|
||||||
|
def test_stat_account_policy_stat_with_container_counts(self):
|
||||||
|
# stub head_account
|
||||||
|
stub_headers = {
|
||||||
|
'x-account-container-count': 42,
|
||||||
|
'x-account-object-count': 1000000,
|
||||||
|
'x-account-bytes-used': 2 ** 30,
|
||||||
|
'x-account-storage-policy-nada-container-count': 10,
|
||||||
|
'x-account-storage-policy-nada-object-count': 1000000,
|
||||||
|
'x-account-storage-policy-nada-bytes-used': 2 ** 30,
|
||||||
|
}
|
||||||
|
self.conn.head_account.return_value = stub_headers
|
||||||
|
|
||||||
|
with self.output_manager as output_manager:
|
||||||
|
items, headers = h.stat_account(self.conn, self.options)
|
||||||
|
h.print_account_stats(items, headers, output_manager)
|
||||||
|
expected = """
|
||||||
|
Account: a
|
||||||
|
Containers: 42
|
||||||
|
Objects: 1000000
|
||||||
|
Bytes: 1073741824
|
||||||
|
Containers in policy "nada": 10
|
||||||
|
Objects in policy "nada": 1000000
|
||||||
|
Bytes in policy "nada": 1073741824
|
||||||
|
"""
|
||||||
|
self.assertOut(expected)
|
||||||
|
|
||||||
def test_stat_container_human(self):
|
def test_stat_container_human(self):
|
||||||
self.options['human'] = True
|
self.options['human'] = True
|
||||||
# stub head container request
|
# stub head container request
|
||||||
|
Loading…
x
Reference in New Issue
Block a user