Merge "Reuse methods from netutils"
This commit is contained in:
commit
ad69ea886c
|
@ -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),
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -240,24 +240,6 @@ class GenericUtilsTestCase(test.NoDBTestCase):
|
|||
self.assertEqual('<', utils.xhtml_escape('<'))
|
||||
self.assertEqual('<foo>', 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(
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue