Merge "nova client now support limits subcommand"

This commit is contained in:
Jenkins 2015-05-06 22:52:14 +00:00 committed by Gerrit Code Review
commit fbcfaca847
2 changed files with 45 additions and 2 deletions
novaclient
tests/unit/v2
v2

@ -2027,6 +2027,20 @@ class ShellTest(utils.TestCase):
self.run_command('absolute-limits --tenant 1234')
self.assert_called('GET', '/limits?tenant_id=1234')
def test_limits(self):
self.run_command('limits')
self.assert_called('GET', '/limits')
self.run_command('limits --reserved')
self.assert_called('GET', '/limits?reserved=1')
self.run_command('limits --tenant 1234')
self.assert_called('GET', '/limits?tenant_id=1234')
stdout = self.run_command('limits --tenant 1234')
self.assertIn('Verb', stdout)
self.assertIn('Name', stdout)
def test_evacuate(self):
self.run_command('evacuate sample-server new_host')
self.assert_called('POST', '/servers/1234/action',

@ -2937,9 +2937,13 @@ def _find_keypair(cs, keypair):
default=False,
help=_('Include reservations count.'))
def do_absolute_limits(cs, args):
"""Print a list of absolute limits for a user"""
"""DEPRECATED, use limits instead."""
limits = cs.limits.get(args.reserved, args.tenant).absolute
_print_absolute_limits(limits)
def _print_absolute_limits(limits):
"""Prints absolute limits."""
class Limit(object):
def __init__(self, name, used, max, other):
self.name = name
@ -3001,12 +3005,37 @@ def do_absolute_limits(cs, args):
def do_rate_limits(cs, args):
"""Print a list of rate limits for a user"""
"""DEPRECATED, use limits instead."""
limits = cs.limits.get().rate
_print_rate_limits(limits)
def _print_rate_limits(limits):
"""print rate limits."""
columns = ['Verb', 'URI', 'Value', 'Remain', 'Unit', 'Next_Available']
utils.print_list(limits, columns)
@cliutils.arg(
'--tenant',
# nova db searches by project_id
dest='tenant',
metavar='<tenant>',
nargs='?',
help=_('Display information from single tenant (Admin only).'))
@cliutils.arg(
'--reserved',
dest='reserved',
action='store_true',
default=False,
help=_('Include reservations count.'))
def do_limits(cs, args):
"""Print rate and absolute limits."""
limits = cs.limits.get(args.reserved, args.tenant)
_print_rate_limits(limits.rate)
_print_absolute_limits(limits.absolute)
@cliutils.arg(
'--start',
metavar='<start>',