Пример #1
0
    def get_config_bridge(self, instance, network, mapping, image_meta):
        """Get VIF configurations for bridge type."""
        conf = super(LibvirtGenericVIFDriver,
                     self).get_config(instance,
                                      network,
                                      mapping,
                                      image_meta)

        designer.set_vif_host_backend_bridge_config(
            conf, self.get_bridge_name(network),
            self.get_vif_devname(mapping))

        mac_id = mapping['mac'].replace(':', '')
        name = "nova-instance-" + instance['name'] + "-" + mac_id
        primary_addr = mapping['ips'][0]['ip']
        dhcp_server = ra_server = ipv4_cidr = ipv6_cidr = None

        if mapping['dhcp_server']:
            dhcp_server = mapping['dhcp_server']
        if CONF.use_ipv6:
            ra_server = mapping.get('gateway_v6') + "/128"
        if CONF.allow_same_net_traffic:
            ipv4_cidr = network['cidr']
            if CONF.use_ipv6:
                ipv6_cidr = network['cidr_v6']

        if self.get_firewall_required():
            designer.set_vif_host_backend_filter_config(
                conf, name, primary_addr, dhcp_server,
                ra_server, ipv4_cidr, ipv6_cidr)
        designer.set_vif_bandwidth_config(conf, instance)

        return conf
Пример #2
0
    def get_config_bridge(self, instance, vif, image_meta, inst_type,
                          virt_type, host):
        """Get VIF configurations for bridge type."""
        conf = self.get_base_config(instance, vif, image_meta, inst_type,
                                    virt_type)

        designer.set_vif_host_backend_bridge_config(conf,
                                                    self.get_bridge_name(vif),
                                                    self.get_vif_devname(vif))

        mac_id = vif['address'].replace(':', '')
        name = "nova-instance-" + instance.name + "-" + mac_id
        if self.get_firewall_required(vif):
            conf.filtername = name

        bandwidth_tx = vif.get("bandwidth_tx")
        bandwidth_rx = vif.get("bandwidth_rx")
        if bandwidth_tx > 0:
            inst_type["extra_specs"][
                "quota:vif_outbound_average"] = bandwidth_tx
        if bandwidth_rx > 0:
            inst_type["extra_specs"][
                "quota:vif_inbound_average"] = bandwidth_rx

        designer.set_vif_bandwidth_config(conf, inst_type)

        return conf
Пример #3
0
 def test_set_vif_host_backend_bridge_config(self):
     conf = config.LibvirtConfigGuestInterface()
     designer.set_vif_host_backend_bridge_config(conf, 'fake-bridge',
                                                 'fake-tap')
     self.assertEqual('bridge', conf.net_type)
     self.assertEqual('fake-bridge', conf.source_dev)
     self.assertEqual('fake-tap', conf.target_dev)
Пример #4
0
    def get_config(self, instance, network, mapping):
        """Get VIF configurations for bridge type."""

        mac_id = mapping['mac'].replace(':', '')

        conf = super(LibvirtBridgeDriver,
                     self).get_config(instance, network, mapping)

        designer.set_vif_host_backend_bridge_config(
            conf, self.get_bridge_name(network), self.get_vif_devname(mapping))

        name = "nova-instance-" + instance['name'] + "-" + mac_id
        primary_addr = mapping['ips'][0]['ip']
        dhcp_server = ra_server = ipv4_cidr = ipv6_cidr = None

        if mapping['dhcp_server']:
            dhcp_server = mapping['dhcp_server']
        if CONF.use_ipv6:
            ra_server = mapping.get('gateway_v6') + "/128"
        if CONF.allow_same_net_traffic:
            ipv4_cidr = network['cidr']
            if CONF.use_ipv6:
                ipv6_cidr = network['cidr_v6']

        designer.set_vif_host_backend_filter_config(conf, name, primary_addr,
                                                    dhcp_server, ra_server,
                                                    ipv4_cidr, ipv6_cidr)

        return conf
Пример #5
0
    def get_config(self, instance, vif, image_meta, inst_type, virt_type=None):
        try:
            conf = super(VRouterVIFDriver, self).get_config(instance, vif,
                                                        image_meta, inst_type)
        except TypeError:
            conf = super(VRouterVIFDriver, self).get_base_config(instance, vif,
                                             image_meta, inst_type, virt_type)
        dev = self.get_vif_devname(vif)
        if not virt_type:
            try:
                virt_type = cfg.CONF.libvirt.virt_type
            except cfg.NoSuchOptError:
                virt_type = cfg.CONF.libvirt_type

        if virt_type == 'lxc':
            # for lxc we need to pass a bridge to libvirt
            br_name = self._get_br_name(dev)
            designer.set_vif_host_backend_bridge_config(conf, br_name)
        else:
            if CONF.contrail.use_userspace_vhost:
                dev = path.join(CONF.contrail.userspace_vhost_socket_dir,
                                'uvh_vif_' + dev)
                designer.set_vif_host_backend_vhostuser_config(conf, 'client',
                        dev)
            else:
                designer.set_vif_host_backend_ethernet_config(conf, dev)
        designer.set_vif_bandwidth_config(conf, inst_type)

        return conf
Пример #6
0
    def get_config(self, instance, network, mapping):
        """Get VIF configurations for bridge type."""

        mac_id = mapping["mac"].replace(":", "")

        conf = super(LibvirtBridgeDriver, self).get_config(instance, network, mapping)

        designer.set_vif_host_backend_bridge_config(conf, network["bridge"], None)

        name = "nova-instance-" + instance["name"] + "-" + mac_id
        primary_addr = mapping["ips"][0]["ip"]
        dhcp_server = ra_server = ipv4_cidr = ipv6_cidr = None

        if mapping["dhcp_server"]:
            dhcp_server = mapping["dhcp_server"]
        if CONF.use_ipv6:
            ra_server = mapping.get("gateway_v6") + "/128"
        if CONF.allow_same_net_traffic:
            ipv4_cidr = network["cidr"]
            if CONF.use_ipv6:
                ipv6_cidr = network["cidr_v6"]

        designer.set_vif_host_backend_filter_config(
            conf, name, primary_addr, dhcp_server, ra_server, ipv4_cidr, ipv6_cidr
        )

        return conf
Пример #7
0
 def test_set_vif_host_backend_bridge_config(self):
     conf = config.LibvirtConfigGuestInterface()
     designer.set_vif_host_backend_bridge_config(conf, 'fake-bridge',
                                                 'fake-tap')
     self.assertEqual('bridge', conf.net_type)
     self.assertEqual('fake-bridge', conf.source_dev)
     self.assertEqual('fake-tap', conf.target_dev)
Пример #8
0
def get_interface_xml(mac_address, bridge, interface):
    from nova.virt.libvirt import designer
    from nova.virt.libvirt.config import LibvirtConfigGuestInterface
    conf = LibvirtConfigGuestInterface()
    model = 'virtio'
    driver = None
    designer.set_vif_guest_frontend_config(conf, mac_address, model, driver)
    designer.set_vif_host_backend_bridge_config(conf, bridge, interface)
    return conf
Пример #9
0
    def get_config(self, instance, vif, image_meta, inst_type):
        #conf = super(VRouterVIFDriver, self).get_config(instance, vif, image_meta, inst_type)
        conf = LibvirtBaseVIFDriver.get_config(self, instance, vif, image_meta, inst_type)
        dev = self.get_vif_devname(vif)
        br_name = self._get_br_name(dev)
        designer.set_vif_host_backend_bridge_config(conf, br_name)
        designer.set_vif_bandwidth_config(conf, inst_type)

        return conf
Пример #10
0
    def get_config(self, instance, network, mapping):
        linux_net.LinuxBridgeInterfaceDriver.ensure_bridge(
            self.get_bridge_name(network), None, filtering=False)

        conf = super(QuantumLinuxBridgeVIFDriver,
                     self).get_config(instance, network, mapping)

        designer.set_vif_host_backend_bridge_config(
            conf, self.get_bridge_name(network), self.get_vif_devname(mapping))

        return conf
Пример #11
0
    def get_config_bridge(self, instance, network, mapping, image_meta):
        """Get VIF configurations for bridge type."""
        conf = super(LibvirtGenericVIFDriver, self).get_config(instance, network, mapping, image_meta)

        designer.set_vif_host_backend_bridge_config(conf, self.get_bridge_name(network), self.get_vif_devname(mapping))

        mac_id = mapping["mac"].replace(":", "")
        name = "nova-instance-" + instance["name"] + "-" + mac_id
        conf.filtername = name
        designer.set_vif_bandwidth_config(conf, instance)

        return conf
Пример #12
0
    def get_config(self, instance, network, mapping):
        iface_id = mapping["vif_uuid"]
        dev = self.get_dev_name(iface_id)

        bridge = network["bridge"]
        linux_net.LinuxBridgeInterfaceDriver.ensure_bridge(bridge, None, filtering=False)

        conf = super(QuantumLinuxBridgeVIFDriver, self).get_config(instance, network, mapping)

        designer.set_vif_host_backend_bridge_config(conf, bridge, dev)

        return conf
Пример #13
0
    def get_config(self, instance, vif, image_meta, inst_type):
        conf = super(VRouterVIFDriver, self).get_config(instance, vif,
                                                        image_meta, inst_type)
        dev = self.get_vif_devname(vif)
        if cfg.CONF.libvirt.virt_type == 'lxc':
            # for lxc we need to pass a bridge to libvirt
            br_name = self._get_br_name(dev)
            designer.set_vif_host_backend_bridge_config(conf, br_name)
        else:
            designer.set_vif_host_backend_ethernet_config(conf, dev)
        designer.set_vif_bandwidth_config(conf, inst_type)

        return conf
Пример #14
0
    def get_config_bridge(self, instance, vif, image_meta, inst_type):
        """Get VIF configurations for bridge type."""
        conf = super(LibvirtGenericVIFDriver, self).get_config(instance, vif, image_meta, inst_type)

        designer.set_vif_host_backend_bridge_config(conf, self.get_bridge_name(vif), self.get_vif_devname(vif))

        mac_id = vif["address"].replace(":", "")
        name = "nova-instance-" + instance["name"] + "-" + mac_id
        if self.get_firewall_required():
            conf.filtername = name
        designer.set_vif_bandwidth_config(conf, inst_type)

        return conf
Пример #15
0
    def get_config(self, instance, vif, image_meta, inst_type):
        conf = super(VRouterVIFDriver,
                     self).get_config(instance, vif, image_meta, inst_type)
        dev = self.get_vif_devname(vif)
        if cfg.CONF.libvirt.virt_type == 'lxc':
            # for lxc we need to pass a bridge to libvirt
            br_name = self._get_br_name(dev)
            designer.set_vif_host_backend_bridge_config(conf, br_name)
        else:
            designer.set_vif_host_backend_ethernet_config(conf, dev)
        designer.set_vif_bandwidth_config(conf, inst_type)

        return conf
Пример #16
0
    def get_config(self, instance, network, mapping):
        linux_net.LinuxBridgeInterfaceDriver.ensure_bridge(network['bridge'],
                                                           None,
                                                           filtering=False)

        conf = super(QuantumLinuxBridgeVIFDriver,
                     self).get_config(instance,
                                      network,
                                      mapping)

        designer.set_vif_host_backend_bridge_config(
            conf, network['bridge'], self.get_vif_devname(mapping))

        return conf
Пример #17
0
    def get_config_bridge(self, instance, network, mapping, image_meta):
        """Get VIF configurations for bridge type."""
        conf = super(LibvirtGenericVIFDriver,
                     self).get_config(instance, network, mapping, image_meta)

        designer.set_vif_host_backend_bridge_config(
            conf, self.get_bridge_name(network), self.get_vif_devname(mapping))

        mac_id = mapping['mac'].replace(':', '')
        name = "nova-instance-" + instance['name'] + "-" + mac_id
        if self.get_firewall_required():
            conf.filtername = name
        designer.set_vif_bandwidth_config(conf, instance)

        return conf
Пример #18
0
    def get_config_bridge(self, instance, vif, image_meta, inst_type,
                          virt_type, host):
        """Get VIF configurations for bridge type."""
        conf = self.get_base_config(instance, vif['address'], image_meta,
                                    inst_type, virt_type, vif['vnic_type'],
                                    host)

        designer.set_vif_host_backend_bridge_config(conf,
                                                    self.get_bridge_name(vif),
                                                    self.get_vif_devname(vif))

        designer.set_vif_bandwidth_config(conf, inst_type)

        self._set_mtu_config(vif, host, conf)

        return conf
Пример #19
0
    def get_config_bridge(self, instance, vif, image_meta, inst_type):
        """Get VIF configurations for bridge type."""
        conf = super(LibvirtGenericVIFDriver,
                     self).get_config(instance, vif, image_meta, inst_type)

        designer.set_vif_host_backend_bridge_config(conf,
                                                    self.get_bridge_name(vif),
                                                    self.get_vif_devname(vif))

        mac_id = vif['address'].replace(':', '')
        name = "nova-instance-" + instance['name'] + "-" + mac_id
        if self.get_firewall_required(vif):
            conf.filtername = name
        designer.set_vif_bandwidth_config(conf, inst_type)

        return conf
Пример #20
0
    def get_config_bridge(self, instance, vif, image_meta,
                          inst_type, virt_type):
        """Get VIF configurations for bridge type."""
        conf = self.get_base_config(instance, vif, image_meta,
                                    inst_type, virt_type)

        designer.set_vif_host_backend_bridge_config(
            conf, self.get_bridge_name(vif),
            self.get_vif_devname(vif))

        mac_id = vif['address'].replace(':', '')
        name = "nova-instance-" + instance.name + "-" + mac_id
        if self.get_firewall_required(vif):
            conf.filtername = name
        designer.set_vif_bandwidth_config(conf, inst_type)

        return conf
Пример #21
0
    def get_config_bridge(self, instance, vif, image_meta,
                          inst_type, virt_type, host):
        """Get VIF configurations for bridge type."""
        conf = self.get_base_config(instance, vif['address'], image_meta,
                                    inst_type, virt_type, vif['vnic_type'])

        designer.set_vif_host_backend_bridge_config(
            conf, self.get_bridge_name(vif),
            self.get_vif_devname(vif))

        mac_id = vif['address'].replace(':', '')
        name = "nova-instance-" + instance.name + "-" + mac_id
        if self.get_firewall_required(vif):
            conf.filtername = name
        designer.set_vif_bandwidth_config(conf, inst_type)

        self._set_mtu_config(vif, host, conf)

        return conf
Пример #22
0
    def get_config_bridge(self, instance, network, mapping, image_meta):
        """Get VIF configurations for bridge type."""
        conf = super(LibvirtGenericVIFDriver,
                     self).get_config(instance,
                                      network,
                                      mapping,
                                      image_meta)

        designer.set_vif_host_backend_bridge_config(
            conf, self.get_bridge_name(network),
            self.get_vif_devname(mapping))

        mac_id = mapping['mac'].replace(':', '')
        name = "nova-instance-" + instance['name'] + "-" + mac_id
        if self.get_firewall_required():
            conf.filtername = name
        designer.set_vif_bandwidth_config(conf, instance)

        return conf