ToB企服应用市场:ToB评测及商务社交产业平台

标题: 云计算-openstack spice声音重定向 [打印本页]

作者: 饭宝    时间: 2024-12-28 14:21
标题: 云计算-openstack spice声音重定向
openstack 声卡重定向代码修改
声卡重定向代码修改,如许使用Remote viewer软件就可以播放假造机的声音的
/nova/virt/libvirt/config.py 文件末尾添加
  1. class LibvirtConfigGuestSound(LibvirtConfigObject):
  2.     def __init__(self, **kwargs):
  3.         super(LibvirtConfigGuestSound,
  4.               self).__init__(root_name='sound')
  5.         self.model = 'ich6'
  6.     def format_dom(self):
  7.         meta = self._new_node('sound')
  8.         meta.set('model', str(self.model))
  9.         return meta
复制代码
nova/virt/libvirt/driver.py 把_guest_add_spice_sound方法添加上
  1.     @staticmethod
  2.     def _guest_add_memory_balloon(guest):
  3.         # Memory balloon device only support 'qemu/kvm' hypervisor
  4.         if (
  5.             CONF.libvirt.virt_type in ('qemu', 'kvm') and
  6.             CONF.libvirt.mem_stats_period_seconds > 0
  7.         ):
  8.             balloon = vconfig.LibvirtConfigMemoryBalloon()
  9.             balloon.model = 'virtio'
  10.             balloon.period = CONF.libvirt.mem_stats_period_seconds
  11.             guest.add_device(balloon)
  12.         #add  添加这个方法
  13.     @staticmethod
  14.     def _guest_add_spice_sound(guest):
  15.         if (
  16.             CONF.spice.enabled and
  17.             CONF.libvirt.virt_type != 'lxc'
  18.         ):
  19.             sounddev = vconfig.LibvirtConfigGuestSound()
  20.             guest.add_device(sounddev)
  21.     #end
  22.     @staticmethod
  23.     def _guest_add_watchdog_action(guest, flavor, image_meta):
  24.         # image meta takes precedence over flavor extra specs; disable the
  25.         # watchdog action by default
  26.         watchdog_action = (flavor.extra_specs.get('hw:watchdog_action') or
  27.                            'disabled')
  28.         watchdog_action = image_meta.properties.get('hw_watchdog_action',
  29.                                                     watchdog_action)
  30.         # NB(sross): currently only actually supported by KVM/QEmu
  31.         if watchdog_action != 'disabled':
  32.             if watchdog_action in fields.WatchdogAction.ALL:
  33.                 bark = vconfig.LibvirtConfigGuestWatchdog()
  34.                 bark.action = watchdog_action
  35.                 guest.add_device(bark)
  36.             else:
  37.                 raise exception.InvalidWatchdogAction(action=watchdog_action)
复制代码
nova/virt/libvirt/driver.py 在 self._guest_add_spice_channel(guest)下边添加 self._guest_add_spice_sound(guest)这个方法即可
  1.         self._guest_add_spice_channel(guest)
  2.         self._guest_add_spice_sound(guest)
复制代码
参考github
kerbside-patches/nova/patch020-add-sound-device.patch at develop · shakenfist/kerbside-patches (github.com)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4