Merge "Define cross-driver standardized vm_mode values"
This commit is contained in:
@@ -32,6 +32,7 @@ from nova.compute import instance_types
|
||||
from nova.compute import power_state
|
||||
from nova.compute import rpcapi as compute_rpcapi
|
||||
from nova.compute import utils as compute_utils
|
||||
from nova.compute import vm_mode
|
||||
from nova.compute import vm_states
|
||||
from nova import context
|
||||
from nova import db
|
||||
@@ -508,7 +509,7 @@ class LibvirtConnTestCase(test.TestCase):
|
||||
self.assertEquals(cfg.acpi, True)
|
||||
self.assertEquals(cfg.memory, 1024 * 1024 * 2)
|
||||
self.assertEquals(cfg.vcpus, 1)
|
||||
self.assertEquals(cfg.os_type, "hvm")
|
||||
self.assertEquals(cfg.os_type, vm_mode.HVM)
|
||||
self.assertEquals(cfg.os_boot_dev, "hd")
|
||||
self.assertEquals(cfg.os_root, None)
|
||||
self.assertEquals(len(cfg.devices), 7)
|
||||
@@ -552,7 +553,7 @@ class LibvirtConnTestCase(test.TestCase):
|
||||
self.assertEquals(cfg.acpi, True)
|
||||
self.assertEquals(cfg.memory, 1024 * 1024 * 2)
|
||||
self.assertEquals(cfg.vcpus, 1)
|
||||
self.assertEquals(cfg.os_type, "hvm")
|
||||
self.assertEquals(cfg.os_type, vm_mode.HVM)
|
||||
self.assertEquals(cfg.os_boot_dev, "hd")
|
||||
self.assertEquals(cfg.os_root, None)
|
||||
self.assertEquals(len(cfg.devices), 8)
|
||||
@@ -1363,18 +1364,22 @@ class LibvirtConnTestCase(test.TestCase):
|
||||
|
||||
type_uri_map = {'qemu': ('qemu:///system',
|
||||
[(lambda t: t.find('.').get('type'), 'qemu'),
|
||||
(lambda t: t.find('./os/type').text, 'hvm'),
|
||||
(lambda t: t.find('./os/type').text,
|
||||
vm_mode.HVM),
|
||||
(lambda t: t.find('./devices/emulator'), None)]),
|
||||
'kvm': ('qemu:///system',
|
||||
[(lambda t: t.find('.').get('type'), 'kvm'),
|
||||
(lambda t: t.find('./os/type').text, 'hvm'),
|
||||
(lambda t: t.find('./os/type').text,
|
||||
vm_mode.HVM),
|
||||
(lambda t: t.find('./devices/emulator'), None)]),
|
||||
'uml': ('uml:///system',
|
||||
[(lambda t: t.find('.').get('type'), 'uml'),
|
||||
(lambda t: t.find('./os/type').text, 'uml')]),
|
||||
(lambda t: t.find('./os/type').text,
|
||||
vm_mode.UML)]),
|
||||
'xen': ('xen:///',
|
||||
[(lambda t: t.find('.').get('type'), 'xen'),
|
||||
(lambda t: t.find('./os/type').text, 'linux')]),
|
||||
(lambda t: t.find('./os/type').text,
|
||||
vm_mode.XEN)]),
|
||||
}
|
||||
|
||||
for hypervisor_type in ['qemu', 'kvm', 'xen']:
|
||||
@@ -2149,12 +2154,12 @@ class LibvirtConnTestCase(test.TestCase):
|
||||
caps.host.cpu = cpu
|
||||
|
||||
guest = config.LibvirtConfigGuest()
|
||||
guest.ostype = "hvm"
|
||||
guest.ostype = vm_mode.HVM
|
||||
guest.arch = "x86_64"
|
||||
caps.guests.append(guest)
|
||||
|
||||
guest = config.LibvirtConfigGuest()
|
||||
guest.ostype = "hvm"
|
||||
guest.ostype = vm_mode.HVM
|
||||
guest.arch = "i686"
|
||||
caps.guests.append(guest)
|
||||
|
||||
|
||||
54
nova/tests/test_vmmode.py
Normal file
54
nova/tests/test_vmmode.py
Normal file
@@ -0,0 +1,54 @@
|
||||
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
||||
#
|
||||
# Copyright (C) 2012 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from nova import exception
|
||||
from nova import test
|
||||
|
||||
from nova.compute import vm_mode
|
||||
|
||||
|
||||
class ComputeVMModeTest(test.TestCase):
|
||||
|
||||
class testinstance(object):
|
||||
def __init__(self, mode):
|
||||
self.vm_mode = mode
|
||||
|
||||
def test_case(self):
|
||||
inst = ComputeVMModeTest.testinstance("HVM")
|
||||
mode = vm_mode.get_from_instance(inst)
|
||||
self.assertEqual(mode, "hvm")
|
||||
|
||||
def test_legacy_pv(self):
|
||||
inst = ComputeVMModeTest.testinstance("pv")
|
||||
mode = vm_mode.get_from_instance(inst)
|
||||
self.assertEqual(mode, "xen")
|
||||
|
||||
def test_legacy_hv(self):
|
||||
inst = ComputeVMModeTest.testinstance("hv")
|
||||
mode = vm_mode.get_from_instance(inst)
|
||||
self.assertEqual(mode, "hvm")
|
||||
|
||||
def test_bogus(self):
|
||||
inst = ComputeVMModeTest.testinstance("wibble")
|
||||
|
||||
self.assertRaises(exception.Invalid,
|
||||
vm_mode.get_from_instance,
|
||||
inst)
|
||||
|
||||
def test_good(self):
|
||||
inst = ComputeVMModeTest.testinstance("hvm")
|
||||
mode = vm_mode.get_from_instance(inst)
|
||||
self.assertEqual(mode, "hvm")
|
||||
@@ -849,6 +849,7 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
|
||||
'root_gb': 20,
|
||||
'instance_type_id': '3', # m1.large
|
||||
'os_type': 'linux',
|
||||
'vm_mode': 'hvm',
|
||||
'architecture': 'x86-64'}
|
||||
instance = db.instance_create(self.context, instance_values)
|
||||
network_info = fake_network.fake_get_instance_nw_info(self.stubs,
|
||||
|
||||
Reference in New Issue
Block a user