def plug_ivs_ethernet(self, instance, vif): super(LibvirtGenericVIFDriver, self).plug(instance, vif) iface_id = self.get_ovs_interfaceid(vif) dev = self.get_vif_devname(vif) linux_net.create_tap_dev(dev) linux_net.create_ivs_vif_port(dev, iface_id, vif["address"], instance["uuid"])
def plug_iovisor(self, instance, vif): """Plug using PLUMgrid IO Visor Driver Connect a network device to their respective Virtual Domain in PLUMgrid Platform. """ super(LibvirtGenericVIFDriver, self).plug(instance, vif) dev = self.get_vif_devname(vif) iface_id = vif["id"] linux_net.create_tap_dev(dev) net_id = vif["network"]["id"] tenant_id = instance["project_id"] try: utils.execute("ifc_ctl", "gateway", "add_port", dev, run_as_root=True) utils.execute( "ifc_ctl", "gateway", "ifup", dev, "access_vm", vif["network"]["label"] + "_" + iface_id, vif["address"], "pgtag2=%s" % net_id, "pgtag1=%s" % tenant_id, run_as_root=True, ) except processutils.ProcessExecutionError: LOG.exception(_("Failed while plugging vif"), instance=instance)
def plug_iovisor(self, instance, vif): """Plug using PLUMgrid IO Visor Driver Connect a network device to their respective Virtual Domain in PLUMgrid Platform. """ dev = self.get_vif_devname(vif) iface_id = vif['id'] linux_net.create_tap_dev(dev) net_id = vif['network']['id'] tenant_id = instance.project_id try: utils.execute('ifc_ctl', 'gateway', 'add_port', dev, run_as_root=True) utils.execute('ifc_ctl', 'gateway', 'ifup', dev, 'access_vm', iface_id, vif['address'], 'pgtag2=%s' % net_id, 'pgtag1=%s' % tenant_id, run_as_root=True) except processutils.ProcessExecutionError: LOG.exception(_LE("Failed while plugging vif"), instance=instance)
def plug_vrouter(self, instance, vif): """Plug into Contrail's network port Bind the vif to a Contrail virtual port. """ dev = self.get_vif_devname(vif) ip_addr = '0.0.0.0' ip6_addr = None subnets = vif['network']['subnets'] for subnet in subnets: if not subnet['ips']: continue ips = subnet['ips'][0] if not ips['address']: continue if (ips['version'] == 4): if ips['address'] is not None: ip_addr = ips['address'] if (ips['version'] == 6): if ips['address'] is not None: ip6_addr = ips['address'] ptype = 'NovaVMPort' if (CONF.libvirt.virt_type == 'lxc'): ptype = 'NameSpacePort' try: multiqueue = self._is_multiqueue_enabled(instance.image_meta, instance.flavor) linux_net.create_tap_dev(dev, multiqueue=multiqueue) nova.privsep.libvirt.plug_contrail_vif(instance, vif, ip_addr, ip6_addr, ptype) except processutils.ProcessExecutionError: LOG.exception(_("Failed while plugging vif"), instance=instance)
def plug(self, instance, vif): dev = self.get_vif_devname(vif) try: linux_net.create_tap_dev(dev) except processutils.ProcessExecutionError: LOG.exception(_LE("Failed while plugging vif"), instance=instance) if cfg.CONF.libvirt.virt_type == 'lxc': dev = self._create_bridge(dev, instance) kwargs = { 'ip_address': vif['network']['subnets'][0]['ips'][0]['address'], 'vn_id': vif['network']['id'], 'display_name': instance['display_name'], 'hostname': instance['hostname'], 'host': instance['host'], 'vm_project_id': instance['project_id'], 'port_type': self.PORT_TYPE, } try: result = self._vrouter_client.add_port(instance['uuid'], vif['id'], dev, vif['address'], **kwargs) if not result: LOG.exception(_LE("Failed while plugging vif"), instance=instance) except TApplicationException: LOG.exception(_LE("Failed while plugging vif"), instance=instance)
def plug(self, instance, vif): dev = self.get_vif_devname(vif) try: linux_net.create_tap_dev(dev) except processutils.ProcessExecutionError: LOG.exception(_LE("Failed while plugging vif"), instance=instance) kwargs = { 'ip_address': vif['network']['subnets'][0]['ips'][0]['address'], 'vn_id': vif['network']['id'], 'display_name': instance['display_name'], 'hostname': instance['hostname'], 'host': instance['host'], 'vm_project_id': instance['project_id'], 'port_type': self.PORT_TYPE, } try: result = self._vrouter_client.add_port(instance['uuid'], vif['id'], dev, vif['address'], **kwargs) if not result: LOG.exception(_LE("Failed while plugging vif"), instance=instance) except TApplicationException: LOG.exception(_LE("Failed while plugging vif"), instance=instance)
def plug_iovisor(self, instance, vif): """Plug using PLUMgrid IO Visor Driver Connect a network device to their respective Virtual Domain in PLUMgrid Platform. """ super(LibvirtGenericVIFDriver, self).plug(instance, vif) network, mapping = vif dev = self.get_vif_devname(mapping) iface_id = mapping['vif_uuid'] linux_net.create_tap_dev(dev) net_id = network['id'] tenant_id = instance["project_id"] try: utils.execute('ifc_ctl', 'gateway', 'add_port', dev, run_as_root=True) utils.execute('ifc_ctl', 'gateway', 'ifup', dev, 'access_vm', mapping['label'] + "_" + iface_id, mapping['mac'], 'pgtag2=%s' % net_id, 'pgtag1=%s' % tenant_id, run_as_root=True) except exception.ProcessExecutionError: LOG.exception(_("Failed while plugging vif"), instance=instance)
def plug_routed(self, instance, vif): """Plug a routed virtual interface """ super(LibvirtGenericVIFDriver, self).plug(instance, vif) dev = self.get_vif_devname(vif) linux_net.create_tap_dev(dev)
def plug(self, instance, vif): iface_id = vif['id'] dev = self.get_vif_devname(vif) linux_net.create_tap_dev(dev) br_name = self._get_br_name(dev) linux_net.LinuxBridgeInterfaceDriver.ensure_bridge(br_name, dev) linux_net._execute('ip', 'link', 'set', br_name, 'promisc', 'on', run_as_root=True) # port_id(tuuid), instance_id(tuuid), tap_name(string), # ip_address(string), vn_id(tuuid) import socket from nova_contrail_vif.gen_py.instance_service import ttypes port = ttypes.Port(self._convert_to_bl(iface_id), self._convert_to_bl(instance['uuid']), br_name, vif['network']['subnets'][0]['ips'][0]['address'], self._convert_to_bl(vif['network']['id']), vif['address'], instance['display_name'], instance['hostname'], instance['host'], self._convert_to_bl(instance['project_id'])) self._agent_inform(port, iface_id, True)
def plug_ivs_ethernet(self, instance, vif): super(LibvirtGenericVIFDriver, self).plug(instance, vif) iface_id = self.get_ovs_interfaceid(vif) dev = self.get_vif_devname(vif) linux_net.create_tap_dev(dev) linux_net.create_ivs_vif_port(dev, iface_id, vif['address'], instance['uuid'])
def plug(self, instance, vif): network, mapping = vif iface_id = self.get_ovs_interfaceid(mapping) dev = self.get_vif_devname(mapping) linux_net.create_tap_dev(dev) linux_net.create_ovs_vif_port(self.get_bridge_name(network), dev, iface_id, mapping['mac'], instance['uuid'])
def plug_ovs_ethernet(self, instance, vif): super(LibvirtGenericVIFDriver, self).plug(instance, vif) network, mapping = vif iface_id = self.get_ovs_interfaceid(mapping) dev = self.get_vif_devname(mapping) linux_net.create_tap_dev(dev) linux_net.create_ovs_vif_port(self.get_bridge_name(network), dev, iface_id, mapping["mac"], instance["uuid"])
def plug_tap(self, instance, vif): """Plug a VIF_TYPE_TAP virtual interface.""" dev = self.get_vif_devname(vif) mac = vif['details'].get(network_model.VIF_DETAILS_TAP_MAC_ADDRESS) linux_net.create_tap_dev(dev, mac) network = vif.get('network') mtu = network.get_meta('mtu') if network else None linux_net._set_device_mtu(dev, mtu)
def plug(self, instance, vif): try: dev = self.get_vif_devname(vif) try: if not CONF.contrail.use_userspace_vhost: linux_net.create_tap_dev(dev) except processutils.ProcessExecutionError: LOG.exception(_LE("Failed while plugging vif"), instance=instance) try: virt_type = cfg.CONF.libvirt.virt_type except cfg.NoSuchOptError: virt_type = cfg.CONF.libvirt_type if virt_type == 'lxc': dev = self._create_bridge(dev, instance) ipv4_address = '0.0.0.0' ipv6_address = None subnets = vif['network']['subnets'] for subnet in subnets: ips = subnet['ips'][0] if (ips['version'] == 4): if ips['address'] is not None: ipv4_address = ips['address'] if (ips['version'] == 6): if ips['address'] is not None: ipv6_address = ips['address'] kwargs = { 'ip_address': ipv4_address, 'vn_id': vif['network']['id'], 'display_name': instance['display_name'], 'hostname': instance['hostname'], 'host': instance['host'], 'vm_project_id': instance['project_id'], 'port_type': self.PORT_TYPE, 'ip6_address': ipv6_address, } try: result = self._vrouter_client.add_port(instance['uuid'], vif['id'], dev, vif['address'], **kwargs) if not result: LOG.exception(_LE("Failed while plugging vif"), instance=instance) except TApplicationException: LOG.exception(_LE("Failed while plugging vif"), instance=instance) except Exception as e: from pprint import pformat LOG.error( _("Error in plug: %s locals: %s instance %s" % (str(e), pformat(locals()), pformat(instance.__dict__))))
def plug(self, instance, vif): try: dev = self.get_vif_devname(vif) try: if not CONF.contrail.use_userspace_vhost: linux_net.create_tap_dev(dev) except processutils.ProcessExecutionError: LOG.exception(_LE("Failed while plugging vif"), instance=instance) try: virt_type = cfg.CONF.libvirt.virt_type except cfg.NoSuchOptError: virt_type = cfg.CONF.libvirt_type if virt_type == 'lxc': dev = self._create_bridge(dev, instance) ipv4_address = '0.0.0.0' ipv6_address = None subnets = vif['network']['subnets'] for subnet in subnets: ips = subnet['ips'][0] if (ips['version'] == 4): if ips['address'] is not None: ipv4_address = ips['address'] if (ips['version'] == 6): if ips['address'] is not None: ipv6_address = ips['address'] kwargs = { 'ip_address': ipv4_address, 'vn_id': vif['network']['id'], 'display_name': instance['display_name'], 'hostname': instance['hostname'], 'host': instance['host'], 'vm_project_id': instance['project_id'], 'port_type': self.PORT_TYPE, 'ip6_address': ipv6_address, } try: result = self._vrouter_client.add_port(instance['uuid'], vif['id'], dev, vif['address'], **kwargs) if not result: LOG.exception(_LE("Failed while plugging vif"), instance=instance) except TApplicationException: LOG.exception(_LE("Failed while plugging vif"), instance=instance) except Exception as e: from pprint import pformat LOG.error(_("Error in plug: %s locals: %s instance %s" %(str(e), pformat(locals()), pformat(instance) if isinstance(instance, dict) else pformat(instance.__dict__))))
def plug_ivs_ethernet(self, instance, vif): super(LibvirtGenericVIFDriver, self).plug(instance, vif) network, mapping = vif iface_id = self.get_ovs_interfaceid(mapping) dev = self.get_vif_devname(mapping) linux_net.create_tap_dev(dev) linux_net.create_ivs_vif_port(dev, iface_id, mapping['mac'], instance['uuid'])
def plug_ovs(self, container, instance, vif): iface_id = self._get_ovs_interfaceid(vif) dev = self._get_vif_devname(vif) linux_net.create_tap_dev(dev) linux_net.create_ovs_vif_port(self._get_vif_bridge(vif), dev, iface_id, vif['address'], instance['uuid']) self.setup_lxc_network(container, instance, vif)
def plug_ovs_ethernet(self, instance, vif): super(LibvirtGenericVIFDriver, self).plug(instance, vif) network = vif['network'] iface_id = self.get_ovs_interfaceid(vif) dev = self.get_vif_devname(vif) linux_net.create_tap_dev(dev) linux_net.create_ovs_vif_port(self.get_bridge_name(vif), dev, iface_id, vif['address'], instance['uuid'])
def plug_midonet(self, instance, vif): """Plug into MidoNet's network port Bind the vif to a MidoNet virtual port. """ dev = self.get_vif_devname(vif) port_id = vif['id'] try: linux_net.create_tap_dev(dev) nova.privsep.libvirt.plug_midonet_vif(port_id, dev) except processutils.ProcessExecutionError: LOG.exception(_("Failed while plugging vif"), instance=instance)
def plug_midonet(self, instance, vif): """Plug into MidoNet's network port Bind the vif to a MidoNet virtual port. """ dev = self.get_vif_devname(vif) port_id = vif["id"] try: linux_net.create_tap_dev(dev) utils.execute("mm-ctl", "--bind-port", port_id, dev, run_as_root=True) except processutils.ProcessExecutionError: LOG.exception(_LE("Failed while plugging vif"), instance=instance)
def plug_midonet(self, instance, vif): """Plug into MidoNet's network port Bind the vif to a MidoNet virtual port. """ dev = self.get_vif_devname(vif) port_id = vif['id'] try: linux_net.create_tap_dev(dev) utils.execute('mm-ctl', '--bind-port', port_id, dev, run_as_root=True) except processutils.ProcessExecutionError: LOG.exception(_LE("Failed while plugging vif"), instance=instance)
def plug_vrouter(self, instance, vif): """Plug into Contrail's network port Bind the vif to a Contrail virtual port. """ dev = self.get_vif_devname(vif) ip_addr = "0.0.0.0" ip6_addr = None subnets = vif["network"]["subnets"] for subnet in subnets: if not subnet["ips"]: continue ips = subnet["ips"][0] if not ips["address"]: continue if ips["version"] == 4: if ips["address"] is not None: ip_addr = ips["address"] if ips["version"] == 6: if ips["address"] is not None: ip6_addr = ips["address"] ptype = "NovaVMPort" if cfg.CONF.libvirt.virt_type == "lxc": ptype = "NameSpacePort" cmd_args = ( "--oper=add --uuid=%s --instance_uuid=%s --vn_uuid=%s " "--vm_project_uuid=%s --ip_address=%s --ipv6_address=%s" " --vm_name=%s --mac=%s --tap_name=%s --port_type=%s " "--tx_vlan_id=%d --rx_vlan_id=%d" % ( vif["id"], instance.uuid, vif["network"]["id"], instance.project_id, ip_addr, ip6_addr, instance.display_name, vif["address"], vif["devname"], ptype, -1, -1, ) ) try: linux_net.create_tap_dev(dev) utils.execute("vrouter-port-control", cmd_args, run_as_root=True) except processutils.ProcessExecutionError: LOG.exception(_LE("Failed while plugging vif"), instance=instance)
def plug_midonet(self, instance, vif): """Plug into MidoNet's network port Bind the vif to a MidoNet virtual port. """ super(LibvirtGenericVIFDriver, self).plug(instance, vif) dev = self.get_vif_devname(vif) port_id = vif['id'] try: linux_net.create_tap_dev(dev) utils.execute('mm-ctl', '--bind-port', port_id, dev, run_as_root=True) except processutils.ProcessExecutionError: LOG.exception(_LE("Failed while plugging vif"), instance=instance)
def plug_iovisor(self, instance, vif): """Plug using PLUMgrid IO Visor Driver Connect a network device to their respective Virtual Domain in PLUMgrid Platform. """ dev = self.get_vif_devname(vif) iface_id = vif['id'] linux_net.create_tap_dev(dev) net_id = vif['network']['id'] tenant_id = instance.project_id try: nova.privsep.libvirt.plug_plumgrid_vif( dev, iface_id, vif['address'], net_id, tenant_id) except processutils.ProcessExecutionError: LOG.exception(_("Failed while plugging vif"), instance=instance)
def plug_vrouter(self, instance, vif): """Plug into Contrail's network port Bind the vif to a Contrail virtual port. """ dev = self.get_vif_devname(vif) ip_addr = '0.0.0.0' ip6_addr = None subnets = vif['network']['subnets'] for subnet in subnets: if not subnet['ips']: continue ips = subnet['ips'][0] if not ips['address']: continue if (ips['version'] == 4): if ips['address'] is not None: ip_addr = ips['address'] if (ips['version'] == 6): if ips['address'] is not None: ip6_addr = ips['address'] ptype = 'NovaVMPort' if (CONF.libvirt.virt_type == 'lxc'): ptype = 'NameSpacePort' cmd_args = ( "--oper=add --uuid=%s --instance_uuid=%s --vn_uuid=%s " "--vm_project_uuid=%s --ip_address=%s --ipv6_address=%s" " --vm_name=%s --mac=%s --tap_name=%s --port_type=%s " "--tx_vlan_id=%d --rx_vlan_id=%d" % (vif['id'], instance.uuid, vif['network']['id'], instance.project_id, ip_addr, ip6_addr, instance.display_name, vif['address'], vif['devname'], ptype, -1, -1)) try: if not CONF.contrail.use_userspace_vhost: multiqueue = self._is_multiqueue_enabled( instance.image_meta, instance.flavor) linux_net.create_tap_dev(dev, multiqueue=multiqueue) utils.execute('vrouter-port-control', cmd_args, run_as_root=True) except processutils.ProcessExecutionError: LOG.exception(_("Failed while plugging vif"), instance=instance)
def plug_vrouter(self, instance, vif): """Plug into Contrail's network port Bind the vif to a Contrail virtual port. """ dev = self.get_vif_devname(vif) ip_addr = '0.0.0.0' ip6_addr = None subnets = vif['network']['subnets'] for subnet in subnets: if not subnet['ips']: continue ips = subnet['ips'][0] if not ips['address']: continue if (ips['version'] == 4): if ips['address'] is not None: ip_addr = ips['address'] if (ips['version'] == 6): if ips['address'] is not None: ip6_addr = ips['address'] ptype = 'NovaVMPort' if (CONF.libvirt.virt_type == 'lxc'): ptype = 'NameSpacePort' cmd_args = ("--oper=add --uuid=%s --instance_uuid=%s --vn_uuid=%s " "--vm_project_uuid=%s --ip_address=%s --ipv6_address=%s" " --vm_name=%s --mac=%s --tap_name=%s --port_type=%s " "--tx_vlan_id=%d --rx_vlan_id=%d" % (vif['id'], instance.uuid, vif['network']['id'], instance.project_id, ip_addr, ip6_addr, instance.display_name, vif['address'], vif['devname'], ptype, -1, -1)) try: multiqueue = self._is_multiqueue_enabled(instance.image_meta, instance.flavor) linux_net.create_tap_dev(dev, multiqueue=multiqueue) utils.execute('vrouter-port-control', cmd_args, run_as_root=True) except processutils.ProcessExecutionError: LOG.exception(_LE("Failed while plugging vif"), instance=instance)
def plug(self, instance, vif): iface_id = vif['id'] dev = self.get_vif_devname(vif) linux_net.create_tap_dev(dev) # port_id(tuuid), instance_id(tuuid), tap_name(string), # ip_address(string), vn_id(tuuid) import socket from gen_py.instance_service import ttypes port = ttypes.Port(self._convert_to_bl(iface_id), self._convert_to_bl(instance['uuid']), dev, vif['network']['subnets'][0]['ips'][0]['address'], self._convert_to_bl(vif['network']['id']), vif['address'], instance['display_name'], instance['hostname'], instance['host'], self._convert_to_bl(instance['project_id'])) self._agent_inform(port, iface_id, True)
def plug_ivs_ethernet(self, instance, vif): iface_id = self.get_ovs_interfaceid(vif) dev = self.get_vif_devname(vif) linux_net.create_tap_dev(dev) linux_net.create_ivs_vif_port(dev, iface_id, vif['address'], instance.uuid)
def plug_tap(self, instance, vif): """Plug a VIF_TYPE_TAP virtual interface.""" dev = self.get_vif_devname(vif) mac = vif["details"].get(network_model.VIF_DETAILS_TAP_MAC_ADDRESS) linux_net.create_tap_dev(dev, mac) linux_net._set_device_mtu(dev)