summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
authorAndy Southgate <andy.southgate@citrix.com>2011-01-24 19:04:25 +0000
committerAndy Southgate <andy.southgate@citrix.com>2011-01-24 19:04:25 +0000
commitcd346a2cda13833f976b9e838d67cf17c52f327e (patch)
tree4b639be009632abd5404d5a3b3cef232b6694f5c /nova/virt
parentc97618e1eaff4091f01381073a298d0f67050126 (diff)
OS-55: PEP8 fixes
Diffstat (limited to 'nova/virt')
-rw-r--r--nova/virt/conn_common.py3
-rw-r--r--nova/virt/disk.py2
-rw-r--r--nova/virt/xenapi/fake.py9
-rw-r--r--nova/virt/xenapi/vm_utils.py80
-rw-r--r--nova/virt/xenapi/vmops.py6
5 files changed, 54 insertions, 46 deletions
diff --git a/nova/virt/conn_common.py b/nova/virt/conn_common.py
index bd9ed7794..5550b50c1 100644
--- a/nova/virt/conn_common.py
+++ b/nova/virt/conn_common.py
@@ -27,7 +27,8 @@ FLAGS = flags.FLAGS
flags.DEFINE_string('injected_network_template',
utils.abspath('virt/interfaces.template'),
'Template file for injected network')
-
+
+
def get_injectables(inst):
key = str(inst['key_data'])
net = None
diff --git a/nova/virt/disk.py b/nova/virt/disk.py
index 88b05f0c0..21bb53369 100644
--- a/nova/virt/disk.py
+++ b/nova/virt/disk.py
@@ -154,6 +154,7 @@ def _allocate_device():
def _free_device(device):
_DEVICES.append(device)
+
def inject_data_into_fs(fs, key, net, execute):
"""Injects data into a filesystem already mounted by the caller.
Virt connections can call this directly if they mount their fs
@@ -164,6 +165,7 @@ def inject_data_into_fs(fs, key, net, execute):
if net:
_inject_net_into_fs(net, fs, execute=execute)
+
def _inject_key_into_fs(key, fs, execute=None):
"""Add the given public ssh key to root's authorized_keys.
diff --git a/nova/virt/xenapi/fake.py b/nova/virt/xenapi/fake.py
index f9ae8766a..561e47911 100644
--- a/nova/virt/xenapi/fake.py
+++ b/nova/virt/xenapi/fake.py
@@ -148,15 +148,18 @@ def create_vbd(vm_ref, vdi_ref):
after_VBD_create(vbd_ref, vbd_rec)
return vbd_ref
+
def VM_get_xenstore_data(vm_ref):
return _db_content['VM'][vm_ref].get('xenstore_data', '')
-
+
+
def VM_add_to_xenstore_data(vm_ref, key, value):
db_ref = _db_content['VM'][vm_ref]
if not 'xenstore_data' in db_ref:
db_ref['xenstore_data'] = {}
db_ref['xenstore_data'][key] = value
-
+
+
def after_VBD_create(vbd_ref, vbd_rec):
"""Create read-only fields and backref from VM to VBD when VBD is
created."""
@@ -169,11 +172,13 @@ def after_VBD_create(vbd_ref, vbd_rec):
vm_name_label = _db_content['VM'][vm_ref]['name_label']
vbd_rec['vm_name_label'] = vm_name_label
+
def after_VM_create(vm_ref, vm_rec):
"""Create read-only fields in the VM record."""
if 'is_control_domain' not in vm_rec:
vm_rec['is_control_domain'] = False
+
def create_pbd(config, host_ref, sr_ref, attached):
return _create_object('PBD', {
'device-config': config,
diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py
index 68946a2bb..fa60c44c3 100644
--- a/nova/virt/xenapi/vm_utils.py
+++ b/nova/virt/xenapi/vm_utils.py
@@ -448,7 +448,7 @@ class VMHelper(HelperBase):
def preconfigure_instance(cls, session, instance, vdi_ref):
"""Makes alterations to the image before launching as part of spawn.
"""
-
+
# As mounting the image VDI is expensive, we only want do do it once,
# if at all, so determine whether it's required first, and then do
# everything
@@ -456,12 +456,13 @@ class VMHelper(HelperBase):
key, net = conn_common.get_injectables(instance)
if key is not None or net is not None:
mount_required = True
-
+
if mount_required:
+
def _mounted_processing(device):
"""Callback which runs with the image VDI attached"""
-
- dev_path = '/dev/'+device+'1' # NB: Partition 1 hardcoded
+
+ dev_path = '/dev/' + device + '1' # NB: Partition 1 hardcoded
tmpdir = tempfile.mkdtemp()
try:
# Mount only Linux filesystems, to avoid disturbing
@@ -478,9 +479,9 @@ class VMHelper(HelperBase):
else:
try:
# This try block ensures that the umount occurs
-
- xe_update_networking_filename = os.path.join(tmpdir,
- 'usr', 'sbin', 'xe-update-networking')
+
+ xe_update_networking_filename = os.path.join(
+ tmpdir, 'usr', 'sbin', 'xe-update-networking')
if os.path.isfile(xe_update_networking_filename):
# The presence of the xe-update-networking
# file indicates that this guest agent can
@@ -489,14 +490,15 @@ class VMHelper(HelperBase):
# required
LOG.info(_('XenServer tools installed in this '
'image are capable of network injection. '
- 'Networking files will not be manipulated'))
+ 'Networking files will not be'
+ 'manipulated'))
else:
- xe_daemon_filename = os.path.join(tmpdir, 'usr',
- 'sbin', 'xe-daemon')
+ xe_daemon_filename = os.path.join(tmpdir,
+ 'usr', 'sbin', 'xe-daemon')
if os.path.isfile(xe_daemon_filename):
- LOG.info(_('XenServer tools are present in '
- 'this image but are not capable of '
- 'network injection'))
+ LOG.info(_('XenServer tools are present '
+ 'in this image but are not capable '
+ 'of network injection'))
else:
LOG.info(_('XenServer tools are not '
'installed in this image'))
@@ -510,24 +512,23 @@ class VMHelper(HelperBase):
# remove temporary directory
os.rmdir(tmpdir)
- with_vdi_attached_here(session, vdi_ref, False, _mounted_processing)
-
-
+ with_vdi_attached_here(session, vdi_ref, False,
+ _mounted_processing)
+
@classmethod
def preconfigure_xenstore(cls, session, instance, vm_ref):
"""Sets xenstore values to modify the image behaviour after
VM start.
"""
-
+
xenstore_types = {
- 'BroadcastAddress' : 'multi_sz',
- 'DefaultGateway' : 'multi_sz',
- 'EnableDhcp' : 'dword',
- 'IPAddress' : 'multi_sz',
- 'NameServer' : 'string',
- 'SubnetMask' : 'multi_sz'
- }
-
+ 'BroadcastAddress': 'multi_sz',
+ 'DefaultGateway': 'multi_sz',
+ 'EnableDhcp': 'dword',
+ 'IPAddress': 'multi_sz',
+ 'NameServer': 'string',
+ 'SubnetMask': 'multi_sz'}
+
# Network setup
network_ref = db.network_get_by_instance(
context.get_admin_context(), instance['id'])
@@ -535,8 +536,8 @@ class VMHelper(HelperBase):
admin_context = context.get_admin_context()
address = db.instance_get_fixed_address(admin_context,
instance['id'])
-
- xenstore_data = {
+
+ xenstore_data = {
# NB: Setting broadcast address is not supported by
# Windows or the Windows guest agent, and will be ignored
# on that platform
@@ -545,30 +546,29 @@ class VMHelper(HelperBase):
'IPAddress': address,
'SubnetMask': network_ref['netmask'],
'DefaultGateway': network_ref['gateway'],
- 'NameServer': network_ref['dns']
- }
-
- device_to_configure = 0 # Configure network device 0 in the VM
-
+ 'NameServer': network_ref['dns']}
+
+ device_to_configure = 0 # Configure network device 0 in the VM
+
vif_refs = session.call_xenapi('VM.get_VIFs', vm_ref)
mac_addr = None
-
+
for vif_ref in vif_refs:
device = session.call_xenapi('VIF.get_device', vif_ref)
if str(device) == str(device_to_configure):
mac_addr = session.call_xenapi('VIF.get_MAC', vif_ref)
break
-
+
if mac_addr is None:
raise exception.NotFound(_('Networking device %s not found '
'in VM'))
-
+
# MAC address must be upper case in the xenstore key,
# with colons replaced by underscores
underscore_mac_addr = mac_addr.replace(':', '_')
xenstore_prefix = ('vm-data/vif/' +
underscore_mac_addr.upper() + '/tcpip/')
-
+
for xenstore_key, xenstore_value in xenstore_data.iteritems():
# NB: The xenstore_key part of the instance_key isn't used but
# must be unique. We set it to xenstore_key as a convenient
@@ -578,15 +578,15 @@ class VMHelper(HelperBase):
key_type = xenstore_types[xenstore_key]
session.call_xenapi('VM.add_to_xenstore_data', vm_ref,
- instance_key+'/name', xenstore_key)
+ instance_key + '/name', xenstore_key)
session.call_xenapi('VM.add_to_xenstore_data', vm_ref,
- instance_key+'/type', key_type)
+ instance_key + '/type', key_type)
if key_type == 'multi_sz':
session.call_xenapi('VM.add_to_xenstore_data', vm_ref,
- instance_key+'/data/0', xenstore_value)
+ instance_key + '/data/0', xenstore_value)
else:
session.call_xenapi('VM.add_to_xenstore_data', vm_ref,
- instance_key+'/data', xenstore_value)
+ instance_key + '/data', xenstore_value)
@classmethod
def compile_info(cls, record):
diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py
index df282807a..9eea19c42 100644
--- a/nova/virt/xenapi/vmops.py
+++ b/nova/virt/xenapi/vmops.py
@@ -105,14 +105,14 @@ class VMOps(object):
if network_ref:
VMHelper.create_vif(self._session, vm_ref,
network_ref, instance.mac_address)
-
+
# Alter the image before VM start for, e.g. network injection
VMHelper.preconfigure_instance(self._session, instance, vdi_ref)
-
+
# Configure the VM's xenstore data before start for,
# e.g. network configuration
VMHelper.preconfigure_xenstore(self._session, instance, vm_ref)
-
+
LOG.debug(_('Starting VM %s...'), vm_ref)
self._session.call_xenapi('VM.start', vm_ref, False, False)
instance_name = instance.name