2016-05-04 1 views
2

greendayonfire.mongodbロールで定義されたモジュールmongodb_replicationを使用します。タスクを実行せずに(モジュールのみを取得するために)ロールをロードできますか?

私は同じ演劇で役割を適用した後私の仕事でモジュールを使用できることを知っています。しかし、私はその役割を適用する(そしてすべてのタスクを実行する)ことは望ましくありません。タスクを実行せずにロールを「インクルード」する方法はありますか?

私は2番目のプレイは(唯一のノードmongodb-0中)mongodb_replicationモジュールを実行します一つです。この

--- 
- 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 

ようにそれを持っていると思います。今すぐモジュールを見つけることができません。

私は私が私の脚本に役割からモジュールをコピーすることができますが、私はちょうど(私が編集したくない)の役割からモジュールをインポートすることができれば、私はきれいになると思い

答えて

3

私がことがわかりましたロールを参照するときにwhen: false句を使用してタスクを実行せずにロールをロードすることは可能です。これにより、変数、デフォルト、モジュールなどがロードされます。

- 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 
関連する問題