diff options
| author | Jenkins <jenkins@review.openstack.org> | 2014-02-28 01:44:48 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2014-02-28 01:44:48 +0000 |
| commit | 9ccaacbe2760012ee916b517035a24160fcf7b91 (patch) | |
| tree | ae034f5dec1d63b5ebb012c845d5d65e249d387e /openstackclient/compute | |
| parent | b7f673cb81f1a6539739dc6d12eaef7455bf63fd (diff) | |
| parent | ada9d35cbe477d7225d217c6c1926b5fb8aa0a92 (diff) | |
| download | python-openstackclient-9ccaacbe2760012ee916b517035a24160fcf7b91.tar.gz | |
Merge "Fix format errors in nova security group rule list"
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/security_group.py | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/openstackclient/compute/v2/security_group.py b/openstackclient/compute/v2/security_group.py index a1dc786d..be64bd3a 100644 --- a/openstackclient/compute/v2/security_group.py +++ b/openstackclient/compute/v2/security_group.py @@ -31,15 +31,23 @@ from openstackclient.common import utils def _xform_security_group_rule(sgroup): info = {} info.update(sgroup) - info.update( - {'port_range': "%u:%u" % ( - info.pop('from_port'), - info.pop('to_port'), - )} - ) - info['ip_range'] = info['ip_range']['cidr'] + from_port = info.pop('from_port') + to_port = info.pop('to_port') + if isinstance(from_port, int) and isinstance(to_port, int): + port_range = {'port_range': "%u:%u" % (from_port, to_port)} + elif from_port is None and to_port is None: + port_range = {'port_range': ""} + else: + port_range = {'port_range': "%s:%s" % (from_port, to_port)} + info.update(port_range) + if 'cidr' in info['ip_range']: + info['ip_range'] = info['ip_range']['cidr'] + else: + info['ip_range'] = '' if info['ip_protocol'] == 'icmp': info['port_range'] = '' + elif info['ip_protocol'] is None: + info['ip_protocol'] = '' return info |
