【问题标题】:Unable to use custom Ansible configuration file in Packer无法在 Packer 中使用自定义 Ansible 配置文件
【发布时间】:2020-05-06 14:00:11
【问题描述】:

我正在尝试使用 Packer 构建 Docker 映像并使用 Ansible 来配置所述映像。我想使用将在配置文件中定义的自定义 Ansible 插件,但似乎无法让 Packer 正确定位配置文件。我尝试将配置文件的路径放在ansible_env_vars 中,并且还尝试使用extra_arguments 块来指向配置文件。我还想指出,Packer 构建仍然会构建 Docker 映像,无论它是否可以正确定位自定义配置文件。

下面是我的Ansible Provisioner 块的外观示例、我的文件结构以及 Packer 构建输出日志。任何建议将不胜感激。

封隔器块

    "provisioners": [
        {
            "type": "ansible",
            "playbook_file": "src/playbook.yml",
            "ansible_env_vars": "src/ansible.cfg",
            "extra_arguments": [
                "-vvv",
                "--extra-vars", 
                "'variable={{ user `variable` }} ..... '" 
            ]
        }
    ],

打包程序构建输出

    docker: ansible-playbook 2.9.2
    docker:   config file = None
    docker:   configured module search path = ['/Users/andrewgonzalez/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
    docker:   ansible python module location = /usr/local/lib/python3.7/site-packages/ansible
    docker:   executable location = /usr/local/bin/ansible-playbook

文件结构

请记住,我有一个 Makefile,它将构建 Docker 映像并且位于我的 Packer 目录中。我在根目录下还有一个 Makefile 会调用 Packer 目录下的 Makefile 来执行构建。

$ tree -d -L 2
.
├── packer
│   ├── log
│   └── src
├── packerenv
│   ├── bin
│   ├── include
│   └── lib
└── test

【问题讨论】:

  • 所以在那个输出中,我没有看到任何错误消息——或者你的问题是为什么packer build 的输出只有 5 行?
  • 我的问题是如何正确设置 ansible 配置文件。我放置了一部分输出来说明打包程序没有正确设置配置文件。

标签: docker ansible packer


【解决方案1】:

如果您将 Ansible (remote) provisioner 用于 Packer,则该块应为:

"provisioners": [
    {
        "type": "ansible",
        "playbook_file": "src/playbook.yml",
        "ansible_env_vars": [ 
          "ANSIBLE_CONFIG=src/ansible.cfg"
        ],
        "extra_arguments": [
            "-vvv",
            "--extra-vars", 
            "'variable={{ user `variable` }} ..... '" 
        ]
    }
],

【讨论】:

  • 感谢您发现我的错误:ANSIBLE_CONFIG,我不知道我怎么忽略了这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
  • 1970-01-01
  • 2016-03-27
  • 1970-01-01
  • 2016-05-15
  • 2021-12-21
  • 1970-01-01
相关资源
最近更新 更多