web-dev-qa-db-ja.com

特定のタグに含まれていないサブプレイのファクトの収集を無効にする方法

私のプレイブックのいくつかには、次のようなサブプレイ構造があります。

- hosts: sites
  user: root
  tags:
    - configuration
  tasks:
  (...)

- hosts: sites
  user: root
  tags:
    - db
  tasks:
  (...)

- hosts: sites
  user: "{{ site_vars.user }}"
  tags:
    - app
  tasks:
  (...)

Ansible 1.xでは、管理者と開発者の両方がこのようなプレイブックを使用できました。管理者はすべてのタグ(ルートおよびユーザーアクセス)で実行できましたが、開発者はユーザーアクセスレベルのタスクを持つ最後のタグにのみアクセスできました。開発者がappタグを使用してこのプレイブックを実行すると、最初の2つのタグのファクトの収集がスキップされました。ただし、現在、Ansible 2.1ではスキップされないため、rootアクセスのないユーザーに障害が発生します。

この動作を修正するメカニズムまたは簡単な変更はありますか?そのような場合に現在適用すべき新しいアプローチはありますか?

17
Michal

簡単なmodがあります。事実の収集をオフにし、setupを明示的に呼び出します。

- hosts: sites
  user: root
  tags:
    - configuration
  gather_facts: no
  tasks:
    - setup:
    (...)
33