Skip to content

Commit

Permalink
Fix libvirt rescue.
Browse files Browse the repository at this point in the history
Updates libvirt connection.py so that it chowns console.log
correctly when performing a rescue.

Fixes LP Bug #968587.

Change-Id: I38a97df92330a9f20f43e9e4598da3375c6a22dc
  • Loading branch information
dprince committed Mar 29, 2012
1 parent ebd7a68 commit a837f92
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions nova/virt/libvirt/connection.py
Expand Up @@ -955,9 +955,7 @@ def get_console_output(self, instance):
else:
raise exception.Error(_("Guest does not have a console available"))

console_log = os.path.join(FLAGS.instances_path, instance['name'],
'console.log')
libvirt_utils.chown(console_log, os.getuid())
self._chown_console_log_for_instance(instance['name'])
data = self._flush_libvirt_console(pty)
fpath = self._append_to_file(data, console_log)

Expand Down Expand Up @@ -1099,6 +1097,13 @@ def _create_swap(target, swap_mb):
libvirt_utils.create_image('raw', target, '%dM' % swap_mb)
libvirt_utils.mkfs('swap', target)

@staticmethod
def _chown_console_log_for_instance(instance_name):
console_log = os.path.join(FLAGS.instances_path, instance_name,
'console.log')
if os.path.exists(console_log):
libvirt_utils.chown(console_log, os.getuid())

def _create_image(self, context, instance, libvirt_xml, suffix='',
disk_images=None, network_info=None,
block_device_info=None):
Expand All @@ -1121,6 +1126,9 @@ def basepath(fname='', suffix=suffix):
container_dir = '%s/rootfs' % basepath(suffix='')
libvirt_utils.ensure_tree(container_dir)

# NOTE(dprince): for rescue console.log may already exist... chown it.
self._chown_console_log_for_instance(instance['name'])

# NOTE(vish): No need add the suffix to console.log
libvirt_utils.write_to_file(basepath('console.log', ''), '', 007)

Expand Down

0 comments on commit a837f92

Please sign in to comment.