From 506b3d754dc328198ea3e6a8806b21354e3786b7 Mon Sep 17 00:00:00 2001 From: Abhishek Kekane Date: Tue, 24 May 2016 15:21:42 +0530 Subject: [PATCH] Use is_valid_cidr and is_valid_ipv6_cidr from oslo_utils Use is_valid_cidr and is_valid_ipv6_cidr from oslo_utils instead of having own method in the repo. https://github.com/openstack/oslo.utils/blob/master/oslo_utils/netutils.py#L116 https://github.com/openstack/oslo.utils/blob/master/oslo_utils/netutils.py#L142 TrivialFix Change-Id: Ie8791606be1c62944323fd9ffe392c7f74bf9424 --- nova/db/sqlalchemy/types.py | 2 +- .../security_group/security_group_base.py | 2 +- nova/tests/unit/test_utils.py | 11 ------- nova/utils.py | 31 ------------------- 4 files changed, 2 insertions(+), 44 deletions(-) diff --git a/nova/db/sqlalchemy/types.py b/nova/db/sqlalchemy/types.py index b216abbae71..f274d3932e5 100644 --- a/nova/db/sqlalchemy/types.py +++ b/nova/db/sqlalchemy/types.py @@ -59,7 +59,7 @@ def load_dialect_impl(self, dialect): def process_bind_param(self, value, dialect): """Process/Formats the value before insert it into the db.""" # NOTE(sdague): normalize all the inserts - if utils.is_valid_ipv6_cidr(value): + if netutils.is_valid_ipv6_cidr(value): return utils.get_shortened_ipv6_cidr(value) return value diff --git a/nova/network/security_group/security_group_base.py b/nova/network/security_group/security_group_base.py index 0354b72e8b7..dce18d98c1c 100644 --- a/nova/network/security_group/security_group_base.py +++ b/nova/network/security_group/security_group_base.py @@ -18,12 +18,12 @@ # under the License. from oslo_utils import encodeutils +from oslo_utils import netutils as utils from six.moves import urllib from nova import exception from nova.i18n import _ from nova.objects import security_group as security_group_obj -from nova import utils class SecurityGroupBase(object): diff --git a/nova/tests/unit/test_utils.py b/nova/tests/unit/test_utils.py index 1d0a14838b8..f932ad19078 100644 --- a/nova/tests/unit/test_utils.py +++ b/nova/tests/unit/test_utils.py @@ -177,17 +177,6 @@ def test_xhtml_escape(self): self.assertEqual('<', utils.xhtml_escape('<')) self.assertEqual('<foo>', utils.xhtml_escape('')) - def test_is_valid_ipv6_cidr(self): - self.assertTrue(utils.is_valid_ipv6_cidr("2600::/64")) - self.assertTrue(utils.is_valid_ipv6_cidr( - "abcd:ef01:2345:6789:abcd:ef01:192.168.254.254/48")) - self.assertTrue(utils.is_valid_ipv6_cidr( - "0000:0000:0000:0000:0000:0000:0000:0001/32")) - self.assertTrue(utils.is_valid_ipv6_cidr( - "0000:0000:0000:0000:0000:0000:0000:0001")) - self.assertFalse(utils.is_valid_ipv6_cidr("foo")) - self.assertFalse(utils.is_valid_ipv6_cidr("127.0.0.1")) - def test_get_shortened_ipv6(self): self.assertEqual("abcd:ef01:2345:6789:abcd:ef01:c0a8:fefe", utils.get_shortened_ipv6( diff --git a/nova/utils.py b/nova/utils.py index d775e579aa2..ce1ee454be2 100644 --- a/nova/utils.py +++ b/nova/utils.py @@ -537,14 +537,6 @@ def parse_server_string(server_str): return ('', '') -def is_valid_ipv6_cidr(address): - try: - netaddr.IPNetwork(address, version=6).cidr - return True - except (TypeError, netaddr.AddrFormatError): - return False - - def get_shortened_ipv6(address): addr = netaddr.IPAddress(address, version=6) return str(addr.ipv6()) @@ -555,29 +547,6 @@ def get_shortened_ipv6_cidr(address): return str(net.cidr) -def is_valid_cidr(address): - """Check if address is valid - - The provided address can be a IPv6 or a IPv4 - CIDR address. - """ - try: - # Validate the correct CIDR Address - netaddr.IPNetwork(address) - except netaddr.AddrFormatError: - return False - - # Prior validation partially verify /xx part - # Verify it here - ip_segment = address.split('/') - - if (len(ip_segment) <= 1 or - ip_segment[1] == ''): - return False - - return True - - def get_ip_version(network): """Returns the IP version of a network (IPv4 or IPv6).