gpt4 book ai didi

virtualbox - Packer's Puppet 供应摊位

转载 作者:行者123 更新时间:2023-12-01 02:18:38 24 4
gpt4 key购买 nike

我对整个 Packer/Vagrant, Puppet 世界很陌生。我正在尝试使用 Packer 和 Puppet 构建我的第一个 VM。

我可以成功构建一个 virtualbox,并且我已经包含了一个 shell 脚本配置器来安装 puppet。我已经通过 ssh 连接到 VM 以验证它是否正常工作并安装了 puppet。

然后我添加了一个额外的 puppet-masterless 配置器,它看起来很简单:

# java dependency
package { 'openjdk-7-jdk' :
ensure => present
}

当我运行打包程序时,它到达了这一点并卡住了:
==> virtualbox-iso: Provisioning with Puppet...
virtualbox-iso: Creating Puppet staging directory...
virtualbox-iso: Uploading manifests...
virtualbox-iso: Running Puppet: sudo -E puppet apply --verbose --modulepath='' --detailed-exitcodes /tmp/packer-puppet-masterless/manifests/ubuntu.pp

任何的意见都将会有帮助。甚至关于如何调试它以查看幕后发生的事情

最佳答案

我遇到了同样的问题,并更改了 execute_command 以接收 vagrant 用户的密码。

"override": {
"virtualbox-iso": {
"execute_command": "echo 'vagrant' | {{.FacterVars}}{{if .Sudo}} sudo -S -E {{end}}puppet apply --verbose --modulepath='{{.ModulePath}}' {{if ne .HieraConfigPath \"\"}}--hiera_config='{{.HieraConfigPath}}' {{end}} {{if ne .ManifestDir \"\"}}--manifestdir='{{.ManifestDir}}' {{end}} --detailed-exitcodes {{.ManifestFile}}"
}
}

整个块看起来像这样
{
"type": "puppet-masterless",
"manifest_file": "../puppet/manifests/base.pp",
"module_paths": [
"../puppet/modules/"
],
"override": {
"virtualbox-iso": {
"execute_command": "echo 'vagrant' | {{.FacterVars}}{{if .Sudo}} sudo -S -E {{end}}puppet apply --verbose --modulepath='{{.ModulePath}}' {{if ne .HieraConfigPath \"\"}}--hiera_config='{{.HieraConfigPath}}' {{end}} {{if ne .ManifestDir \"\"}}--manifestdir='{{.ManifestDir}}' {{end}} --detailed-exitcodes {{.ManifestFile}}"
}
}
}

来源:在这里找到一个例子 https://github.com/AdoptOpenJDK/openjdk-virtual-images/blob/master/packer/openjdk-development/openjdk-development.json

关于virtualbox - Packer's Puppet 供应摊位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22390843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com