MCPcopy Create free account
hub / github.com/apache/cloudstack / addBridge

Method addBridge

python/lib/cloudutils/serviceConfig.py:264–302  ·  view source on GitHub ↗
(self, brName, dev)

Source from the content-addressed store, hash-verified

262
263
264 def addBridge(self, brName, dev):
265 bash("ifdown %s" % dev.name)
266
267 if not os.path.exists(self.brCfgFile):
268 shutil.copy(self.devCfgFile, self.brCfgFile)
269
270 #config device file at first: disable nm, set onboot=yes if not
271 cfo = configFileOps(self.devCfgFile, self)
272 cfo.addEntry("NM_CONTROLLED", "no")
273 cfo.addEntry("ONBOOT", "yes")
274 if self.syscfg.env.bridgeType == "openvswitch":
275 if cfo.getEntry("IPADDR"):
276 cfo.rmEntry("IPADDR", cfo.getEntry("IPADDR"))
277 cfo.addEntry("DEVICETYPE", "ovs")
278 cfo.addEntry("TYPE", "OVSPort")
279 cfo.addEntry("OVS_BRIDGE", brName)
280 elif self.syscfg.env.bridgeType == "native":
281 cfo.addEntry("BRIDGE", brName)
282 else:
283 raise CloudInternalException("Unknown network.bridge.type %s" % self.syscfg.env.bridgeType)
284 cfo.save()
285
286 cfo = configFileOps(self.brCfgFile, self)
287 cfo.addEntry("NM_CONTROLLED", "no")
288 cfo.addEntry("ONBOOT", "yes")
289 cfo.addEntry("DEVICE", brName)
290 if self.syscfg.env.bridgeType == "openvswitch":
291 if cfo.getEntry("HWADDR"):
292 cfo.rmEntry("HWADDR", cfo.getEntry("HWADDR"))
293 if cfo.getEntry("UUID"):
294 cfo.rmEntry("UUID", cfo.getEntry("UUID"))
295 cfo.addEntry("STP", "yes")
296 cfo.addEntry("DEVICETYPE", "ovs")
297 cfo.addEntry("TYPE", "OVSBridge")
298 elif self.syscfg.env.bridgeType == "native":
299 cfo.addEntry("TYPE", "Bridge")
300 else:
301 raise CloudInternalException("Unknown network.bridge.type %s" % self.syscfg.env.bridgeType)
302 cfo.save()
303
304 def config(self):
305 try:

Callers 1

writeToCfgFileMethod · 0.95

Calls 9

configFileOpsClass · 0.90
bashClass · 0.85
existsMethod · 0.65
copyMethod · 0.65
saveMethod · 0.65
addEntryMethod · 0.45
getEntryMethod · 0.45
rmEntryMethod · 0.45

Tested by

no test coverage detected