Use get_my_ipv4 from oslo.utils

Remove _get_my_ip from nova and replace it's usages
by usages of get_my_ipv4 from netutils, because this methods
implements the same functionality.

Also removed related tests

Change-Id: Id0fa74a115be436137e0c94585294f4e131e5f5e
This commit is contained in:
Eugeniya Kudryashova 2014-12-22 17:38:58 +02:00
parent 3ae2ddd4a2
commit ed51210813
3 changed files with 4 additions and 108 deletions

View File

@ -18,33 +18,14 @@
import socket
from oslo.config import cfg
from nova import utils
from oslo.utils import netutils
CONF = cfg.CONF
def _get_my_ip():
"""Returns the actual ip of the local machine.
This code figures out what source address would be used if some traffic
were to be sent out to some well known address on the Internet. In this
case, a Google DNS server is used, but the specific address does not
matter much. No traffic is actually sent.
"""
try:
csock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
csock.connect(('8.8.8.8', 80))
(addr, port) = csock.getsockname()
csock.close()
return addr
except socket.error:
return utils.get_my_ipv4_address()
netconf_opts = [
cfg.StrOpt('my_ip',
default=_get_my_ip(),
default=netutils.get_my_ipv4(),
help='IP address of this host'),
cfg.StrOpt('my_block_storage_ip',
default='$my_ip',

View File

@ -17,6 +17,7 @@ import datetime
import uuid
from oslo.serialization import jsonutils
from oslo.utils import netutils
from oslo.utils import timeutils
import routes
import six
@ -176,7 +177,7 @@ def stub_out_instance_quota(stubs, allowed, quota, resource='instances'):
def stub_out_networking(stubs):
def get_my_ip():
return '127.0.0.1'
stubs.Set(nova.netconf, '_get_my_ip', get_my_ip)
stubs.Set(netutils, 'get_my_ipv4', get_my_ip)
def stub_out_compute_api_snapshot(stubs):

View File

@ -36,92 +36,6 @@ from nova import utils
CONF = cfg.CONF
class GetMyIP4AddressTestCase(test.NoDBTestCase):
def test_get_my_ipv4_address_with_no_ipv4(self):
response = """172.16.0.0/16 via 172.16.251.13 dev tun1
172.16.251.1 via 172.16.251.13 dev tun1
172.16.251.13 dev tun1 proto kernel scope link src 172.16.251.14
172.24.0.0/16 via 172.16.251.13 dev tun1
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1"""
def fake_execute(*args, **kwargs):
return response, None
self.stubs.Set(utils, 'execute', fake_execute)
address = utils.get_my_ipv4_address()
self.assertEqual(address, '127.0.0.1')
def test_get_my_ipv4_address_bad_process(self):
def fake_execute(*args, **kwargs):
raise processutils.ProcessExecutionError()
self.stubs.Set(utils, 'execute', fake_execute)
address = utils.get_my_ipv4_address()
self.assertEqual(address, '127.0.0.1')
def test_get_my_ipv4_address_with_single_interface(self):
response_route = """default via 192.168.1.1 dev wlan0 proto static
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.137 metric 9
"""
response_addr = """
1: lo inet 127.0.0.1/8 scope host lo
3: wlan0 inet 192.168.1.137/24 brd 192.168.1.255 scope global wlan0
"""
def fake_execute(*args, **kwargs):
if 'route' in args:
return response_route, None
return response_addr, None
self.stubs.Set(utils, 'execute', fake_execute)
address = utils.get_my_ipv4_address()
self.assertEqual(address, '192.168.1.137')
def test_get_my_ipv4_address_with_multi_ipv4_on_single_interface(self):
response_route = """
172.18.56.0/24 dev customer proto kernel scope link src 172.18.56.22
169.254.0.0/16 dev customer scope link metric 1031
default via 172.18.56.1 dev customer
"""
response_addr = (""
"31: customer inet 172.18.56.22/24 brd 172.18.56.255 scope global"
" customer\n"
"31: customer inet 172.18.56.32/24 brd 172.18.56.255 scope global "
"secondary customer")
def fake_execute(*args, **kwargs):
if 'route' in args:
return response_route, None
return response_addr, None
self.stubs.Set(utils, 'execute', fake_execute)
address = utils.get_my_ipv4_address()
self.assertEqual(address, '172.18.56.22')
def test_get_my_ipv4_address_with_multiple_interfaces(self):
response_route = """
169.1.9.0/24 dev eth1 proto kernel scope link src 169.1.9.10
172.17.248.0/21 dev eth0 proto kernel scope link src 172.17.255.9
169.254.0.0/16 dev eth0 scope link metric 1002
169.254.0.0/16 dev eth1 scope link metric 1003
default via 172.17.248.1 dev eth0 proto static
"""
response_addr = """
1: lo inet 127.0.0.1/8 scope host lo
2: eth0 inet 172.17.255.9/21 brd 172.17.255.255 scope global eth0
3: eth1 inet 169.1.9.10/24 scope global eth1
"""
def fake_execute(*args, **kwargs):
if 'route' in args:
return response_route, None
return response_addr, None
self.stubs.Set(utils, 'execute', fake_execute)
address = utils.get_my_ipv4_address()
self.assertEqual(address, '172.17.255.9')
class GenericUtilsTestCase(test.NoDBTestCase):
def test_parse_server_string(self):
result = utils.parse_server_string('::1')