ploy的插件,用于使用VirtualBox配置虚拟机。
项目描述
概述
ploy_virtualbox插件提供了VirtualBox与ploy的集成。
安装
ploy_virtualbox最好使用easy_install、pip或在buildout中使用zc.recipe.egg进行安装。
主配置
ploy_virtualbox的默认主配置是virtualbox,具有以下选项
- 无头模式
是否默认以无头模式启动实例。如果未设置,则使用系统默认值。
- 使用ACPI电源按钮
是否默认使用ACPI关闭电源来停止实例。如果未设置,则使用系统默认值。
- basefolder
VirtualBox数据的basefolder。如果未设置,则使用VirtualBox默认值。这取决于ploy运行的操作系统。如果未提供绝对路径,则相对于ploy.conf。
- instance
用于执行VirtualBox命令的实例名称,而不是默认的本地机器。
示例
[vb-master:virtualbox] headless = true
实例
- 无头模式
是否以无头模式启动此实例。如果未设置,则使用主配置的设置。
- 使用ACPI电源按钮
停止此实例时是否使用ACPI关闭电源。如果未设置,则使用主配置的设置。
- basefolder
本实例VirtualBox数据的基准文件夹。如果没有设置,则使用主配置的设置。当不是以绝对路径提供时,则是相对于 ploy.conf 的相对路径。
- no-terminate
如果设置为 yes,则实例不能通过ploy终止,直到将设置更改为 no 或完全删除。
以 vm- 开头的任何选项都将去掉 vm- 前缀并传递给 VBoxManage。几乎所有这些选项都是原样传递的。以下选项处理方式不同或添加了一些便利
- storage
每行一个存储定义。有关详细信息,请参阅 VBoxManage storageattach 文档。
如果您未指定 type,则默认使用 hdd。
如果您未指定 port,则从零开始的行号将被使用。
如果您未设置 --storagectl,则默认使用 sata,如果该控制器不存在,则自动创建。
如果 medium 指的是一个本地文件,则该路径将直接传递给 VBoxManage storageattach。
如果它的形式为 vb-disk:NAME,它引用了一个名为 NAME 的磁盘分区,将使用它代替。
如果它的形式是一个URL,假设该URL的文件名位于 ~/.ploy/downloads/(此默认值可以在配置文件的 [global] 部分中通过条目 download_dir 覆盖)。如果文件不存在,它将被下载。
当使用URL表示法时,强烈建议同时提供使用 --medium_sha1 键的校验和(目前仅支持SHA1)。
使用本地ISO镜像作为DVD驱动器的示例
storage = --type dvddrive --medium ~/downloads/archives/mfsbsd-se-9.2-RELEASE-amd64.iso --medium vb-disk:boot
引用外部URL的示例
storage = --type dvddrive --medium https://mfsbsd.vx.sk/files/iso/12/amd64/mfsbsd-se-12.0-RELEASE-amd64.iso --medium_sha1 2fbf2be5a79cc8081d918475400581bd54bb30ae --medium vb-disk:boot
- hostonlyadapter
如果有匹配的 Host only接口分区,则对其进行评估。
磁盘分区
这些分区允许您描述磁盘应该如何创建。
您可以将 size、variant 和 format 选项设置为 VBoxManage createhd 文档中所述。
filename 选项允许您为磁盘设置文件名,扩展名将根据 format 选项自动添加。如果您使用相对路径,则其基础是实例的 basefolder 设置。
当 delete 选项设置为 false 时,当使用它的实例被终止时,磁盘不会被删除。默认情况下,在实例终止时删除磁盘。
示例
[vb-disk:boot] size = 102400
Host only接口分区
如果您想使用仅主机网络接口,那么这允许您确保您的设置与预期一致,并且接口存在。目前仅支持 ip 选项。有关详细信息,请参阅 VBoxManage hostonlyif 文档。
示例
[vb-hostonlyif:vboxnet0] ip = 192.168.56.1
DHCP
如果存在具有相同名称的 vb-dhcpserver 分区,则对其进行检查,并在需要时进行配置。有关详细信息,请参阅 VBoxManage hostonlyif 文档。
示例
[vb-dhcpserver:vboxnet0] ip = 192.168.56.2 netmask = 255.255.255.0 lowerip = 192.168.56.100 upperip = 192.168.56.254
将vb-hostonlyif与vb-dhcpserver结合使用,可以配置一个具有确定IP地址的hostonly网络。在上面的示例中,您可以配置一个实例,其静态IP地址为192.168.56.99,该地址可以从主机访问。重要的是要选择一个地址,它位于DHCP服务器网络中,但位于其DHCP池之外,分别由lowerip和upperip定义。
SSH
根据设置,我们无法自动获取IP地址或主机名。
不幸的是,VirtualBox没有提供一种方式来查看实例从其自己的DHCP服务器获取了哪个IP地址,例如。
如果您知道实例将具有哪个主机名或IP地址,则可以像在上述hostonly部分中解释的那样设置host或ip选项。
作为解决方案,您还可以设置类似这样的NAT端口转发
vm-nic2 = nat vm-natpf2 = ssh,tcp,,47022,,22
对于这种情况,ploy_virtualbox知道如何获取端口,并使用它通过localhost进行SSH访问。
如果您在实例中安装了VirtualBox guest additions,则status命令可以显示实例的当前IP地址。
示例配置
[vb-master:virtualbox] # use-acpi-powerbutton = false [vb-disk:boot] size = 102400 [vb-hostonlyif:vboxnet0] ip = 192.168.56.1 [vb-dhcpserver:vboxnet0] ip = 192.168.56.2 netmask = 255.255.255.0 lowerip = 192.168.56.100 upperip = 192.168.56.254 [vb-instance:foo] # headless = true vm-ostype = FreeBSD_64 vm-memory = 512 vm-accelerate3d = off vm-acpi = on vm-rtcuseutc = on vm-boot1 = disk vm-boot2 = dvd vm-nic1 = hostonly vm-hostonlyadapter1 = vboxnet0 vm-nic2 = nat vm-natpf2 = ssh,tcp,,47022,,22 storage = --type dvddrive --medium ~/downloads/archives/mfsbsd-se-9.2-RELEASE-amd64.iso --medium vb-disk:boot
变更日志
2.0.0 - 2022-08-17
已移除对Python 3.6的支持。[fschulze]
添加了对Python 3.10的支持。[fschulze]
2.0.0b3 - 2021-07-17
修复了针对较新VirtualBox版本的dhcpserver设置。[fschulze]
2.0.0b2 - 2019-06-09
在ploy 2.0.0b3发布后修复了Python 3.x的测试。[fschulze]
移除了对Python 3.4的支持。[fschulze]
2.0.0b1 - 2018-02-07
支持ploy 2.0.0。[fschulze]
1.2.0 - 2015-09-03
向磁盘添加了delete选项。如果设置为false,则在实例终止时保留磁盘,而不是默认删除。[fschulze]
当下载的iso镜像的校验和不匹配时,询问用户是否继续。[tomster]
1.1.0 - 2015-01-20
在启动实例时记录信息。[fschulze]
处理处于aborted状态的实例。[fschulze]
在失败时打印命令的错误输出。[fschulze]
使用ploy 1.0.2中的新辅助程序来设置proxycommand。[fschulze]
添加了指定用于virtualbox主机的远程实例的可能性。[fschulze]
添加了通过外部URL引用磁盘镜像用于virtualbox实例存储的能力。[tomster]
1.0.0 - 2014-07-19
添加了文档。[fschulze]
将vb-master重命名为virtualbox,因此实例的uid更友好。[fschulze]
在创建或修改时启用DHCP服务器。[fschulze]
1.0b4 - 2014-07-15
验证并尽可能创建host only接口和dhcpservers。[fschulze]
添加了对已手动设置为saved状态的实例的支持。[fschulze]
1.0b3 - 2014-07-08
包装和测试修复。[fschulze]
1.0b2 - 2014-07-04
Python 3兼容性。[fschulze]
将mr.awsome重命名为ploy,将mr.awsome.virtualbox重命名为ploy_virtualbox。[fschulze]
1.0b1 - 2014-06-16
初始发布 [fschulze]
项目详情
下载文件
下载适用于您平台的文件。如果您不确定该选择哪个,请了解有关 安装包 的更多信息。
源代码分发
构建分发
ploy_virtualbox-2.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 20d5f74b4c9691fb952b94a23b1fe4909610686f5c564a1055576ab194fd18e3 |
|
MD5 | f4f4cbf6ff064c98c884223e886f9009 |
|
BLAKE2b-256 | 00a31bb8da054b60d233c5378be93b586b8aa325cd91c6265324b7205277a4c8 |
ploy_virtualbox-2.0.0-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e071d2d65ba4996dea62c02408df6838120f422bdc57bb1c85c5309e673af0cb |
|
MD5 | 9baf71fafcd0bd6a3e5f2d8fb33f01f6 |
|
BLAKE2b-256 | 079044fe914b09a8f9b899c3e66c4064ff787cfcd2451fedb8bdce6e614881f9 |