我正在使用 Chef 版本 11.16.4 和 packer v 0.7.1 和 docker v1.3.0
在安装 chef-solo 后,我无法让 chef-solo 运行 chef-solo 供应器。
我收到以下错误:
错误:无法确定节点名称:配置 node_name 或配置系统的主机名和 fqdn
我在互联网上四处寻找,试图弄清楚发生了什么,这个错误似乎很少见,因为 node_name 通常由系统赋予默认值,或者在 solo.rb 中分配,在我看来,这似乎不能直接在打包程序中覆盖配置模板。
我的打包程序配置有问题还是这是 chef-solo 和 docker 配置之间的不兼容问题?
我正在使用以下打包程序配置:
{
"variables": {
"version": "",
"base-image-version": ""
},
"builders":[{
"type": "docker",
"image": "centos:latest",
"pull": true,
"export_path": "zookeeper-base-{{user `version`}}.tar"
}],
"provisioners":[
{
"type": "chef-solo",
"cookbook_paths": ["../chef-simple/cookbooks"],
"install_command":"curl -L https://www.opscode.com/chef/install.sh | bash",
"execute_command":"chef-solo --no-color -c {{.ConfigPath}} -j {{.JsonPath}}",
"run_list":["recipe[zookeeper::install]"],
"json":{"node_name":"zookeeper-box","env_name":"dev","ip":"10.10.10.10"},
"prevent_sudo":true
}],
"post-processors": [{
"type": "docker-import",
"repository": "ed-sullivan/zookeeper-base",
"tag": "{{user `version`}}"
}]
}