Merge "Add cli support for flavor create v1"

This commit is contained in:
Jenkins
2015-12-17 01:34:42 +00:00
committed by Gerrit Code Review
2 changed files with 42 additions and 0 deletions

View File

@@ -64,6 +64,7 @@ openstack.messaging.v1 =
messaging_flavor_delete = zaqarclient.queues.v1.cli:DeleteFlavor
messaging_flavor_update = zaqarclient.queues.v1.cli:UpdateFlavor
messaging_flavor_show = zaqarclient.queues.v1.cli:ShowFlavor
messaging_flavor_create = zaqarclient.queues.v1.cli:CreateFlavor
openstack.messaging.v2 =
queue_list = zaqarclient.queues.v2.cli:ListQueues

View File

@@ -439,6 +439,47 @@ class UpdateFlavor(show.ShowOne):
return columns, utils.get_dict_properties(flavor_data, columns)
class CreateFlavor(show.ShowOne):
"""Create a pool flavor"""
log = logging.getLogger(__name__ + ".CreateFlavor")
def get_parser(self, prog_name):
parser = super(CreateFlavor, self).get_parser(prog_name)
parser.add_argument(
"flavor_name",
metavar="<flavor_name>",
help="Name of the flavor")
parser.add_argument(
"pool_group",
metavar="<pool_group>",
help="Pool group for flavor")
parser.add_argument(
"--capabilities",
metavar="<capabilities>",
type=json.loads,
default={},
help="Describes flavor-specific capabilities")
return parser
def take_action(self, parsed_args):
self.log.debug("take_action(%s)" % parsed_args)
client = self.app.client_manager.messaging
# FIXME(flwang): For now, we still use `pool` though it's not really
# correct since it's representing `pool_group` actually. But given we
# will remove pool group soon and get a 1:n mapping for flavor:pool,
# so let's keep it as it's, just for now.
kwargs = {'capabilities': parsed_args.capabilities}
data = client.flavor(parsed_args.flavor_name,
pool=parsed_args.pool_group,
**kwargs)
columns = ('Name', 'Pool', 'Capabilities')
return columns, utils.get_item_properties(data, columns)
class DeleteFlavor(command.Command):
"""Delete a flavor"""