MCPcopy
hub / github.com/retspen/webvirtcloud / wvmNetwork

Class wvmNetwork

vrtManager/network.py:71–177  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69
70
71class wvmNetwork(wvmConnect):
72 def __init__(self, host, login, passwd, conn, net):
73 wvmConnect.__init__(self, host, login, passwd, conn)
74 self.net = self.get_network(net)
75
76 def get_name(self):
77 return self.net.name()
78
79 def _XMLDesc(self, flags):
80 return self.net.XMLDesc(flags)
81
82 def get_autostart(self):
83 return self.net.autostart()
84
85 def set_autostart(self, value):
86 self.net.setAutostart(value)
87
88 def is_active(self):
89 return self.net.isActive()
90
91 def get_uuid(self):
92 return self.net.UUIDString()
93
94 def get_bridge_device(self):
95 try:
96 return self.net.bridgeName()
97 except:
98 return None
99
100 def start(self):
101 self.net.create()
102
103 def stop(self):
104 self.net.destroy()
105
106 def delete(self):
107 self.net.undefine()
108
109 def get_ipv4_network(self):
110 xml = self._XMLDesc(0)
111 if util.get_xml_path(xml, "/network/ip") is None:
112 return None
113 addrStr = util.get_xml_path(xml, "/network/ip/@address")
114 netmaskStr = util.get_xml_path(xml, "/network/ip/@netmask")
115 prefix = util.get_xml_path(xml, "/network/ip/@prefix")
116
117 if prefix:
118 prefix = int(prefix)
119 binstr = ((prefix * "1") + ((32 - prefix) * "0"))
120 netmaskStr = str(IP(int(binstr, base=2)))
121
122 if netmaskStr:
123 netmask = IP(netmaskStr)
124 gateway = IP(addrStr)
125 network = IP(gateway.int() & netmask.int())
126 ret = IP(str(network) + "/" + netmaskStr)
127 else:
128 ret = IP(str(addrStr))

Callers 1

networkFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected