summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
Diffstat (limited to 'nova/virt')
-rw-r--r--nova/virt/libvirt/connection.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/nova/virt/libvirt/connection.py b/nova/virt/libvirt/connection.py
index 5dee8f0c7..bbd45ee13 100644
--- a/nova/virt/libvirt/connection.py
+++ b/nova/virt/libvirt/connection.py
@@ -185,8 +185,6 @@ class LibvirtConnection(driver.ComputeDriver):
def __init__(self, read_only):
super(LibvirtConnection, self).__init__()
- self.libvirt_xml = open(FLAGS.libvirt_xml_template).read()
- self.cpuinfo_xml = open(FLAGS.cpuinfo_xml_template).read()
self._host_state = None
self._wrapped_conn = None
self.read_only = read_only
@@ -220,6 +218,22 @@ class LibvirtConnection(driver.ComputeDriver):
# NOTE(nsokolov): moved instance restarting to ComputeManager
pass
+ @property
+ def libvirt_xml(self):
+ if not hasattr(self, '_libvirt_xml_cache_info'):
+ self._libvirt_xml_cache_info = {}
+
+ return utils.read_cached_file(FLAGS.libvirt_xml_template,
+ self._libvirt_xml_cache_info)
+
+ @property
+ def cpuinfo_xml(self):
+ if not hasattr(self, '_cpuinfo_xml_cache_info'):
+ self._cpuinfo_xml_cache_info = {}
+
+ return utils.read_cached_file(FLAGS.cpuinfo_xml_template,
+ self._cpuinfo_xml_cache_info)
+
def _get_connection(self):
if not self._wrapped_conn or not self._test_connection():
LOG.debug(_('Connecting to libvirt: %s'), self.uri)