summaryrefslogtreecommitdiff
path: root/quantumclient
diff options
context:
space:
mode:
authorAkihiro MOTOKI <motoki@da.jp.nec.com>2013-02-27 19:13:54 +0900
committerAkihiro MOTOKI <motoki@da.jp.nec.com>2013-05-27 18:15:36 +0900
commitb95000665d8f7a56c7b522f5b07000ebb1052e39 (patch)
tree1ad5ac37ae7b92b75b175ff4360c4dc5a802407e /quantumclient
parentde7fd2b2c032a706aff0d4722fbf4f7071c5302d (diff)
downloadpython-neutronclient-b95000665d8f7a56c7b522f5b07000ebb1052e39.tar.gz
Set default columns in ext-list
Previously ext-list does not inherits ListCommand base class for listing and cannot specify columns to display. This commit changes ext-list to use ListCommand and adds a unit test for extensions. This also changes the default value of _formatters in ListCommand to {}. By this subclasses no longer override _formatters unless required. Fixes bug 1161866 Change-Id: Ifd9ab54d4e84a2b7a1d7eecd67f6270ec643db1d
Diffstat (limited to 'quantumclient')
-rw-r--r--quantumclient/quantum/v2_0/extension.py71
-rw-r--r--quantumclient/quantum/v2_0/floatingip.py1
-rw-r--r--quantumclient/quantum/v2_0/lb/healthmonitor.py1
-rw-r--r--quantumclient/quantum/v2_0/lb/member.py1
-rw-r--r--quantumclient/quantum/v2_0/lb/pool.py1
-rw-r--r--quantumclient/quantum/v2_0/lb/vip.py1
-rw-r--r--quantumclient/quantum/v2_0/nvp_qos_queue.py1
-rw-r--r--quantumclient/quantum/v2_0/nvpnetworkgateway.py1
-rw-r--r--quantumclient/quantum/v2_0/quota.py1
-rw-r--r--quantumclient/quantum/v2_0/securitygroup.py2
-rw-r--r--quantumclient/v2_0/client.py8
11 files changed, 14 insertions, 75 deletions
diff --git a/quantumclient/quantum/v2_0/extension.py b/quantumclient/quantum/v2_0/extension.py
index df4a88b..1ebea6f 100644
--- a/quantumclient/quantum/v2_0/extension.py
+++ b/quantumclient/quantum/v2_0/extension.py
@@ -17,79 +17,28 @@
import logging
-from cliff import lister
-from cliff import show
+from quantumclient.quantum import v2_0 as cmd_base
-from quantumclient.common import utils
-from quantumclient.quantum.v2_0 import QuantumCommand
+class ListExt(cmd_base.ListCommand):
+ """List all extensions."""
-class ListExt(QuantumCommand, lister.Lister):
- """List all exts."""
-
- api = 'network'
resource = 'extension'
log = logging.getLogger(__name__ + '.ListExt')
- _formatters = None
-
- def get_parser(self, prog_name):
- parser = super(ListExt, self).get_parser(prog_name)
- return parser
-
- def get_data(self, parsed_args):
- self.log.debug('get_data(%s)' % parsed_args)
- quantum_client = self.get_client()
- search_opts = {}
- quantum_client.format = parsed_args.request_format
- obj_lister = getattr(quantum_client,
- "list_%ss" % self.resource)
- data = obj_lister(**search_opts)
- info = []
- collection = self.resource + "s"
- if collection in data:
- info = data[collection]
- _columns = len(info) > 0 and sorted(info[0].keys()) or []
- return (_columns, (utils.get_item_properties(s, _columns)
- for s in info))
+ list_columns = ['alias', 'name']
-class ShowExt(QuantumCommand, show.ShowOne):
- """Show information of a given resource
+class ShowExt(cmd_base.ShowCommand):
+ """Show information of a given resource."""
- """
- api = 'network'
resource = "extension"
log = logging.getLogger(__name__ + '.ShowExt')
+ allow_names = False
def get_parser(self, prog_name):
- parser = super(ShowExt, self).get_parser(prog_name)
+ parser = super(cmd_base.ShowCommand, self).get_parser(prog_name)
+ cmd_base.add_show_list_common_argument(parser)
parser.add_argument(
- 'ext_alias', metavar='ext-alias',
+ 'id', metavar='EXT-ALIAS',
help='the extension alias')
return parser
-
- def get_data(self, parsed_args):
- self.log.debug('get_data(%s)' % parsed_args)
- quantum_client = self.get_client()
- quantum_client.format = parsed_args.request_format
- params = {}
- obj_shower = getattr(quantum_client,
- "show_%s" % self.resource)
- data = obj_shower(parsed_args.ext_alias, **params)
- if self.resource in data:
- for k, v in data[self.resource].iteritems():
- if isinstance(v, list):
- value = ""
- for _item in v:
- if value:
- value += "\n"
- if isinstance(_item, dict):
- value += utils.dumps(_item)
- else:
- value += str(_item)
- data[self.resource][k] = value
- elif v is None:
- data[self.resource][k] = ''
- return zip(*sorted(data[self.resource].iteritems()))
- else:
- return None
diff --git a/quantumclient/quantum/v2_0/floatingip.py b/quantumclient/quantum/v2_0/floatingip.py
index 3916527..3a4982a 100644
--- a/quantumclient/quantum/v2_0/floatingip.py
+++ b/quantumclient/quantum/v2_0/floatingip.py
@@ -31,7 +31,6 @@ class ListFloatingIP(ListCommand):
resource = 'floatingip'
log = logging.getLogger(__name__ + '.ListFloatingIP')
- _formatters = {}
list_columns = ['id', 'fixed_ip_address', 'floating_ip_address',
'port_id']
pagination_support = True
diff --git a/quantumclient/quantum/v2_0/lb/healthmonitor.py b/quantumclient/quantum/v2_0/lb/healthmonitor.py
index a4e7ee6..3ecdd56 100644
--- a/quantumclient/quantum/v2_0/lb/healthmonitor.py
+++ b/quantumclient/quantum/v2_0/lb/healthmonitor.py
@@ -28,7 +28,6 @@ class ListHealthMonitor(quantumv20.ListCommand):
resource = 'health_monitor'
log = logging.getLogger(__name__ + '.ListHealthMonitor')
list_columns = ['id', 'type', 'admin_state_up', 'status']
- _formatters = {}
pagination_support = True
sorting_support = True
diff --git a/quantumclient/quantum/v2_0/lb/member.py b/quantumclient/quantum/v2_0/lb/member.py
index 18e479a..05fb430 100644
--- a/quantumclient/quantum/v2_0/lb/member.py
+++ b/quantumclient/quantum/v2_0/lb/member.py
@@ -30,7 +30,6 @@ class ListMember(quantumv20.ListCommand):
list_columns = [
'id', 'address', 'protocol_port', 'admin_state_up', 'status'
]
- _formatters = {}
pagination_support = True
sorting_support = True
diff --git a/quantumclient/quantum/v2_0/lb/pool.py b/quantumclient/quantum/v2_0/lb/pool.py
index 26bf0c9..3d1d580 100644
--- a/quantumclient/quantum/v2_0/lb/pool.py
+++ b/quantumclient/quantum/v2_0/lb/pool.py
@@ -29,7 +29,6 @@ class ListPool(quantumv20.ListCommand):
log = logging.getLogger(__name__ + '.ListPool')
list_columns = ['id', 'name', 'lb_method', 'protocol',
'admin_state_up', 'status']
- _formatters = {}
pagination_support = True
sorting_support = True
diff --git a/quantumclient/quantum/v2_0/lb/vip.py b/quantumclient/quantum/v2_0/lb/vip.py
index 4ee03a1..c3795c3 100644
--- a/quantumclient/quantum/v2_0/lb/vip.py
+++ b/quantumclient/quantum/v2_0/lb/vip.py
@@ -29,7 +29,6 @@ class ListVip(quantumv20.ListCommand):
log = logging.getLogger(__name__ + '.ListVip')
list_columns = ['id', 'name', 'algorithm', 'address', 'protocol',
'admin_state_up', 'status']
- _formatters = {}
pagination_support = True
sorting_support = True
diff --git a/quantumclient/quantum/v2_0/nvp_qos_queue.py b/quantumclient/quantum/v2_0/nvp_qos_queue.py
index 040ce16..386b887 100644
--- a/quantumclient/quantum/v2_0/nvp_qos_queue.py
+++ b/quantumclient/quantum/v2_0/nvp_qos_queue.py
@@ -25,7 +25,6 @@ class ListQoSQueue(quantumv20.ListCommand):
resource = 'qos_queue'
log = logging.getLogger(__name__ + '.ListQoSQueue')
- _formatters = {}
list_columns = ['id', 'name', 'min', 'max',
'qos_marking', 'dscp', 'default']
diff --git a/quantumclient/quantum/v2_0/nvpnetworkgateway.py b/quantumclient/quantum/v2_0/nvpnetworkgateway.py
index 2c668ac..72a83b3 100644
--- a/quantumclient/quantum/v2_0/nvpnetworkgateway.py
+++ b/quantumclient/quantum/v2_0/nvpnetworkgateway.py
@@ -27,7 +27,6 @@ class ListNetworkGateway(quantumv20.ListCommand):
"""List network gateways for a given tenant."""
resource = RESOURCE
- _formatters = {}
log = logging.getLogger(__name__ + '.ListNetworkGateway')
list_columns = ['id', 'name']
diff --git a/quantumclient/quantum/v2_0/quota.py b/quantumclient/quantum/v2_0/quota.py
index bdff0bd..2b1752f 100644
--- a/quantumclient/quantum/v2_0/quota.py
+++ b/quantumclient/quantum/v2_0/quota.py
@@ -70,7 +70,6 @@ class ListQuota(QuantumCommand, lister.Lister):
api = 'network'
resource = 'quota'
log = logging.getLogger(__name__ + '.ListQuota')
- _formatters = None
def get_parser(self, prog_name):
parser = super(ListQuota, self).get_parser(prog_name)
diff --git a/quantumclient/quantum/v2_0/securitygroup.py b/quantumclient/quantum/v2_0/securitygroup.py
index c66d012..5fa899c 100644
--- a/quantumclient/quantum/v2_0/securitygroup.py
+++ b/quantumclient/quantum/v2_0/securitygroup.py
@@ -26,7 +26,6 @@ class ListSecurityGroup(quantumv20.ListCommand):
resource = 'security_group'
log = logging.getLogger(__name__ + '.ListSecurityGroup')
- _formatters = {}
list_columns = ['id', 'name', 'description']
pagination_support = True
sorting_support = True
@@ -103,7 +102,6 @@ class ListSecurityGroupRule(quantumv20.ListCommand):
resource = 'security_group_rule'
log = logging.getLogger(__name__ + '.ListSecurityGroupRule')
- _formatters = {}
list_columns = ['id', 'security_group_id', 'direction', 'protocol',
'remote_ip_prefix', 'remote_group_id']
replace_rules = {'security_group_id': 'security_group',
diff --git a/quantumclient/v2_0/client.py b/quantumclient/v2_0/client.py
index fb55b1e..e4982b4 100644
--- a/quantumclient/v2_0/client.py
+++ b/quantumclient/v2_0/client.py
@@ -153,8 +153,8 @@ class Client(object):
subnet_path = "/subnets/%s"
quotas_path = "/quotas"
quota_path = "/quotas/%s"
- exts_path = "/extensions"
- ext_path = "/extensions/%s"
+ extensions_path = "/extensions"
+ extension_path = "/extensions/%s"
routers_path = "/routers"
router_path = "/routers/%s"
floatingips_path = "/floatingips"
@@ -245,12 +245,12 @@ class Client(object):
@APIParamsCall
def list_extensions(self, **_params):
"""Fetch a list of all exts on server side."""
- return self.get(self.exts_path, params=_params)
+ return self.get(self.extensions_path, params=_params)
@APIParamsCall
def show_extension(self, ext_alias, **_params):
"""Fetch a list of all exts on server side."""
- return self.get(self.ext_path % ext_alias, params=_params)
+ return self.get(self.extension_path % ext_alias, params=_params)
@APIParamsCall
def list_ports(self, retrieve_all=True, **_params):