def __init__(self, uri):
self.uri = uri
- self.connection = libvirt.open(uri)
+ self._connection = None
+
+ @property
+ def connection(self):
+ if self._connection is not None:
+ try:
+ if not self._connection.isAlive():
+ self._connection = None
+ except:
+ self._connection = None
+ if self._connection is None:
+ self._connection = libvirt.open(self.uri)
+ return self._connection
@defer.inlineCallbacks
def create(self, xml):