首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ansible-local in packer不会拾取集合

ansible-local in packer不会拾取集合
EN

Stack Overflow用户
提问于 2021-02-09 00:12:01
回答 1查看 498关注 0票数 0

我正在使用打包程序中的ansible-local provisioner,并尝试使用community.general集合,但是我根本无法让我的剧本看到它。

封装器代码为:

代码语言:javascript
复制
{
  "type": "ansible-local",
  "staging_directory": "/tmp/packer-provisioner-ansible-local",
  "command": "ANSIBLE_COLLECTIONS_PATHS=/tmp/packer-provisioner-ansible-local/collections/roles ansible-playbook",
  "playbook_file": "{{ user `jenkins_workspace` }}/packer/ansible/playbook.yml",
  "playbook_dir": "{{ user `jenkins_workspace` }}/packer/ansible",
  "galaxy_command": "ANSIBLE_COLLECTIONS_PATHS=/tmp/packer-provisioner-ansible-local/collections/roles ansible-galaxy collection",
  "galaxy_file": "{{ user `jenkins_workspace` }}/packer/ansible/collections/requirements.yml",
  "inventory_groups": "{{user `inventory_groups`}}"
}

这些集合似乎在正确的DIR中安装没有问题

代码语言:javascript
复制
amazon-ebs: Executing Ansible Galaxy: cd /tmp/packer-provisioner-ansible-local && ANSIBLE_COLLECTIONS_PATHS=/tmp/packer-provisioner-ansible-local/roles ansible-galaxy collection install -r /tmp/packer-provisioner-ansible-local/requirements.yml -p /tmp/packer-provisioner-ansible-local/roles
amazon-ebs: |Installing 'community.general:2.0.0' to '/tmp/packer-provisioner-ansible-local/roles/ansible_collections/community/general'

然而,Ansible不能使用它

代码语言:javascript
复制
amazon-ebs: Executing Ansible: cd /tmp/packer-provisioner-ansible-local && ANSIBLE_COLLECTIONS_PATHS=/tmp/packer-provisioner-ansible-local/roles ansible-playbook /tmp/packer-provisioner-ansible-local/playbook.yml --extra-vars "packer_build_name=amazon-ebs packer_builder_type=amazon-ebs packer_http_addr=ERR_HTTP_ADDR_NOT_IMPLEMENTED_BY_BUILDER -o IdentitiesOnly=yes"  -c local -i /tmp/packer-provisioner-ansible-local/packer-provisioner-ansible-local801906075
amazon-ebs: ERROR! couldn't resolve module/action 'community.general.docker_compose'. This often indicates a misspelling, missing collection, or incorrect module path.

正在讨论的Anisble游戏是

代码语言:javascript
复制
    - name: Docker compose build the containers
      community.general.docker_compose:
        recreate: never
        pull: yes
        build: yes
        state: present
        stopped: yes
        project_src: "{{ home }}"

任何关于我在这方面的错误之处的建议都是很棒的……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-09 17:34:58

这是因为我使用的是Ansible 2.9,而这个特性只在2.10版本中出现(这将告诉我不要检查我正在阅读的文档版本:D )。

遗憾的是,Ansible错误提到,如果不能使用集合,就会丢失它们……

代码语言:javascript
复制
ERROR! couldn't resolve module/action 'community.general.docker_compose'. This often indicates a misspelling, missing collection, or incorrect module path.

希望这个问题能帮助其他处于类似境地的人。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66105240

复制
相关文章

相似问题

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