跳转到主要内容

ploy的插件,用于使用VirtualBox配置虚拟机。

项目描述

概述

ploy_virtualbox插件提供了VirtualBoxploy的集成。

安装

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接口分区,则对其进行评估。

磁盘分区

这些分区允许您描述磁盘应该如何创建。

您可以将 sizevariantformat 选项设置为 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-hostonlyifvb-dhcpserver结合使用,可以配置一个具有确定IP地址的hostonly网络。在上面的示例中,您可以配置一个实例,其静态IP地址为192.168.56.99,该地址可以从主机访问。重要的是要选择一个地址,它位于DHCP服务器网络中,但位于其DHCP池之外,分别由loweripupperip定义。

SSH

根据设置,我们无法自动获取IP地址或主机名。

不幸的是,VirtualBox没有提供一种方式来查看实例从其自己的DHCP服务器获取了哪个IP地址,例如。

如果您知道实例将具有哪个主机名或IP地址,则可以像在上述hostonly部分中解释的那样设置hostip选项。

作为解决方案,您还可以设置类似这样的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 (35.3 kB 查看哈希值)

上传时间 源代码

构建分发

ploy_virtualbox-2.0.0-py2.py3-none-any.whl (32.5 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持