From e5ecf777a452cdb439f0c5be72a2a298669b9c26 Mon Sep 17 00:00:00 2001 From: Chuck Short Date: Mon, 19 Mar 2012 21:06:48 -0400 Subject: Fix lxc console regression Dont always assume that console is a file. Fixes bug 959843 Change-Id: I6e0512b85a770ecb3963512751a535ccab91a9a8 Signed-off-by: Chuck Short --- nova/virt/libvirt/connection.py | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/nova/virt/libvirt/connection.py b/nova/virt/libvirt/connection.py index 26260f0ac..3aabfde13 100644 --- a/nova/virt/libvirt/connection.py +++ b/nova/virt/libvirt/connection.py @@ -942,25 +942,27 @@ class LibvirtConnection(driver.ComputeDriver): console_types[console_type].append(console_node) # If the guest has a console logging to a file prefer to use that - for file_console in console_types.get('file'): - source_node = file_console.find('./source') - if source_node is None: - continue - path = source_node.get("path") - if not path: - continue - libvirt_utils.chown(path, os.getuid()) - return libvirt_utils.load_file(path) + if console_types.get('file'): + for file_console in console_types.get('file'): + source_node = file_console.find('./source') + if source_node is None: + continue + path = source_node.get("path") + if not path: + continue + libvirt_utils.chown(path, os.getuid()) + return libvirt_utils.load_file(path) # Try 'pty' types - for pty_console in console_types.get('pty'): - source_node = pty_console.find('./source') - if source_node is None: - continue - pty = source_node.get("path") - if not pty: - continue - break + if console_types.get('pty'): + for pty_console in console_types.get('pty'): + source_node = pty_console.find('./source') + if source_node is None: + continue + pty = source_node.get("path") + if not pty: + continue + break else: raise exception.Error(_("Guest does not have a console available")) -- cgit