首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在不执行任务的情况下加载角色(仅获取模块)?

是否可以在不执行任务的情况下加载角色(仅获取模块)?
EN

Stack Overflow用户
提问于 2016-05-04 19:25:44
回答 1查看 413关注 0票数 6

我想使用greendayonfire.mongodb role中定义的模块mongodb_replication

我知道在同一个游戏中应用角色后,我可以在我的任务中使用该模块。但是我不想应用这个角色(并执行它的所有任务)。有没有办法在不执行任务的情况下“包含”角色?

我想要这样的。

代码语言:javascript
复制
---
- hosts: mongodb-nodes
  become: true
  roles:
    - base
    - greendayonfire.mongodb
  vars:
    mongodb_package: mongodb-org
    mongodb_version: "3.2"
    mongodb_force_wait_for_port: true
    mongodb_net_bindip: 0.0.0.0
    mongodb_net_http_enabled: true
    mongodb_replication_replset: "rs1"
    mongodb_storage_prealloc: false
- hosts: mongodb-0
      tasks:
        - mongodb_replication: replica_set=rs1 host_name=item state=present
          with_items:
            - mongodb-0
            - mongodb-1
            - mongodb-2

其中第二个play是运行mongodb_replication模块的play(仅在节点mongodb-0中)。现在它找不到模块。

我想我可以将模块从角色复制到我的剧本中,但是如果我可以从角色导入模块(我不想编辑),我会更干净。

EN

回答 1

Stack Overflow用户

发布于 2016-05-04 19:25:44

我发现在引用角色时使用when: false子句可以在不执行任务的情况下加载角色。这将加载var、default、module等。

代码语言:javascript
复制
- hosts: mongodb-0
      roles:
        - role: greendayonfire.mongodb
          when: false
      tasks:
        - mongodb_replication: replica_set=rs1 host_name=item state=present
          with_items:
            - mongodb-0
            - mongodb-1
            - mongodb-2
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37026460

复制
相关文章

相似问题

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