我试图让包装商ansible供应商使用用户名和密码,但是由于认证步骤失败,具有ansible的配置一直停滞不前。
这是我的Packer Ansible设置程序脚本。
{
"type": "ansible",
"user": "pi",
"playbook_file": "playbook.yml",
"extra_arguments": [
"--extra-vars",
"ansible_python_interpreter=/usr/bin/python3",
"--extra-vars",
"ansible_user=pi",
"--extra-vars",
"ansible_ssh_pass=raspberry",
"-vvv"
]
}
Run Code Online (Sandbox Code Playgroud)
我完全不知道为什么这行不通。
卡住的输出如下。
armpi: ==> arm-image: Executing Ansible: ansible-playbook --extra-vars packer_build_name=arm-image packer_builder_type=arm-image -i /tmp/packer-provisioner-ansible288108417 playbook.yml -e ansible_ssh_private_key_file=/tmp/ansible-key528332842 --extra-vars ansible_python_interpreter=/usr/bin/python3 --extra-vars ansible_ssh_user=pi --extra-vars ansible_ssh_pass=raspberry -vvv
Run Code Online (Sandbox Code Playgroud)
看起来它正在尝试使用a,ansible_ssh_private_key_file=/tmp/ansible-key528332842但我不希望它使用我真的只是希望它使用用户名和密码登录。
从预ansible配器文档的顶部:
ansible Packer预配器运行Ansible剧本。它动态创建一个配置为使用SSH的Ansible清单文件,运行SSH服务器,执行ansible-playbook,并通过SSH服务器将Ansible播放机封送给Packer所配置的计算机。
注意:
remote_user任务中定义的任何内容都将被忽略。Packer将始终与该配置程序的json配置中指定的用户联系。
供应商无法执行您要执行的操作ansible。但是您可以通过使用预配器运行ansible来实现您尝试做的事情shell-local。
(要获取在Ansible清单中使用的VM的IP地址,可以遵循我在这篇文章中介绍的一般模式。)
| 归档时间: |
|
| 查看次数: |
576 次 |
| 最近记录: |