def test_vlan_tagged_bridge_no_ip(self): expected_xml = """ <interface type='bridge' name='br10'> <start mode='onboot'/> <bridge> <interface type='vlan' name='em1.10'> <vlan tag='10'> <interface name='em1'/> </vlan> </interface> </bridge> </interface> """ actual_xml = nxml.create_vlan_tagged_bridge_xml('br10', 'em1', '10') self.assertEquals(actual_xml, utils.normalize_xml(expected_xml))
def _create_vlan_tagged_bridge(self, interface, vlan_id): br_name = '-'.join(('kimchi', interface, vlan_id)) br_xml = networkxml.create_vlan_tagged_bridge_xml(br_name, interface, vlan_id) conn = self.conn.get() conn.changeBegin() try: vlan_tagged_br = conn.interfaceDefineXML(br_xml) vlan_tagged_br.create() except libvirt.libvirtError as e: conn.changeRollback() raise OperationFailed(e.message) else: conn.changeCommit() return br_name
def _create_vlan_tagged_bridge(self, interface, vlan_id): br_name = '-'.join(('kimchi', interface, vlan_id)) br_xml = networkxml.create_vlan_tagged_bridge_xml(br_name, interface, vlan_id) conn = self.conn.get() with RollbackContext() as rollback: try: vlan_tagged_br = conn.interfaceDefineXML(br_xml, 0) vlan_tagged_br.create(0) except libvirt.libvirtError as e: rollback.prependDefer(vlan_tagged_br.destroy) raise OperationFailed(e.message) else: return br_name
def _create_vlan_tagged_bridge(self, interface, vlan_id): # Truncate the interface name if it exceeds 8 characters to make sure # the length of bridge name is less than 15 (its maximum value). br_name = KIMCHI_BRIDGE_PREFIX + interface[-8:] + '-' + vlan_id br_xml = networkxml.create_vlan_tagged_bridge_xml(br_name, interface, vlan_id) conn = self.conn.get() if br_name in [net.bridgeName() for net in conn.listAllNetworks()]: error_msg = 'The interface %s already exist' % br_name raise InvalidOperation("KCHNET0010E", {'iface': br_name, 'err': error_msg}) with RollbackContext() as rollback: try: vlan_tagged_br = conn.interfaceDefineXML(br_xml, 0) rollback.prependDefer(vlan_tagged_br.destroy) vlan_tagged_br.create(0) except libvirt.libvirtError as e: raise OperationFailed(e.message) else: return br_name
def _create_vlan_tagged_bridge(self, interface, vlan_id): # Truncate the interface name if it exceeds 8 characters to make sure # the length of bridge name is less than 15 (its maximum value). br_name = KIMCHI_BRIDGE_PREFIX + interface[-8:] + '-' + vlan_id br_xml = networkxml.create_vlan_tagged_bridge_xml(br_name, interface, vlan_id) conn = self.conn.get() if br_name in [net.bridgeName() for net in conn.listAllNetworks()]: error_msg = 'The interface %s already exist' % br_name raise InvalidOperation("KCHNET0010E", {'iface': br_name, 'err': error_msg}) with RollbackContext() as rollback: try: vlan_tagged_br = conn.interfaceDefineXML(br_xml, 0) vlan_tagged_br.create(0) except libvirt.libvirtError as e: rollback.prependDefer(vlan_tagged_br.destroy) raise OperationFailed(e.message) else: return br_name