Downburst VM¶
Teuthology 还通过 downburst 支持虚拟机,这些虚拟机可以像物理机一样运行,但在以下方面有所不同:
VPS 主机:¶
以下描述基于上游 Ceph 开发和质量保证团队使用的红帽实验室。
可用的机器 teuthology 数据库包含一个 vpshost 字段。对于物理机,此值为空 (null)。对于虚拟机,此条目是该虚拟机所在的物理机的名称。
teuthology 数据库中出现了用于虚拟机的固定“槽位”。这些槽位的机器类型为 vps,可以像其他任何机器一样被锁定。vpshost 字段的存在是 teuthology 知道数据库条目代表物理机还是虚拟机的方式。
为了获得正确的虚拟机关联,需要在 ~/.config/libvirt/libvirt.conf 中设置以下内容,对于某些较旧版本的 libvirt(如 ubuntu precise),则在 ~/.libvirt/libvirt.conf 中设置:
uri_aliases = [
'mira001=qemu+ssh://ubuntu@mira001.front.sepia.ceph.com/system?no_tty=1',
'mira003=qemu+ssh://ubuntu@mira003.front.sepia.ceph.com/system?no_tty=1',
'mira004=qemu+ssh://ubuntu@mira004.front.sepia.ceph.com/system?no_tty=1',
'mira005=qemu+ssh://ubuntu@mira005.front.sepia.ceph.com/system?no_tty=1',
'mira006=qemu+ssh://ubuntu@mira006.front.sepia.ceph.com/system?no_tty=1',
'mira007=qemu+ssh://ubuntu@mira007.front.sepia.ceph.com/system?no_tty=1',
'mira008=qemu+ssh://ubuntu@mira008.front.sepia.ceph.com/system?no_tty=1',
'mira009=qemu+ssh://ubuntu@mira009.front.sepia.ceph.com/system?no_tty=1',
'mira010=qemu+ssh://ubuntu@mira010.front.sepia.ceph.com/system?no_tty=1',
'mira011=qemu+ssh://ubuntu@mira011.front.sepia.ceph.com/system?no_tty=1',
'mira013=qemu+ssh://ubuntu@mira013.front.sepia.ceph.com/system?no_tty=1',
'mira014=qemu+ssh://ubuntu@mira014.front.sepia.ceph.com/system?no_tty=1',
'mira015=qemu+ssh://ubuntu@mira015.front.sepia.ceph.com/system?no_tty=1',
'mira017=qemu+ssh://ubuntu@mira017.front.sepia.ceph.com/system?no_tty=1',
'mira018=qemu+ssh://ubuntu@mira018.front.sepia.ceph.com/system?no_tty=1',
'mira020=qemu+ssh://ubuntu@mira020.front.sepia.ceph.com/system?no_tty=1',
'mira024=qemu+ssh://ubuntu@mira024.front.sepia.ceph.com/system?no_tty=1',
'mira029=qemu+ssh://ubuntu@mira029.front.sepia.ceph.com/system?no_tty=1',
'mira036=qemu+ssh://ubuntu@mira036.front.sepia.ceph.com/system?no_tty=1',
'mira043=qemu+ssh://ubuntu@mira043.front.sepia.ceph.com/system?no_tty=1',
'mira044=qemu+ssh://ubuntu@mira044.front.sepia.ceph.com/system?no_tty=1',
'mira074=qemu+ssh://ubuntu@mira074.front.sepia.ceph.com/system?no_tty=1',
'mira079=qemu+ssh://ubuntu@mira079.front.sepia.ceph.com/system?no_tty=1',
'mira081=qemu+ssh://ubuntu@mira081.front.sepia.ceph.com/system?no_tty=1',
'mira098=qemu+ssh://ubuntu@mira098.front.sepia.ceph.com/system?no_tty=1',
]
Downburst:¶
当虚拟机被锁定时,downburst 会在该机器上运行以安装新镜像。这允许用户设置不同的虚拟操作系统以安装在新创建的虚拟机上。目前默认的虚拟机是 ubuntu (precise)。可以使用 teuthology.lock 中的 --os-type 和 --os-version 选项设置不同的虚拟机安装。
当虚拟机解锁时,downburst 会销毁机器上的镜像。
要查找 downburst 可执行文件,teuthology 首先检查 PATH 环境变量。如果未定义,teuthology 接下来检查用户主目录、/home/ubuntu 和 /home/teuthology 中的 src/downburst/virtualenv/bin/downburst 可执行文件。如果用户在 .teuthology.yaml 文件中指定了 downburst 字段,则所有这些都可以被覆盖。
主机密钥:¶
因为 teuthology 会重新安装新机器,所以会生成新的主机密钥。锁定后,一旦与新机器建立连接,带有 --list 或 --list-targets 选项的 teuthology-lock 将显示新密钥。当使用 --lock-many 选项锁定 vps 机器时,会显示一条消息,指示稍后应运行 --list-targets。
假设:¶
假设 downburst 在用户的 $PATH 中。