Merge "Add support for flavor list v1"

This commit is contained in:
Jenkins
2015-12-16 11:12:07 +00:00
committed by Gerrit Code Review
3 changed files with 45 additions and 3 deletions

View File

@@ -60,6 +60,7 @@ openstack.messaging.v1 =
pool_update = zaqarclient.queues.v1.cli:UpdatePool
pool_delete = zaqarclient.queues.v1.cli:DeletePool
pool_list = zaqarclient.queues.v1.cli:ListPools
messaging_flavor_list = zaqarclient.queues.v1.cli:ListFlavors
messaging_flavor_delete = zaqarclient.queues.v1.cli:DeleteFlavor
messaging_flavor_update = zaqarclient.queues.v1.cli:UpdateFlavor
messaging_flavor_show = zaqarclient.queues.v1.cli:ShowFlavor

View File

@@ -479,3 +479,43 @@ class ShowFlavor(show.ShowOne):
auto_create=False).get()
columns = ('Name', 'Pool', 'Capabilities')
return columns, utils.get_dict_properties(flavor_data, columns)
class ListFlavors(lister.Lister):
"""List available flavors"""
log = logging.getLogger(__name__ + ".ListFlavors")
def get_parser(self, prog_name):
parser = super(ListFlavors, self).get_parser(prog_name)
parser.add_argument(
"--marker",
metavar="<flavor_name>",
help="Flavor's paging marker")
parser.add_argument(
"--limit",
metavar="<limit>",
help="Page size limit")
parser.add_argument(
"--detailed",
type=bool,
default=False,
metavar="<detailed>",
help="If show detailed capabilities of flavor")
return parser
def take_action(self, parsed_args):
self.log.debug("take_action(%s)" % parsed_args)
client = self.app.client_manager.messaging
kwargs = {'detailed': parsed_args.detailed}
if parsed_args.marker is not None:
kwargs["marker"] = parsed_args.marker
if parsed_args.limit is not None:
kwargs["limit"] = parsed_args.limit
data = client.flavors(**kwargs)
columns = ("Name", 'Pool', 'Capabilities')
return (columns,
(utils.get_item_properties(s, columns) for s in data))

View File

@@ -21,12 +21,12 @@ class Flavor(object):
def __init__(self, client, name,
pool=None, auto_create=True,
**capabilities):
**kwargs):
self.client = client
self.name = name
self.pool = pool
self.capabilities = capabilities
self.capabilities = kwargs.get('capabilities', {})
if auto_create:
self.ensure_exists()
@@ -69,4 +69,5 @@ class Flavor(object):
def create_object(parent):
return lambda args: Flavor(parent, args["name"], auto_create=False)
return lambda kwargs: Flavor(parent, kwargs.pop('name'),
auto_create=False, **kwargs)