diff options
Diffstat (limited to 'nova/virt')
| -rw-r--r-- | nova/virt/libvirt/connection.py | 18 |
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) |
