summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-01-05 19:34:03 +0000
committerGerrit Code Review <review@openstack.org>2018-01-05 19:34:03 +0000
commitf009808e34e3fe3391e805b813fa261f6e31429b (patch)
tree9846791102f6fc44fe513ee527e48beee32b6257
parent3b6a36d02a32fe19c1f184d608e0344716b47d94 (diff)
parent785b33c29542639680659b1d68d9047df5af2964 (diff)
downloadoslo-utils-f009808e34e3fe3391e805b813fa261f6e31429b.tar.gz
Merge "Add method to escape ipv6 ip addresses"
-rw-r--r--oslo_utils/netutils.py14
-rw-r--r--oslo_utils/tests/test_netutils.py4
2 files changed, 18 insertions, 0 deletions
diff --git a/oslo_utils/netutils.py b/oslo_utils/netutils.py
index e24f918..26e16dc 100644
--- a/oslo_utils/netutils.py
+++ b/oslo_utils/netutils.py
@@ -217,6 +217,20 @@ def is_ipv6_enabled():
return _IS_IPV6_ENABLED
+def escape_ipv6(address):
+ """Escape an IP address in square brackets if IPv6
+
+ :param address: address to optionaly escape
+ :type address: string
+ :returns: string
+
+ .. versionadded:: 3.29.0
+ """
+ if is_valid_ipv6(address):
+ return "[%s]" % address
+ return address
+
+
def is_valid_ip(address):
"""Verify that address represents a valid IP address.
diff --git a/oslo_utils/tests/test_netutils.py b/oslo_utils/tests/test_netutils.py
index bba7c54..856b671 100644
--- a/oslo_utils/tests/test_netutils.py
+++ b/oslo_utils/tests/test_netutils.py
@@ -172,6 +172,10 @@ class NetworkUtilsTest(test_base.BaseTestCase):
self.assertFalse(netutils.is_valid_ipv6(''))
+ def test_escape_ipv6(self):
+ self.assertEqual('[1234::1234]', netutils.escape_ipv6('1234::1234'))
+ self.assertEqual('127.0.0.1', netutils.escape_ipv6('127.0.0.1'))
+
def test_is_valid_ip(self):
self.assertTrue(netutils.is_valid_ip('127.0.0.1'))