首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从当前文件夹本地导入playbook中的Ansible集合,无需打包或银河系

从当前文件夹本地导入playbook中的Ansible集合,无需打包或银河系
EN

Stack Overflow用户
提问于 2020-03-19 22:12:37
回答 1查看 913关注 0票数 1
代码语言:javascript
复制
.
├── test
│   └── ansible_poc_collection
│       ├── docs
│       ├── galaxy.yml
│       ├── plugins
│       │   └── README.md
│       ├── README.md
│       └── roles
│           └── testrole
│               └── tasks
│                   └── main.yml
└── test-play.yml

galaxy.yml包含命名空间和名称:

代码语言:javascript
复制
namespace: test
name: ansible_poc_collection

test-play.yml中,我从集合like this导入了测试角色

代码语言:javascript
复制
- hosts: all
  collections:
   - test.ansible_poc_collection
  tasks:
    - import_role:
        name: testrole

但它会抛出一个找不到角色的错误:

代码语言:javascript
复制
ERROR! the role 'testrole' was not found in /home/user/tests/ansible-poc-collection/roles:/home/user/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/home/user/tests/ansible-poc-collection

The error appears to be in '/home/user/user/ansible-poc-collection/test-play.yml': line 6, column 15, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

    - import_role:
        name: testrole
              ^ here

尝试创建一个顶级文件夹collections,并将集合移动到那里,使其位于collections/test/ansible_poc_collection中,同样的错误。此外,当使用集合命名空间/名称引用全名时:

代码语言:javascript
复制
- import_role:
    name: test.ansible_poc_collection.testrole

另一种无效的方法是设置COLLECTIONS_PATHS,使其指向我的集合的根目录(包含test命名空间文件夹):

代码语言:javascript
复制
COLLECTIONS_PATHS=/home/user/tests/ansible-poc-collection/collections ansible-playbook -i 127.0.0.1, test-play.yml

如何在不构建存档和使用Ansible Galaxy的情况下在本地导入收藏?

使用的版本是2.9.6 (撰写本文时的最新稳定版本)

EN

回答 1

Stack Overflow用户

发布于 2020-03-20 08:21:31

好的,这基本上是一种变通方法。

只复制与剧本相邻的所需目录和相关目录(从集合目录)。

来源:https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#directory-layout

代码语言:javascript
复制
.
├── plugins
│   └── README.md
├── roles
│   └── testrole
│       └── tasks
│           └── main.yml
└── test-play.yml
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60758949

复制
相关文章

相似问题

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