Merge "Reuse methods from netutils"

This commit is contained in:
Jenkins 2015-01-05 17:21:32 +00:00 committed by Gerrit Code Review
commit ad69ea886c
13 changed files with 27 additions and 59 deletions

View File

@ -21,6 +21,7 @@ Starting point for routing EC2 requests.
from oslo.config import cfg
from oslo.serialization import jsonutils
from oslo.utils import importutils
from oslo.utils import netutils
from oslo.utils import timeutils
import requests
import six
@ -40,7 +41,6 @@ from nova.i18n import _LW
from nova.openstack.common import context as common_context
from nova.openstack.common import log as logging
from nova.openstack.common import memorycache
from nova import utils
from nova import wsgi
@ -442,7 +442,7 @@ class Validator(wsgi.Middleware):
'image_id': validator.validate_ec2_id,
'attribute': validator.validate_str(),
'image_location': validator.validate_image_path,
'public_ip': utils.is_valid_ipv4,
'public_ip': netutils.is_valid_ipv4,
'region_name': validator.validate_str(),
'group_name': validator.validate_str(max_length=255),
'group_description': validator.validate_str(max_length=255),

View File

@ -14,6 +14,7 @@
import urllib
from oslo.utils import netutils
import webob
from nova.api.openstack import extensions
@ -22,7 +23,6 @@ from nova.api.openstack import xmlutil
from nova import exception
from nova.i18n import _
from nova import network
from nova import utils
authorize = extensions.extension_authorizer('compute', 'floating_ip_dns')
@ -220,7 +220,7 @@ class FloatingIPDNSEntryController(object):
floating_ip = None
# Check whether id is a valid ipv4/ipv6 address.
if utils.is_valid_ipv4(id) or utils.is_valid_ipv6(id):
if netutils.is_valid_ip(id):
floating_ip = id
try:

View File

@ -14,6 +14,7 @@
import urllib
from oslo.utils import netutils
import webob
from nova.api.openstack.compute.schemas.v3 import floating_ip_dns
@ -23,7 +24,6 @@ from nova.api import validation
from nova import exception
from nova.i18n import _
from nova import network
from nova import utils
ALIAS = "os-floating-ip-dns"
@ -176,7 +176,7 @@ class FloatingIPDNSEntryController(wsgi.Controller):
floating_ip = None
# Check whether id is a valid ipv4/ipv6 address.
if utils.is_valid_ipv4(id) or utils.is_valid_ipv6(id):
if netutils.is_valid_ip(id):
floating_ip = id
try:

View File

@ -20,6 +20,7 @@ import re
from oslo.config import cfg
from oslo import messaging
from oslo.utils import netutils
from oslo.utils import strutils
from oslo.utils import timeutils
import six
@ -750,12 +751,12 @@ class Controller(wsgi.Controller):
raise exc.HTTPBadRequest(explanation=expl)
def _validate_access_ipv4(self, address):
if not utils.is_valid_ipv4(address):
if not netutils.is_valid_ipv4(address):
expl = _('accessIPv4 is not proper IPv4 format')
raise exc.HTTPBadRequest(explanation=expl)
def _validate_access_ipv6(self, address):
if not utils.is_valid_ipv6(address):
if not netutils.is_valid_ipv6(address):
expl = _('accessIPv6 is not proper IPv6 format')
raise exc.HTTPBadRequest(explanation=expl)

View File

@ -15,6 +15,7 @@
"""Custom SQLAlchemy types."""
from oslo.utils import netutils
import netaddr
from sqlalchemy.dialects import postgresql
from sqlalchemy import types
@ -39,7 +40,7 @@ class IPAddress(types.TypeDecorator):
return value
# NOTE(maurosr): The purpose here is to convert ipv6 to the shortened
# form, not validate it.
elif utils.is_valid_ipv6(value):
elif netutils.is_valid_ipv6(value):
return utils.get_shortened_ipv6(value)
return value

View File

@ -27,6 +27,7 @@ import glanceclient
import glanceclient.exc
from oslo.config import cfg
from oslo.serialization import jsonutils
from oslo.utils import netutils
from oslo.utils import timeutils
import six
import six.moves.urllib.parse as urlparse
@ -35,7 +36,6 @@ from nova import exception
from nova.i18n import _, _LE
import nova.image.download as image_xfers
from nova.openstack.common import log as logging
from nova import utils
glance_opts = [
@ -79,7 +79,7 @@ CONF.import_group('ssl', 'nova.openstack.common.sslutils')
def generate_glance_url():
"""Generate the URL to glance."""
glance_host = CONF.glance.host
if utils.is_valid_ipv6(glance_host):
if netutils.is_valid_ipv6(glance_host):
glance_host = '[%s]' % glance_host
return "%s://%s:%d" % (CONF.glance.protocol, glance_host,
CONF.glance.port)
@ -140,7 +140,7 @@ def _create_glance_client(context, host, port, use_ssl, version=1):
# header 'X-Auth-Token' and 'token'
params['token'] = context.auth_token
params['identity_headers'] = generate_identity_headers(context)
if utils.is_valid_ipv6(host):
if netutils.is_valid_ipv6(host):
# if so, it is ipv6 address, need to wrap it with '[]'
host = '[%s]' % host
endpoint = '%s://%s:%s' % (scheme, host, port)

View File

@ -37,6 +37,7 @@ from oslo.config import cfg
from oslo import messaging
from oslo.utils import excutils
from oslo.utils import importutils
from oslo.utils import netutils
from oslo.utils import strutils
from oslo.utils import timeutils
@ -1510,7 +1511,7 @@ class NetworkManager(manager.Manager):
# check if the fixed IP address is valid and
# it actually belongs to the network
if address is not None:
if not utils.is_valid_ip_address(address):
if not netutils.is_valid_ip(address):
raise exception.FixedIpInvalid(address=address)
fixed_ip_ref = objects.FixedIP.get_by_address(

View File

@ -20,13 +20,13 @@ import sys
import glanceclient.exc
import mock
from oslo.config import cfg
from oslo.utils import netutils
import testtools
from nova import context
from nova import exception
from nova.image import glance
from nova import test
from nova import utils
CONF = cfg.CONF
NOW_GLANCE_FORMAT = "2010-10-11T10:30:22.000000"
@ -200,7 +200,7 @@ class TestGetImageService(test.NoDBTestCase):
class TestCreateGlanceClient(test.NoDBTestCase):
@mock.patch('nova.utils.is_valid_ipv6')
@mock.patch('oslo.utils.netutils.is_valid_ipv6')
@mock.patch('glanceclient.Client')
def test_headers_passed_glanceclient(self, init_mock, ipv6_mock):
self.flags(auth_strategy='keystone')
@ -1167,7 +1167,7 @@ class TestGlanceUrl(test.NoDBTestCase):
generated_url = glance.generate_glance_url()
glance_host = CONF.glance.host
# ipv6 address, need to wrap it with '[]'
if utils.is_valid_ipv6(glance_host):
if netutils.is_valid_ipv6(glance_host):
glance_host = '[%s]' % glance_host
http_url = "http://%s:%d" % (glance_host, CONF.glance.port)
self.assertEqual(generated_url, http_url)
@ -1177,7 +1177,7 @@ class TestGlanceUrl(test.NoDBTestCase):
generated_url = glance.generate_glance_url()
glance_host = CONF.glance.host
# ipv6 address, need to wrap it with '[]'
if utils.is_valid_ipv6(glance_host):
if netutils.is_valid_ipv6(glance_host):
glance_host = '[%s]' % glance_host
https_url = "https://%s:%d" % (glance_host, CONF.glance.port)
self.assertEqual(generated_url, https_url)

View File

@ -25,6 +25,7 @@ from oslo.config import cfg
from oslo.db import exception as db_exc
from oslo import messaging
from oslo.utils import importutils
from oslo.utils import netutils
from oslo_concurrency import processutils
import six
@ -2711,7 +2712,7 @@ class AllocateTestCase(test.TestCase):
project_id=project_id, macs=None)
self.assertEqual(1, len(nw_info))
fixed_ip = nw_info.fixed_ips()[0]['address']
self.assertTrue(utils.is_valid_ipv4(fixed_ip))
self.assertTrue(netutils.is_valid_ipv4(fixed_ip))
self.network.deallocate_for_instance(self.context,
instance=inst)

View File

@ -240,24 +240,6 @@ class GenericUtilsTestCase(test.NoDBTestCase):
self.assertEqual('&lt;', utils.xhtml_escape('<'))
self.assertEqual('&lt;foo&gt;', utils.xhtml_escape('<foo>'))
def test_is_valid_ipv4(self):
self.assertTrue(utils.is_valid_ipv4('127.0.0.1'))
self.assertFalse(utils.is_valid_ipv4('::1'))
self.assertFalse(utils.is_valid_ipv4('bacon'))
self.assertFalse(utils.is_valid_ipv4(""))
self.assertFalse(utils.is_valid_ipv4(10))
def test_is_valid_ipv6(self):
self.assertTrue(utils.is_valid_ipv6("::1"))
self.assertTrue(utils.is_valid_ipv6(
"abcd:ef01:2345:6789:abcd:ef01:192.168.254.254"))
self.assertTrue(utils.is_valid_ipv6(
"0000:0000:0000:0000:0000:0000:0000:0001"))
self.assertFalse(utils.is_valid_ipv6("foo"))
self.assertFalse(utils.is_valid_ipv6("127.0.0.1"))
self.assertFalse(utils.is_valid_ipv6(""))
self.assertFalse(utils.is_valid_ipv6(10))
def test_is_valid_ipv6_cidr(self):
self.assertTrue(utils.is_valid_ipv6_cidr("2600::/64"))
self.assertTrue(utils.is_valid_ipv6_cidr(

View File

@ -492,25 +492,6 @@ def is_int_like(val):
return False
def is_valid_ipv4(address):
"""Verify that address represents a valid IPv4 address."""
try:
return netaddr.valid_ipv4(address)
except (ValueError, netaddr.AddrFormatError):
return False
def is_valid_ipv6(address):
try:
return netaddr.valid_ipv6(address)
except (ValueError, netaddr.AddrFormatError):
return False
def is_valid_ip_address(address):
return is_valid_ipv4(address) or is_valid_ipv6(address)
def is_valid_ipv6_cidr(address):
try:
netaddr.IPNetwork(address, version=6).cidr

View File

@ -24,10 +24,10 @@ import httplib
import urllib
import urllib2
from oslo.utils import netutils
import six.moves.urllib.parse as urlparse
from nova.openstack.common import log as logging
from nova import utils
LOG = logging.getLogger(__name__)
@ -107,7 +107,7 @@ class VMwareHTTPFile(object):
raise NotImplementedError()
def _get_base_url(self, scheme, host, file_path):
if utils.is_valid_ipv6(host):
if netutils.is_valid_ipv6(host):
base_url = "%s://[%s]/folder/%s" % (scheme, host,
urllib.pathname2url(file_path))
else:

View File

@ -28,6 +28,7 @@ from oslo.config import cfg
from oslo.serialization import jsonutils
from oslo.utils import excutils
from oslo.utils import importutils
from oslo.utils import netutils
from oslo.utils import strutils
from oslo.utils import timeutils
from oslo.utils import units
@ -2031,8 +2032,8 @@ class VMOps(object):
raise exception.MigrationPreCheckError(reason=msg)
pifkey = pifs.keys()[0]
if not (utils.is_valid_ipv4(pifs[pifkey]['IP']) or
utils.is_valid_ipv6(pifs[pifkey]['IPv6'])):
if not (netutils.is_valid_ipv4(pifs[pifkey]['IP']) or
netutils.is_valid_ipv6(pifs[pifkey]['IPv6'])):
msg = (_('PIF %s does not contain IP address')
% pifs[pifkey]['uuid'])
raise exception.MigrationPreCheckError(reason=msg)