mirror of
https://github.com/retspen/webvirtcloud
synced 2025-07-31 12:41:08 +00:00
Live network interface add remove capability is added. No need to shutdown to add/remove network interfaces
This commit is contained in:
parent
edd4887a2d
commit
a3e7a5472f
3 changed files with 20 additions and 17 deletions
|
@ -970,12 +970,18 @@ class wvmInstance(wvmConnect):
|
|||
""" % nwfilter
|
||||
xml_interface += """</interface>"""
|
||||
|
||||
# if self.get_status() == 5:
|
||||
# devices = tree.find('devices')
|
||||
# elm_interface = ElementTree.fromstring(xml_interface)
|
||||
# devices.append(elm_interface)
|
||||
# xmldom = ElementTree.tostring(tree)
|
||||
# self._defineXML(xmldom)
|
||||
|
||||
if self.get_status() == 1:
|
||||
self.instance.attachDeviceFlags(xml_interface, VIR_DOMAIN_AFFECT_LIVE)
|
||||
self.instance.attachDeviceFlags(xml_interface, VIR_DOMAIN_AFFECT_CONFIG)
|
||||
if self.get_status() == 5:
|
||||
devices = tree.find('devices')
|
||||
elm_interface = ElementTree.fromstring(xml_interface)
|
||||
devices.append(elm_interface)
|
||||
xmldom = ElementTree.tostring(tree)
|
||||
self._defineXML(xmldom)
|
||||
self.instance.attachDeviceFlags(xml_interface, VIR_DOMAIN_AFFECT_CONFIG)
|
||||
|
||||
def delete_network(self, mac_address):
|
||||
tree = ElementTree.fromstring(self._XMLDesc(0))
|
||||
|
@ -983,10 +989,13 @@ class wvmInstance(wvmConnect):
|
|||
for interface in tree.findall('devices/interface'):
|
||||
source = interface.find('mac')
|
||||
if source.get('address', '') == mac_address:
|
||||
source = None
|
||||
devices.remove(interface)
|
||||
new_xml = ElementTree.tostring(tree)
|
||||
self._defineXML(new_xml)
|
||||
new_xml = ElementTree.tostring(interface)
|
||||
|
||||
if self.get_status() == 1:
|
||||
self.instance.detachDeviceFlags(new_xml, VIR_DOMAIN_AFFECT_LIVE)
|
||||
self.instance.detachDeviceFlags(new_xml, VIR_DOMAIN_AFFECT_CONFIG)
|
||||
if self.get_status() == 5:
|
||||
self.instance.detachDeviceFlags(new_xml, VIR_DOMAIN_AFFECT_CONFIG)
|
||||
|
||||
def change_network(self, network_data):
|
||||
xml = self._XMLDesc(VIR_DOMAIN_XML_SECURE)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue