def action(networkid): from CloudscalerLibcloud.utils.network import Network import libvirt network = Network() try: con = network.libvirtutil.connection bridges = [] networkidHex = "%04x" % int(networkid) name = "routeros_%s" % networkidHex print("CLEANUP: %s/%s" % (networkid, networkidHex)) dom = None try: dom = con.lookupByName(name) network.cleanup_external(dom) network.cleanup_gwmgmt(dom) bridges = list(network.libvirtutil._get_domain_bridges(dom)) dom.destroy() except libvirt.libvirtError: pass if dom is not None: try: dom.undefine() except libvirt.libvirtError: pass network.libvirtutil.cleanupNetwork(networkid, bridges) finally: network.close() destinationfile = "/var/lib/libvirt/images/routeros/{:04x}/routeros.qcow2".format( networkid) if j.system.fs.exists(destinationfile): j.system.fs.remove(destinationfile)
def action(networkid): import libvirt from CloudscalerLibcloud.utils.network import Network from CloudscalerLibcloud.utils.libvirtutil import LibvirtUtil libvirtutil = LibvirtUtil() network = Network(libvirtutil) bridges = [] con = libvirtutil.connection destination = '/var/lib/libvirt/images/routeros/{0:04x}/routeros.qcow2'.format( networkid) try: network_id_hex = '%04x' % int(networkid) name = 'routeros_%s' % network_id_hex try: domain = con.lookupByName(name) if domain: bridges = list(network.libvirtutil._get_domain_bridges(domain)) network.cleanup_gwmgmt(domain) network.cleanup_external(domain) domain.destroy() domain.undefine() j.system.fs.remove(destination) return True else: return True except libvirt.libvirtError: return False finally: network.libvirtutil.cleanupNetwork(networkid, bridges) con.close()
def cleanup(name, networkid): import libvirt from CloudscalerLibcloud.utils.network import Network network = Network() con = network.libvirtutil.connection try: dom = con.lookupByName(name) network.cleanup_external(dom) network.cleanup_gwmgmt(dom) if dom.isActive(): dom.destroy() dom.undefine() except libvirt.libvirtError: pass try: network.libvirt.cleanupNetwork(networkid) except: network.close() destinationfile = "/var/lib/libvirt/images/routeros/{:04x}/routeros.qcow2".format( networkid) if j.system.fs.exists(destinationfile): j.system.fs.remove(destinationfile)
def action(networkid, domainxml=None): from CloudscalerLibcloud.utils.network import Network from CloudscalerLibcloud.utils.libvirtutil import LibvirtUtil j.system.ovsnetconfig.cleanupIfUnused(networkid) if domainxml: libvirtutil = LibvirtUtil() network = Network(libvirtutil) network.cleanup_gwmgmt(domainxml) network.cleanup_external(domainxml) destination = '/var/lib/libvirt/images/routeros/{0:04x}/'.format(networkid) j.system.fs.removeDirTree(destination)