
blueprint new-cli Bug #1001053 Implement new commands interface, ready for v2.0. adopt cliff arch. new client binary is quantumv2. After it is stable, we will remove quantum binary. Httplibs2 is used. usage: https://docs.google.com/document/d/1e_4UtnhFfgtnsB8EVB31BZKldaVzl_BlsGnGBrKmcDk/edit Patch 2: add license header Patch 3: add v1.0 support, fix show net details Patch 4: quantumclient network api v2.0 Patch 5: subnet and port commands for api v2.0, add fields selector Patch 6: add test cases Patch 7: fix interactive mode, modify according to comments and https://review.openstack.org/#/c/8366/, add two tasks to BP: noauth and openstack common Patch 8: fix log problem Patch 9: modify according to the comments by dan on patch 5 Patch 10: just trigger jenkins Patch 11: pep 1.3 fix Patch 12: cliff and prettytable to more than 0.6.0 Patch 13: change setup.py to include more packages Patch 14: pep check on jenkins Patch 15: add license text to empty __init__.py files Patch 16: fix v1.1 test cases after server changes Change-Id: Ibbbdd834371c6a023b31e4797718fc0fe9786d89
63 lines
2.0 KiB
Python
63 lines
2.0 KiB
Python
# Copyright 2012 OpenStack LLC.
|
|
# All Rights Reserved
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
|
|
|
import logging
|
|
|
|
from quantumclient.common import command
|
|
from quantumclient.common import utils
|
|
|
|
|
|
class QuantumCommand(command.OpenStackCommand):
|
|
api = 'network'
|
|
log = logging.getLogger(__name__ + '.QuantumCommand')
|
|
|
|
def get_parser(self, prog_name):
|
|
parser = super(QuantumCommand, self).get_parser(prog_name)
|
|
parser.add_argument(
|
|
'--request-format',
|
|
help=_('the xml or json request format'),
|
|
default='json',
|
|
choices=['json', 'xml', ], )
|
|
parser.add_argument(
|
|
'tenant_id', metavar='tenant-id',
|
|
help=_('the owner tenant ID'), )
|
|
return parser
|
|
|
|
|
|
class QuantumPortCommand(QuantumCommand):
|
|
api = 'network'
|
|
log = logging.getLogger(__name__ + '.QuantumPortCommand')
|
|
|
|
def get_parser(self, prog_name):
|
|
parser = super(QuantumPortCommand, self).get_parser(prog_name)
|
|
parser.add_argument(
|
|
'net_id', metavar='net-id',
|
|
help=_('the owner network ID'), )
|
|
return parser
|
|
|
|
|
|
class QuantumInterfaceCommand(QuantumPortCommand):
|
|
api = 'network'
|
|
log = logging.getLogger(__name__ + '.QuantumInterfaceCommand')
|
|
|
|
def get_parser(self, prog_name):
|
|
parser = super(QuantumInterfaceCommand, self).get_parser(prog_name)
|
|
parser.add_argument(
|
|
'port_id', metavar='port-id',
|
|
help=_('the owner Port ID'), )
|
|
return parser
|