summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Koelker <jason@koelker.net>2011-05-27 15:01:03 -0500
committerJason Koelker <jason@koelker.net>2011-05-27 15:01:03 -0500
commit80b861ecdbb3a8919befaf855ab12be3b15c55b1 (patch)
treedd8b0648e75f0b3a18ad845b2062738ed59657fc
parentcee7b20044a9387fcfa62f3d90af003e65a48e45 (diff)
parent03a179ed2e75f00d4321bf6835d163f581f3a193 (diff)
merge with dietz
-rw-r--r--nova/network/manager.py2
-rw-r--r--nova/tests/glance/stubs.py4
-rw-r--r--nova/tests/test_cloud.py1
-rw-r--r--nova/tests/test_xenapi.py28
-rw-r--r--nova/virt/xenapi/vmops.py1
5 files changed, 24 insertions, 12 deletions
diff --git a/nova/network/manager.py b/nova/network/manager.py
index 742429735..5430baf56 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -181,7 +181,7 @@ class FloatingIP(object):
# which is currently the NetworkManager version
# do this first so fixed ip is already allocated
ips = super(FloatingIP, self).allocate_for_instance(context, **kwargs)
- if FLAGS.auto_assign_floating_ip:
+ if hasattr(FLAGS, 'auto_assign_floating_ip'):
# allocate a floating ip (public_ip is just the address string)
public_ip = self.allocate_floating_ip(context, project_id)
# set auto_assigned column to true for the floating ip
diff --git a/nova/tests/glance/stubs.py b/nova/tests/glance/stubs.py
index 5872552ec..274015e0e 100644
--- a/nova/tests/glance/stubs.py
+++ b/nova/tests/glance/stubs.py
@@ -63,8 +63,8 @@ class FakeGlance(object):
pass
def get_image_meta(self, image_id):
- return self.IMAGE_FIXTURES[image_id]['image_meta']
+ return self.IMAGE_FIXTURES[int(image_id)]['image_meta']
def get_image(self, image_id):
- image = self.IMAGE_FIXTURES[image_id]
+ image = self.IMAGE_FIXTURES[int(image_id)]
return image['image_meta'], image['image_data']
diff --git a/nova/tests/test_cloud.py b/nova/tests/test_cloud.py
index 3727160cb..04deefcec 100644
--- a/nova/tests/test_cloud.py
+++ b/nova/tests/test_cloud.py
@@ -117,6 +117,7 @@ class CloudTestCase(test.TestCase):
greenthread.sleep(0.3)
db.floating_ip_destroy(self.context, address)
+ @test.skip_test("Skipping this pending future merge")
def test_associate_disassociate_address(self):
"""Verifies associate runs cleanly without raising an exception"""
address = "10.10.10.10"
diff --git a/nova/tests/test_xenapi.py b/nova/tests/test_xenapi.py
index 75abe559c..4ab81008c 100644
--- a/nova/tests/test_xenapi.py
+++ b/nova/tests/test_xenapi.py
@@ -353,7 +353,7 @@ class XenAPIVMTestCase(test.TestCase):
def _test_spawn(self, image_id, kernel_id, ramdisk_id,
instance_type_id="3", os_type="linux",
- instance_id=1, check_injection=False):
+ instance_id=1, check_injection=False, create_record=True):
stubs.stubout_loopingcall_start(self.stubs)
values = {'id': instance_id,
'project_id': self.project.id,
@@ -364,8 +364,11 @@ class XenAPIVMTestCase(test.TestCase):
'instance_type_id': instance_type_id,
'mac_address': 'aa:bb:cc:dd:ee:ff',
'os_type': os_type}
- instance = db.instance_create(self.context, values)
- self.conn.spawn(instance, {})
+ if create_record:
+ instance = db.instance_create(self.context, values)
+ self.conn.spawn(instance, None)
+ else:
+ instance = db.instance_get(self.context, instance_id)
self.create_vm_record(self.conn, os_type, instance_id)
self.check_vm_record(self.conn, check_injection)
@@ -492,18 +495,25 @@ class XenAPIVMTestCase(test.TestCase):
network_manager='nova.network.manager.VlanManager',
network_driver='nova.network.xenapi_net',
vlan_interface='fake0')
+ def dummy(*args, **kwargs):
+ pass
+ self.stubs.Set(VMOps, 'create_vifs', dummy)
# Reset network table
xenapi_fake.reset_table('network')
# Instance id = 2 will use vlan network (see db/fakes.py)
- fake_instance_id = 2
+ ctxt = self.context.elevated()
+ instance_ref = self._create_instance(2)
network_bk = self.network
# Ensure we use xenapi_net driver
self.network = utils.import_object(FLAGS.network_manager)
- self.network.setup_compute_network(None, fake_instance_id)
+ self.network.allocate_for_instance(ctxt, instance_id=instance_ref.id,
+ instance_type_id=1, project_id=ctxt.project.id)
+ self.network.setup_compute_network(ctxt, instance_ref.id)
self._test_spawn(glance_stubs.FakeGlance.IMAGE_MACHINE,
glance_stubs.FakeGlance.IMAGE_KERNEL,
glance_stubs.FakeGlance.IMAGE_RAMDISK,
- instance_id=fake_instance_id)
+ instance_id=instance_ref.id,
+ create_record=False)
# TODO(salvatore-orlando): a complete test here would require
# a check for making sure the bridge for the VM's VIF is
# consistent with bridge specified in nova db
@@ -537,11 +547,11 @@ class XenAPIVMTestCase(test.TestCase):
self.vm = None
self.stubs.UnsetAll()
- def _create_instance(self):
+ def _create_instance(self, instance_id=1):
"""Creates and spawns a test instance."""
stubs.stubout_loopingcall_start(self.stubs)
values = {
- 'id': 1,
+ 'id': instance_id,
'project_id': self.project.id,
'user_id': self.user.id,
'image_id': 1,
@@ -551,7 +561,7 @@ class XenAPIVMTestCase(test.TestCase):
'mac_address': 'aa:bb:cc:dd:ee:ff',
'os_type': 'linux'}
instance = db.instance_create(self.context, values)
- self.conn.spawn(instance, {})
+ self.conn.spawn(instance, None)
return instance
diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py
index 0074444f8..1919e274d 100644
--- a/nova/virt/xenapi/vmops.py
+++ b/nova/virt/xenapi/vmops.py
@@ -870,6 +870,7 @@ class VMOps(object):
def create_vifs(self, vm_ref, network_info):
"""Creates vifs for an instance."""
+
logging.debug(_("creating vif(s) for vm: |%s|"), vm_ref)
# this function raises if vm_ref is not a vm_opaque_ref