Claim create CLI support for v1
Change-Id: Id89cb904c29a462e0035dd3ba16b9ebb6344476e
This commit is contained in:
@@ -65,6 +65,7 @@ openstack.messaging.v1 =
|
|||||||
messaging_flavor_update = zaqarclient.queues.v1.cli:UpdateFlavor
|
messaging_flavor_update = zaqarclient.queues.v1.cli:UpdateFlavor
|
||||||
messaging_flavor_show = zaqarclient.queues.v1.cli:ShowFlavor
|
messaging_flavor_show = zaqarclient.queues.v1.cli:ShowFlavor
|
||||||
messaging_flavor_create = zaqarclient.queues.v1.cli:CreateFlavor
|
messaging_flavor_create = zaqarclient.queues.v1.cli:CreateFlavor
|
||||||
|
claim_create = zaqarclient.queues.v1.cli:CreateClaim
|
||||||
|
|
||||||
openstack.messaging.v2 =
|
openstack.messaging.v2 =
|
||||||
queue_list = zaqarclient.queues.v2.cli:ListQueues
|
queue_list = zaqarclient.queues.v2.cli:ListQueues
|
||||||
|
|||||||
@@ -560,3 +560,54 @@ class ListFlavors(lister.Lister):
|
|||||||
columns = ("Name", 'Pool', 'Capabilities')
|
columns = ("Name", 'Pool', 'Capabilities')
|
||||||
return (columns,
|
return (columns,
|
||||||
(utils.get_item_properties(s, columns) for s in data))
|
(utils.get_item_properties(s, columns) for s in data))
|
||||||
|
|
||||||
|
|
||||||
|
class CreateClaim(lister.Lister):
|
||||||
|
"""Create claim and return a list of claimed messages"""
|
||||||
|
|
||||||
|
log = logging.getLogger(__name__ + ".CreateClaim")
|
||||||
|
|
||||||
|
def get_parser(self, prog_name):
|
||||||
|
parser = super(CreateClaim, self).get_parser(prog_name)
|
||||||
|
parser.add_argument(
|
||||||
|
"queue_name",
|
||||||
|
metavar="<queue_name>",
|
||||||
|
help="Name of the queue to be claim")
|
||||||
|
parser.add_argument(
|
||||||
|
"--ttl",
|
||||||
|
metavar="<ttl>",
|
||||||
|
type=int,
|
||||||
|
default=300,
|
||||||
|
help="Time to live in seconds for claim")
|
||||||
|
parser.add_argument(
|
||||||
|
"--grace",
|
||||||
|
metavar="<grace>",
|
||||||
|
type=int,
|
||||||
|
default=60,
|
||||||
|
help="The message grace period in seconds")
|
||||||
|
parser.add_argument(
|
||||||
|
"--limit",
|
||||||
|
metavar="<limit>",
|
||||||
|
type=int,
|
||||||
|
default=10,
|
||||||
|
help="Claims a set of messages, up to limit")
|
||||||
|
|
||||||
|
return parser
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
client = _get_client(self, parsed_args)
|
||||||
|
|
||||||
|
kwargs = {}
|
||||||
|
if parsed_args.ttl is not None:
|
||||||
|
kwargs["ttl"] = parsed_args.ttl
|
||||||
|
if parsed_args.grace is not None:
|
||||||
|
kwargs["grace"] = parsed_args.grace
|
||||||
|
if parsed_args.limit is not None:
|
||||||
|
kwargs["limit"] = parsed_args.limit
|
||||||
|
|
||||||
|
queue = client.queue(parsed_args.queue_name, auto_create=False)
|
||||||
|
keys = ("claim_id", "_id", "ttl", "age", 'body')
|
||||||
|
columns = ("Claim_ID", "Message_ID", "TTL", "Age", "Messages")
|
||||||
|
data = queue.claim(**kwargs)
|
||||||
|
return (columns,
|
||||||
|
(utils.get_item_properties(s, keys) for s in data))
|
||||||
|
|||||||
Reference in New Issue
Block a user