Terraform Openstack-在尝试引导映像时,只有卷备份服务器才允许使用零磁盘
我尝试使用openstack_compute_instance_v2从k3Os映像提供实例 我的openstack提供程序提供了没有磁盘的风格 整个文档对我来说并不完全清楚 我试图做的是从映像启动实例,然后使用cloud init机制在给定的存储上安装操作系统,重新启动并从这个新存储启动 到目前为止,我使用这样的代码:Terraform Openstack-在尝试引导映像时,只有卷备份服务器才允许使用零磁盘,terraform,openstack,terraform-provider-openstack,Terraform,Openstack,Terraform Provider Openstack,我尝试使用openstack_compute_instance_v2从k3Os映像提供实例 我的openstack提供程序提供了没有磁盘的风格 整个文档对我来说并不完全清楚 我试图做的是从映像启动实例,然后使用cloud init机制在给定的存储上安装操作系统,重新启动并从这个新存储启动 到目前为止,我使用这样的代码: resource "openstack_images_image_v2" "osimage" { name = "k3os-
resource "openstack_images_image_v2" "osimage" {
name = "k3os-amd64.iso"
image_source_url = "https://github.com/rancher/k3os/releases/download/v0.19.2-dev.4/k3os-amd64.iso"
container_format = "bare"
disk_format = "raw"
properties = {
os_distro = "k3os"
kernel_args = "k3os.mode=install k3os.debug=true k3os.datasources=openstack"
}
}
resource "openstack_compute_instance_v2" "node" {
for_each = local.nodes
image_id = openstack_images_image_v2.osimage.id
...
block_device {
uuid = openstack_images_image_v2.osimage.id
boot_index = 0
delete_on_termination = true
source_type = "image"
destination_type = "local"
}
block_device {
boot_index = 1
delete_on_termination = true
source_type = "blank"
destination_type = "volume"
volume_size = each.value.volume_size
volume_type = each.value.volume_type
}
}
这让我犯了一个错误:
错误消息:{“禁止”:{“消息”:“只有卷备份服务器才允许使用零磁盘。”,“代码”:403}
我还尝试对第一个block_设备使用boot_index=1,但根据它必须为0
否则,不支持将图像映射到本地
我尝试了许多其他组合,只是能够从openstack_blockstorage_volume_v3启动,并将image_id设置为我的映像。但是这个设置,总是从这个卷引导,不允许我在安装后从目标卷引导
我很高兴知道我的block_设备最终应该如何配置为启动映像以进行安装过程,并在重新启动后将目标存储用作主可启动设备
我还尝试将空白块设备上的
boot\u index=0
和boot\u index=1
设置为从iso映像创建的卷,因此理论上vm应该检查第一个设备是否不可引导,并从第二个卷运行系统(与普通PC中一样),但在“无可引导设备”时失败错误。我认为这不是块设备映射问题。消息正确地说,您将根文件系统放在本地,即不放在卷上,并且您指定了一个磁盘大小为0的风格。本地根磁盘需要flavor中的非零磁盘大小。现在,我不知道你指定了哪种口味,也不知道那种口味的细节。如果您仍然存在问题,请使用该信息更新您的问题。