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
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
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'])
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
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()