首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有迷航后处理器的封隔器"ovf文件找不到“

带有迷航后处理器的封隔器"ovf文件找不到“
EN

Stack Overflow用户
提问于 2021-02-10 02:08:43
回答 2查看 394关注 0票数 2

我对封隔器很陌生。我听说您可以添加一个迷途的后处理器,以获得一个简单的VM来测试您的新映像。基于这些例子,我认为下面的代码会起作用。但是,我得到了这个错误。

代码语言:javascript
复制
* Post-processor failed: ovf file couldn't be found

这是我的封隔器配置/代码。

代码语言:javascript
复制
source "digitalocean" "test" {
  image         = "ubuntu-20-10-x64"
  region        = "nyc1"
  size          = "s-1vcpu-1gb"
  snapshot_name = "me-image-{{isotime \"2006-01-02T15:04\"}}"

  snapshot_regions = [
    "nyc1", "sgp1", "lon1", "nyc3", "ams3", "fra1", "tor1", "sfo2", "blr1",
    "sfo3"
  ]
  tags         = ["delete"]
  ssh_username = "root"
}

# a build block invokes sources and runs provisioning steps on them.
build {
  sources = ["source.digitalocean.test"]

  provisioner "file" {
    source      = "jump_host"
    destination = "/tmp"
  }

  post-processor "vagrant" {
    keep_input_artifact = true
    provider_override   = "virtualbox"
    output = "out.box"
  }
}

我的包装版本是1.6.6

我的流浪版是2.2.10

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-18 18:20:00

这是不可能的

我想要packer做的是为数字海洋建立一些东西,然后给我一个副本,这样我就可以测试它,而不需要支付来自数字海洋的vm,也不需要互联网。这是不可能的,经过一些思考,这是合理的原因。

Digitalocean并不只是下载Ubuntu20ISO并将其扔到服务器上。他们配置和更改映像,使其在硬件上得到优化。期望他们的特殊映像在某些标准VM上运行,在消费硬件上运行是不现实的。另外,我甚至不确定有什么方法可以从DO下载快照。

但在尝试做这件事时,我忽略了流浪汉的全部意义。如果我正在测试一个数字海洋图像,我将永远需要连接和支付数字海洋。“流浪汉”的设计是为了让我在不需要每次点击界面的情况下很容易做到这一点。所以我甚至不应该把这个放在家里的电脑上。

PS:非常感谢你@RedGrin-抱怨花时间增加了这个月的旧帖子。

票数 1
EN

Stack Overflow用户

发布于 2021-10-15 21:25:02

有同样的问题-通过蛮力[偶然]找到了答案。

所以我和你在同一条船上,但我设法找到了解决方案的提示-- 这里

警告:我正在使用导出的.vmdk,所以这可能不是您的解决方案,因为您正在寻找从数字海洋直接获取它的方法?

暗示

代码语言:javascript
复制
build {
  sources = ["source.null.autogenerated_1"]

  post-processor "shell-local" {
    inline = ["echo Doing stuff..."]
  }
  post-processors {
    post-processor "vagrant" {
-->   include              = ["image.iso"]
      output               = "proxycore_{{.Provider}}.box"
      vagrantfile_template = "vagrantfile.tpl"
    }
    post-processor "vagrant-cloud" {
      access_token = "${var.cloud_token}"
      box_tag      = "hashicorp/precise64"
      version      = "${local.version}"
    }
  }
}

这不是在Vagrant 页面上列出的,而是在上。我只是想试试运气,结果成功了。

工作实例

代码语言:javascript
复制
source "null" "example" {
  communicator = "none"
}


build {
  sources = ["source.null.example"]

  post-processor "artifice" {
    files               = ["example-disk001.vmdk", "example.ovf"]
    keep_input_artifact = true
  }

  post-processor "vagrant" {
    include             = ["example-disk001.vmdk", "example.ovf"]
    keep_input_artifact = true
    provider_override   = "virtualbox"
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66129963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档