From 5bb507fc0375e0e4dc7b8448b6751dcc52fc75eb Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Fri, 15 Oct 2010 23:55:43 +0200 Subject: Fix two problems with get_console_log: libvirt has this annoying "feature" where it chown()s your console to the uid running libvirt. That gets in the way of reading it. We were looking in the wrong directory for console.log. *blush* --- nova/virt/libvirt_conn.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index d8d36ff65..58a5a941c 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -285,16 +285,15 @@ class LibvirtConnection(object): @exception.wrap_exception def get_console_output(self, instance): - console_log = os.path.join(FLAGS.instances_path, instance['internal_id'], 'console.log') - logging.info('console_log: %s' % console_log) - logging.info('FLAGS.libvirt_type: %s' % FLAGS.libvirt_type) + console_log = os.path.join(FLAGS.instances_path, instance['name'], 'console.log') + d = process.simple_execute('sudo chown %d %s' % (os.getuid(), console_log)) if FLAGS.libvirt_type == 'xen': # Xen is spethial - d = process.simple_execute("virsh ttyconsole %s" % instance['name']) + d.addCallback(lambda _: process.simple_execute("virsh ttyconsole %s" % instance['name'])) d.addCallback(self._flush_xen_console) d.addCallback(self._append_to_file, console_log) else: - d = defer.succeed(console_log) + d.addCallback(lambda _: defer.succeed(console_log)) d.addCallback(self._dump_file) return d -- cgit