Merge "XenAPI: Integers returned from XAPI are actually strings"
This commit is contained in:
commit
9a26e9236d
@ -244,9 +244,9 @@ class RebootRetryTestCase(AgentTestCaseBase):
|
||||
self.flags(agent_timeout=3, group="xenserver")
|
||||
mock_time.return_value = 0
|
||||
mock_session = mock.Mock()
|
||||
old = 40
|
||||
new = 42
|
||||
mock_session.VM.get_domid.side_effect = [old, -1, new]
|
||||
old = "40"
|
||||
new = "42"
|
||||
mock_session.VM.get_domid.side_effect = [old, "-1", new]
|
||||
|
||||
agent._wait_for_new_dom_id(mock_session, "vm_ref", old, "method")
|
||||
|
||||
@ -372,7 +372,7 @@ class CallAgentTestCase(AgentTestCaseBase):
|
||||
session.XenAPI.Failure = xenapi_fake.Failure
|
||||
instance = {"uuid": "fake"}
|
||||
|
||||
session.VM.get_domid.return_value = 42
|
||||
session.VM.get_domid.return_value = "42"
|
||||
mock_uuid.return_value = 1
|
||||
if exception:
|
||||
session.call_plugin.side_effect = exception
|
||||
|
@ -283,12 +283,21 @@ class GetConsoleOutputTestCase(VMOpsTestBase):
|
||||
def test_get_dom_id_raises_not_found(self):
|
||||
instance = {"name": "dummy"}
|
||||
self.create_vm("not-dummy")
|
||||
self.assertRaises(exception.NotFound, self.vmops._get_dom_id, instance)
|
||||
self.assertRaises(exception.InstanceNotFound,
|
||||
self.vmops._get_dom_id, instance)
|
||||
|
||||
def test_get_dom_id_works_with_vmref(self):
|
||||
vm, vm_ref = self.create_vm("dummy")
|
||||
instance = {'name': 'dummy'}
|
||||
self.assertEqual(vm["domid"],
|
||||
self.vmops._get_dom_id(vm_ref=vm_ref))
|
||||
self.vmops._get_dom_id(instance, vm_ref=vm_ref))
|
||||
|
||||
def test_get_dom_id_fails_if_shutdown(self):
|
||||
vm, vm_ref = self.create_vm("dummy")
|
||||
instance = {'name': 'dummy'}
|
||||
self._session.VM.hard_shutdown(vm_ref)
|
||||
self.assertRaises(exception.InstanceNotFound,
|
||||
self.vmops._get_dom_id, instance, vm_ref=vm_ref)
|
||||
|
||||
|
||||
class SpawnTestCase(VMOpsTestBase):
|
||||
|
@ -128,7 +128,7 @@ def _wait_for_new_dom_id(session, vm_ref, old_dom_id, method):
|
||||
while True:
|
||||
dom_id = session.VM.get_domid(vm_ref)
|
||||
|
||||
if dom_id and dom_id != -1 and dom_id != old_dom_id:
|
||||
if dom_id and dom_id != "-1" and dom_id != old_dom_id:
|
||||
LOG.debug("Found new dom_id %s", dom_id)
|
||||
return
|
||||
|
||||
|
@ -119,10 +119,10 @@ def create_network(name_label, bridge):
|
||||
|
||||
def create_vm(name_label, status, **kwargs):
|
||||
if status == 'Running':
|
||||
domid = random.randrange(1, 1 << 16)
|
||||
domid = "%d" % random.randrange(1, 1 << 16)
|
||||
resident_on = list(_db_content['host'])[0]
|
||||
else:
|
||||
domid = -1
|
||||
domid = "-1"
|
||||
resident_on = ''
|
||||
|
||||
vm_rec = kwargs.copy()
|
||||
@ -244,7 +244,7 @@ def after_VIF_create(vif_ref, vif_rec):
|
||||
|
||||
def after_VM_create(vm_ref, vm_rec):
|
||||
"""Create read-only fields in the VM record."""
|
||||
vm_rec.setdefault('domid', -1)
|
||||
vm_rec.setdefault('domid', "-1")
|
||||
vm_rec.setdefault('is_control_domain', False)
|
||||
vm_rec.setdefault('is_a_template', False)
|
||||
vm_rec.setdefault('memory_static_max', str(8 * units.Gi))
|
||||
@ -787,7 +787,7 @@ class SessionBase(object):
|
||||
raise Failure(['VM_BAD_POWER_STATE',
|
||||
'fake-opaque-ref', db_ref['power_state'].lower(), 'halted'])
|
||||
db_ref['power_state'] = 'Running'
|
||||
db_ref['domid'] = random.randrange(1, 1 << 16)
|
||||
db_ref['domid'] = '%d' % (random.randrange(1, 1 << 16))
|
||||
|
||||
def VM_clean_reboot(self, session, vm_ref):
|
||||
return self._VM_reboot(session, vm_ref)
|
||||
@ -798,7 +798,7 @@ class SessionBase(object):
|
||||
def VM_hard_shutdown(self, session, vm_ref):
|
||||
db_ref = _db_content['VM'][vm_ref]
|
||||
db_ref['power_state'] = 'Halted'
|
||||
db_ref['domid'] = -1
|
||||
db_ref['domid'] = "-1"
|
||||
VM_clean_shutdown = VM_hard_shutdown
|
||||
|
||||
def VM_suspend(self, session, vm_ref):
|
||||
|
@ -2042,14 +2042,14 @@ class VMOps(object):
|
||||
instance=instance)
|
||||
return {'returncode': 'error', 'message': err_msg}
|
||||
|
||||
def _get_dom_id(self, instance=None, vm_ref=None, check_rescue=False):
|
||||
def _get_dom_id(self, instance, vm_ref=None, check_rescue=False):
|
||||
vm_ref = vm_ref or self._get_vm_opaque_ref(instance, check_rescue)
|
||||
domid = self._session.call_xenapi("VM.get_domid", vm_ref)
|
||||
if not domid or domid == -1:
|
||||
if not domid or domid == "-1":
|
||||
raise exception.InstanceNotFound(instance_id=instance['name'])
|
||||
return domid
|
||||
|
||||
def _get_last_dom_id(self, instance=None, vm_ref=None, check_rescue=False):
|
||||
def _get_last_dom_id(self, instance, vm_ref=None, check_rescue=False):
|
||||
vm_ref = vm_ref or self._get_vm_opaque_ref(instance, check_rescue)
|
||||
other_config = self._session.call_xenapi("VM.get_other_config", vm_ref)
|
||||
if 'last_dom_id' not in other_config:
|
||||
|
Loading…
x
Reference in New Issue
Block a user