Merge "Allow adding fixed IPs by network UUID"
This commit is contained in:
@@ -1177,8 +1177,11 @@ class NetworkManager(manager.SchedulerDependentManager):
|
||||
@wrap_check_policy
|
||||
def add_fixed_ip_to_instance(self, context, instance_id, host, network_id):
|
||||
"""Adds a fixed ip to an instance from specified network."""
|
||||
networks = [self._get_network_by_id(context, network_id)]
|
||||
self._allocate_fixed_ips(context, instance_id, host, networks)
|
||||
if utils.is_uuid_like(network_id):
|
||||
network = self.get_network(context, network_id)
|
||||
else:
|
||||
network = self._get_network_by_id(context, network_id)
|
||||
self._allocate_fixed_ips(context, instance_id, host, [network])
|
||||
|
||||
@wrap_check_policy
|
||||
def remove_fixed_ip_from_instance(self, context, instance_id, host,
|
||||
|
||||
@@ -268,7 +268,7 @@ class FlatNetworkTestCase(test.TestCase):
|
||||
|
||||
self.network.validate_networks(self.context, requested_networks)
|
||||
|
||||
def test_add_fixed_ip_instance_without_vpn_requested_networks(self):
|
||||
def test_add_fixed_ip_instance_using_id_without_vpn(self):
|
||||
self.mox.StubOutWithMock(db, 'network_get')
|
||||
self.mox.StubOutWithMock(db, 'network_update')
|
||||
self.mox.StubOutWithMock(db, 'fixed_ip_associate_pool')
|
||||
@@ -301,6 +301,39 @@ class FlatNetworkTestCase(test.TestCase):
|
||||
self.network.add_fixed_ip_to_instance(self.context, 1, HOST,
|
||||
networks[0]['id'])
|
||||
|
||||
def test_add_fixed_ip_instance_using_uuid_without_vpn(self):
|
||||
self.mox.StubOutWithMock(db, 'network_get_by_uuid')
|
||||
self.mox.StubOutWithMock(db, 'network_update')
|
||||
self.mox.StubOutWithMock(db, 'fixed_ip_associate_pool')
|
||||
self.mox.StubOutWithMock(db, 'instance_get')
|
||||
self.mox.StubOutWithMock(db,
|
||||
'virtual_interface_get_by_instance_and_network')
|
||||
self.mox.StubOutWithMock(db, 'fixed_ip_update')
|
||||
|
||||
db.fixed_ip_update(mox.IgnoreArg(),
|
||||
mox.IgnoreArg(),
|
||||
mox.IgnoreArg())
|
||||
db.virtual_interface_get_by_instance_and_network(mox.IgnoreArg(),
|
||||
mox.IgnoreArg(), mox.IgnoreArg()).AndReturn({'id': 0})
|
||||
|
||||
db.instance_get(mox.IgnoreArg(),
|
||||
mox.IgnoreArg()).AndReturn({'security_groups':
|
||||
[{'id': 0}]})
|
||||
db.instance_get(self.context,
|
||||
1).AndReturn({'display_name': HOST,
|
||||
'uuid': 'test-00001'})
|
||||
db.instance_get(mox.IgnoreArg(),
|
||||
mox.IgnoreArg()).AndReturn({'availability_zone': ''})
|
||||
db.fixed_ip_associate_pool(mox.IgnoreArg(),
|
||||
mox.IgnoreArg(),
|
||||
mox.IgnoreArg()).AndReturn('192.168.0.101')
|
||||
db.network_get_by_uuid(mox.IgnoreArg(),
|
||||
mox.IgnoreArg()).AndReturn(networks[0])
|
||||
db.network_update(mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg())
|
||||
self.mox.ReplayAll()
|
||||
self.network.add_fixed_ip_to_instance(self.context, 1, HOST,
|
||||
networks[0]['uuid'])
|
||||
|
||||
def test_mini_dns_driver(self):
|
||||
zone1 = "example.org"
|
||||
zone2 = "example.com"
|
||||
|
||||
Reference in New Issue
Block a user