add tests and fix bug when no ip was set
This commit is contained in:
@@ -345,3 +345,58 @@ class LinuxNetworkTestCase(test.TestCase):
|
||||
expected = ("10.0.0.1,fake_instance00.novalocal,192.168.0.100")
|
||||
actual = self.driver._host_dhcp(fixed_ips[0])
|
||||
self.assertEquals(actual, expected)
|
||||
|
||||
def _test_initialize_gateway(self, existing, expected):
|
||||
self.flags(fake_network=False)
|
||||
executes = []
|
||||
def fake_execute(*args, **kwargs):
|
||||
executes.append(args)
|
||||
if args[0] == 'ip' and args[1] == 'addr' and args[2] == 'show':
|
||||
return existing, ""
|
||||
self.stubs.Set(utils, 'execute', fake_execute)
|
||||
network = {'dhcp_server': '192.168.1.1',
|
||||
'cidr': '192.168.1.0/24',
|
||||
'broadcast': '192.168.1.255',
|
||||
'cidr_v6': '2001:db8::/64'}
|
||||
self.driver.initialize_gateway_device('eth0', network)
|
||||
self.assertEqual(executes, expected)
|
||||
|
||||
def test_initialize_gateway_moves_wrong_ip(self):
|
||||
existing = ("2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> "
|
||||
" mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000\n"
|
||||
" link/ether de:ad:be:ef:be:ef brd ff:ff:ff:ff:ff:ff\n"
|
||||
" inet 192.168.0.1/24 brd 192.168.0.255 scope global eth0\n"
|
||||
" inet6 dead::beef:dead:beef:dead/64 scope link\n"
|
||||
" valid_lft forever preferred_lft forever\n")
|
||||
expected = [('ip', 'addr', 'show', 'dev', 'eth0', 'scope', 'global'),
|
||||
('ip', 'addr', 'del', '192.168.0.1/24', 'brd', '192.168.0.255', 'scope', 'global', 'dev', 'eth0'),
|
||||
('ip', 'addr', 'add', '192.168.1.1/24', 'brd', '192.168.1.255', 'dev', 'eth0'),
|
||||
('ip', 'addr', 'add', '192.168.0.1/24', 'brd', '192.168.0.255', 'scope', 'global', 'dev', 'eth0'),
|
||||
('ip', '-f', 'inet6', 'addr', 'change', '2001:db8::/64', 'dev', 'eth0'),
|
||||
('ip', 'link', 'set', 'dev', 'eth0', 'promisc', 'on')]
|
||||
self._test_initialize_gateway(existing, expected)
|
||||
|
||||
def test_initialize_gateway_no_move_right_ip(self):
|
||||
existing = ("2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> "
|
||||
" mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000\n"
|
||||
" link/ether de:ad:be:ef:be:ef brd ff:ff:ff:ff:ff:ff\n"
|
||||
" inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0\n"
|
||||
" inet 192.168.0.1/24 brd 192.168.0.255 scope global eth0\n"
|
||||
" inet6 dead::beef:dead:beef:dead/64 scope link\n"
|
||||
" valid_lft forever preferred_lft forever\n")
|
||||
expected = [('ip', 'addr', 'show', 'dev', 'eth0', 'scope', 'global'),
|
||||
('ip', '-f', 'inet6', 'addr', 'change', '2001:db8::/64', 'dev', 'eth0'),
|
||||
('ip', 'link', 'set', 'dev', 'eth0', 'promisc', 'on')]
|
||||
self._test_initialize_gateway(existing, expected)
|
||||
|
||||
def test_initialize_gateway_add_if_blank(self):
|
||||
existing = ("2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> "
|
||||
" mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000\n"
|
||||
" link/ether de:ad:be:ef:be:ef brd ff:ff:ff:ff:ff:ff\n"
|
||||
" inet6 dead::beef:dead:beef:dead/64 scope link\n"
|
||||
" valid_lft forever preferred_lft forever\n")
|
||||
expected = [('ip', 'addr', 'show', 'dev', 'eth0', 'scope', 'global'),
|
||||
('ip', 'addr', 'add', '192.168.1.1/24', 'brd', '192.168.1.255', 'dev', 'eth0'),
|
||||
('ip', '-f', 'inet6', 'addr', 'change', '2001:db8::/64', 'dev', 'eth0'),
|
||||
('ip', 'link', 'set', 'dev', 'eth0', 'promisc', 'on')]
|
||||
self._test_initialize_gateway(existing, expected)
|
||||
|
||||
Reference in New Issue
Block a user