Esempio n. 1
0
 def _get_vhostuser_settings(self, vif):
     vif_details = vif['details']
     mode = vif_details.get(network_model.VIF_DETAILS_VHOSTUSER_MODE,
                            'server')
     sock_path = vif_details.get(network_model.VIF_DETAILS_VHOSTUSER_SOCKET)
     if sock_path is None:
         raise exception.VifDetailsMissingVhostuserSockPath(
             vif_id=vif['id'])
     return mode, sock_path
Esempio n. 2
0
 def get_config_vhostuser(self, instance, vif, image_meta,
                           inst_type, virt_type):
     conf = self.get_base_config(instance, vif, image_meta,
                                 inst_type, virt_type)
     vif_details = vif['details']
     mode = vif_details.get(network_model.VIF_DETAILS_VHOSTUSER_MODE,
                            'server')
     sock_path = vif_details.get(network_model.VIF_DETAILS_VHOSTUSER_SOCKET)
     if sock_path is None:
         raise exception.VifDetailsMissingVhostuserSockPath(
                                                     vif_id=vif['id'])
     designer.set_vif_host_backend_vhostuser_config(conf, mode, sock_path)
     return conf
Esempio n. 3
0
def _set_vhostuser_settings(vif, obj):
    """Set vhostuser socket mode and path

    :param vif: the nova.network.model.VIF instance
    :param obj: a os_vif.objects.vif.VIFVHostUser instance

    :raises: exception.VifDetailsMissingVhostuserSockPath
    """

    obj.mode = vif['details'].get(model.VIF_DETAILS_VHOSTUSER_MODE, 'server')
    path = vif['details'].get(model.VIF_DETAILS_VHOSTUSER_SOCKET, None)
    if path:
        obj.path = path
    else:
        raise exception.VifDetailsMissingVhostuserSockPath(vif_id=vif['id'])
Esempio n. 4
0
    def get_config_vhostuser(self, instance, vif, image_meta, inst_type,
                             virt_type, host):
        conf = self.get_base_config(instance, vif, image_meta, inst_type,
                                    virt_type)
        vif_details = vif['details']
        mode = vif_details.get(network_model.VIF_DETAILS_VHOSTUSER_MODE,
                               'server')
        sock_path = vif_details.get(network_model.VIF_DETAILS_VHOSTUSER_SOCKET)
        if sock_path is None:
            raise exception.VifDetailsMissingVhostuserSockPath(
                vif_id=vif['id'])
        designer.set_vif_host_backend_vhostuser_config(conf, mode, sock_path)
        # (vladikr) Not setting up driver and queues for vhostuser
        # as queues are not supported in Libvirt until version 1.2.17
        if not host.has_min_version(MIN_LIBVIRT_VHOSTUSER_MQ):
            LOG.debug('Queues are not a vhostuser supported feature.')
            conf.driver_name = None
            conf.vhost_queues = None

        return conf
Esempio n. 5
0
def _nova_to_osvif_vif_vhostuser(vif):
    if vif['details'].get(model.VIF_DETAILS_VHOSTUSER_OVS_PLUG, False):
        profile = objects.vif.VIFPortProfileOpenVSwitch(
            interface_id=vif.get('ovs_interfaceid') or vif['id'])
        obj = _get_vif_instance(vif,
                                objects.vif.VIFVHostUser,
                                port_profile=profile,
                                plugin="ovs")
        if vif["network"]["bridge"] is not None:
            obj.bridge_name = vif["network"]["bridge"]
        obj.mode = vif['details'].get(model.VIF_DETAILS_VHOSTUSER_MODE,
                                      'server')
        path = vif['details'].get(model.VIF_DETAILS_VHOSTUSER_SOCKET, None)
        if path:
            obj.path = path
        else:
            raise exception.VifDetailsMissingVhostuserSockPath(
                vif_id=vif['id'])
        return obj
    else:
        raise NotImplementedError()