- interface_tag_ids = "interface_tag_ids"
- interface_tag_id = "interface_tag_id"
- settings = plc.GetInterfaceTags({interface_tag_id:interface[interface_tag_ids]})
- isSliversIPv6PrefixSet = False
- for setting in settings:
- #logger.log(repr(setting))
- if setting['tagname']=='sliversipv6prefix':
- ipv6addrprefix = setting['value'].split('/', 1)
- ipv6addr = ipv6addrprefix[0]
- prefix = ipv6addrprefix[1]
- logger.log("ipv6: %s" % (ipv6addr) )
- validIPv6 = tools.isValidIPv6(ipv6addr)
- if not(validIPv6):
- logger.log("ipv6: the 'sliversipv6prefix' tag presented a non-valid IPv6 address!")
- else:
- # connecting to the libvirtd
- connLibvirt = Sliver_Libvirt.getConnection(type)
- list = connLibvirt.listAllNetworks()
- for networkLibvirt in list:
- xmldesc = networkLibvirt.XMLDesc()
- dom = parseString(xmldesc)
- hasIPv6 = checkForIPv6(dom)
- if hasIPv6:
- # let's first check if the IPv6 is different or is it the same...
- isDifferent = checkIfIPv6IsDifferent(dom, ipv6addr, prefix)
- if isDifferent:
- logger.log("ipv6: the tag 'sliversipv6prefix' was modified! Updating the configuration with the new one...")
- networkElem = changeIPv6(dom, ipv6addr, prefix)
- setUp(networkLibvirt, connLibvirt, networkElem, ipv6addr, prefix)
- logger.log("ipv6: trying to reboot the slivers...")
- tools.reboot_sliver('blah')
- else:
- logger.log("ipv6: starting to redefine the virtual network...")
- #networkElem = buildLibvirtDefaultNetConfig(dom,ipv6addr,prefix)
- networkElem = addIPv6(dom, ipv6addr, prefix)
- setUp(networkLibvirt, connLibvirt, networkElem, ipv6addr, prefix)
- logger.log("ipv6: trying to reboot the slivers...")
- tools.reboot_sliver('blah')
- isSliversIPv6PrefixSet = True
- if not(isSliversIPv6PrefixSet):
- # connecting to the libvirtd
- connLibvirt = Sliver_Libvirt.getConnection(type)
- list = connLibvirt.listAllNetworks()
- for networkLibvirt in list:
- xmldesc = networkLibvirt.XMLDesc()
- dom = parseString(xmldesc)
- if checkForIPv6(dom):
- cleanUp(networkLibvirt, connLibvirt, dom)
- logger.log("ipv6: trying to reboot the slivers...")
- tools.reboot_sliver('blah')
+ interface_tag_ids = "interface_tag_ids"
+ interface_tag_id = "interface_tag_id"
+ settings = plc.GetInterfaceTags({interface_tag_id:interface[interface_tag_ids]})
+ isSliversIPv6PrefixSet = False
+ for setting in settings:
+ #logger.log(repr(setting))
+ # TODO: create a static variable to describe the "sliversipv6prefix" tag
+ if setting['tagname']=='sliversipv6prefix':
+ ipv6addrprefix = setting['value'].split('/', 1)
+ ipv6addr = ipv6addrprefix[0]
+ prefix = ipv6addrprefix[1]
+ logger.log("ipv6: %s" % (ipv6addr) )
+ validIPv6 = tools.isValidIPv6(ipv6addr)
+ if not(validIPv6):
+ logger.log("ipv6: the 'sliversipv6prefix' tag presented a non-valid IPv6 address!")
+ else:
+ # connecting to the libvirtd
+ connLibvirt = Sliver_Libvirt.getConnection(type)
+ list = connLibvirt.listAllNetworks()
+ for networkLibvirt in list:
+ xmldesc = networkLibvirt.XMLDesc()
+ dom = parseString(xmldesc)
+ hasIPv6 = checkForIPv6(dom)
+ if hasIPv6:
+ # let's first check if the IPv6 is different or is it the same...
+ isDifferent = checkIfIPv6IsDifferent(dom, ipv6addr, prefix)
+ if isDifferent:
+ logger.log("ipv6: tag 'sliversipv6prefix' was modified! " +
+ "Updating configuration with the new one...")
+ networkElem = changeIPv6(dom, ipv6addr, prefix)
+ setUp(networkLibvirt, connLibvirt, networkElem, ipv6addr, prefix)
+ logger.log("ipv6: trying to reboot the slivers...")
+ tools.reboot_sliver('blah')
+ else:
+ logger.log("ipv6: starting to redefine the virtual network...")
+ #networkElem = buildLibvirtDefaultNetConfig(dom,ipv6addr,prefix)
+ networkElem = addIPv6(dom, ipv6addr, prefix)
+ setUp(networkLibvirt, connLibvirt, networkElem, ipv6addr, prefix)
+ logger.log("ipv6: trying to reboot the slivers...")
+ tools.reboot_sliver('blah')
+ isSliversIPv6PrefixSet = True
+ if not(isSliversIPv6PrefixSet):
+ # connecting to the libvirtd
+ connLibvirt = Sliver_Libvirt.getConnection(type)
+ list = connLibvirt.listAllNetworks()
+ for networkLibvirt in list:
+ xmldesc = networkLibvirt.XMLDesc()
+ dom = parseString(xmldesc)
+ if checkForIPv6(dom):
+ cleanUp(networkLibvirt, connLibvirt, dom)
+ logger.log("ipv6: trying to reboot the slivers...")
+ tools.reboot_sliver('blah')