Merge "Ensure that the dom0 we're connected to is the right one"

This commit is contained in:
Jenkins 2012-05-03 18:04:47 +00:00 committed by Gerrit Code Review
commit 8fc533699d
2 changed files with 21 additions and 0 deletions

View File

@ -90,6 +90,10 @@ xenapi_opts = [
default=5.0,
help='The interval used for polling of coalescing vhds. '
'Used only if connection_type=xenapi.'),
cfg.BoolOpt('xenapi_check_host',
default=True,
help='Ensure compute service is running on host XenAPI '
'connects to.'),
cfg.IntOpt('xenapi_vhd_coalesce_max_attempts',
default=5,
help='Max number of times to poll for VHD to coalesce. '
@ -166,6 +170,9 @@ class XenAPIConnection(driver.ComputeDriver):
return self._host_state
def init_host(self, host):
if FLAGS.xenapi_check_host:
vm_utils.ensure_correct_host(self._session)
try:
vm_utils.cleanup_attached_vdis(self._session)
except Exception:

View File

@ -1819,3 +1819,17 @@ def _prepare_injectables(inst, networks_info):
searchList=[{'interfaces': interfaces_info,
'use_ipv6': FLAGS.use_ipv6}]))
return key, net, metadata
def ensure_correct_host(session):
"""Ensure we're connected to the host we're running on. This is the
required configuration for anything that uses vdi_attached_here."""
this_vm_uuid = get_this_vm_uuid()
try:
session.call_xenapi('VM.get_by_uuid', this_vm_uuid)
except session.XenAPI.Failure as exc:
if exc.details[0] != 'UUID_INVALID':
raise
raise Exception(_('This domU must be running on the host '
'specified by xenapi_connection_url'))