summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-02-28 01:44:48 +0000
committerGerrit Code Review <review@openstack.org>2014-02-28 01:44:48 +0000
commit9ccaacbe2760012ee916b517035a24160fcf7b91 (patch)
treeae034f5dec1d63b5ebb012c845d5d65e249d387e /openstackclient/compute
parentb7f673cb81f1a6539739dc6d12eaef7455bf63fd (diff)
parentada9d35cbe477d7225d217c6c1926b5fb8aa0a92 (diff)
downloadpython-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.py22
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