1
を働かなかったときに私は私の条件私の脚本上でいくつかの問題を抱えて:ここAnsible条件が
は、ステートメントがあると私は何が間違っている見当がつかない。
main.yml
- include: setup-ubuntu-trusty.yml
when: (ansible_distribution == "Ubuntu" and ansible_distribution_release == "trusty")
- include: setup-ubuntu-xenial.yml
when: (ansible_distribution == "Ubuntu" and ansible_distribution_release == "xenial")
私はそれが私にこのエラーが発生します。このスクリプトを実行した
TASK: [utilities/requirements | requirements | include os-specific variables] ***
skipping: [ansible-test-vm02]
TASK: [utilities/requirements | requirements | install] ***********************
fatal: [ansible-test-vm02] => with_items expects a list or a set
FATAL: all hosts have already failed -- aborting
私はUbuntuのxenialと二つの変数の値を使用しています(ansible_distribution = Ubuntuの/ ansible_distribution_release = xenial)
私はなぜ最初のファイルにジャンプしてエラーが出るのか分かりません。これをスキップして、xenialファイルに移動します。追加
: これは、ファイルが含ま
セットアップのubuntu-trusty.yml /セットアップのubuntu-xenial.yml
- name: requirements | include os-specific variables
include_vars: "{{ ansible_distribution | lower }}-{{ ansible_distribution_release | lower }}.yml"
- name: requirements | install
apt: name={{ item }} state=present
with_items: "{{ package }}"
register: out_download
- name: requirements | output install
debug: var=out_download
まず、インデントが問題ではないことを確認するためにコードサンプルを適切にインデントしてください。そして、 'when'ステートメントで変数の出力をデバッグしてください。 – Wtower
でした。 (Ubuntuと{{ansible_distribution_release}} ==の信頼{{ansible_distribution}} ==) は今私が得た:とき :エラー条件を評価しながら、(Ubuntuの== Ubuntuとxenial ==信頼できる) – F961
及びそれを変更when条件で{{}}を使用しないでください。私は、あなたが含まれているプレイブックが何をしているのかについて少し詳しい情報を与えるべきだと思います。どちらが含まれますか?この問題はインクルード自体に含まれているようではなく、含まれているプレイブックにあります。 – shaps