如何使用Terraform缓存下载的ISO?

时间:2019-04-24 18:47:52

标签: terraform libvirt

是否可以缓存正在下载的ISO?

现在,如果我terraform destroyterraform apply,它将再次下载ISO。

我正在使用libvirt提供程序,相关资源是:

resource "libvirt_volume" "ubuntu-qcow3" {
  name   = "ubuntu-qcow3"
  pool   = "default"
  source = "https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img"
  format = "qcow2"
}

1 个答案:

答案 0 :(得分:1)

您可以手动将图像下载到特定位置(例如/opt/images

wget https://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img -P /opt/images

并简单地引用此路径,因为source接受本地路径以及远程URL:

resource "libvirt_volume" "ubuntu-qcow3" {
  name   = "ubuntu-qcow3"
  pool   = "default"
  source = "/opt/images/ubuntu-16.04-server-cloudimg-amd64-disk1.img"
  format = "qcow2"
}

对于测试目的似乎非常有用。我从this tutorial那里学到的,其中注释了使用本地文件路径。由于我不想将配置文件与二进制图像混合使用,因此将它们移至/opt,但可以将它们随意放置在您喜欢的位置。