3

プレイブックでの使用方法がわかりませんgroup_by。私は RHEL6 に限定された役割を担っておりgroup_by、RHEL6 マシンを RHEL5 マシンから分割する方法を理解することに興味があります。複合キーを作成しました。デバッグ タスクで、適切に設定されていることがわかります。しかし、デバッグ タスクによって吐き出される複合キーが「RedHat-6」であっても、プレイブックは次のセクションをスキップします。hosts: RedHat-6


- hosts: abc
  user: myuser
  sudo: yes
  gather_facts: yes
  tasks:
     - group_by: key={{ ansible_distribution }}-{{ ansible_distribution_version | truncate(1, True, '') }}
     - debug: "msg={{ ansible_distribution }}-{{ ansible_distribution_version | truncate(1, True, '') }}"

- hosts: RedHat-6
  user: myuser
  sudo: yes
  gather_facts: yes
  roles:
    - somerhel6onlyrole

(私のプレイブックには RedHat-5 のセクションもありますが、単に呼び出しますfail)

group_by ホストを一致させることはできません。常にスキップします。出力は次のようになります。

TASK: [debug msg={{ansible_distribution}}-{{ansible_distribution_version | truncate(1, True, '')}}] ***
ok: [abchost1] => {
    "msg": "RedHat-6"
}
ok: [abchost2] => {
    "msg": "RedHat-6"
}

PLAY [RedHat-6] ***************************************************************
skipping: no hosts matched

PLAY [RedHat-5] ***************************************************************
skipping: no hosts matched

group_by を間違って使用していますか、それともその目的を誤解していますか? 私はansibleに比較的慣れていません。私が使用しているバージョンは 1.5.3 です。同様に、別の方法で検証するだけで問題を解決できますが、group_by を適切に使用する方法を知りたいです。よろしくお願いします。

4

1 に答える 1