Optimize removing snapshots before undefining domains
This commit is contained in:
@@ -182,12 +182,16 @@ class DevopsDriver(object):
|
||||
self.conn.lookupByUUIDString(node.uuid).destroy()
|
||||
|
||||
@retry()
|
||||
def node_undefine(self, node):
|
||||
def node_undefine(self, node, undefine_snapshots=False):
|
||||
"""
|
||||
:type node: Node
|
||||
:rtype : None
|
||||
"""
|
||||
self.conn.lookupByUUIDString(node.uuid).undefine()
|
||||
domain = self.conn.lookupByUUIDString(node.uuid)
|
||||
if undefine_snapshots:
|
||||
domain.undefineFlags(libvirt.VIR_DOMAIN_UNDEFINE_SNAPSHOTS_METADATA)
|
||||
else:
|
||||
domain.undefine()
|
||||
|
||||
@retry()
|
||||
def node_get_vnc_port(self, node):
|
||||
|
||||
@@ -274,8 +274,7 @@ class Node(ExternalModel):
|
||||
if verbose or self.uuid:
|
||||
if verbose or self.driver.node_exists(self):
|
||||
self.destroy(verbose=False)
|
||||
self.driver.node_delete_all_snapshots(node=self)
|
||||
self.driver.node_undefine(self)
|
||||
self.driver.node_undefine(self, undefine_snapshots=True)
|
||||
self.delete()
|
||||
|
||||
def suspend(self, verbose=False):
|
||||
|
||||
Reference in New Issue
Block a user