でのマッピングを構築しながら、私は脚本を実行するたびに次のような警告が起動する:警告Ansible
[警告]:/etc/ansible/roles/foo/tasks/main.ymlからマッピングを構築中、行17、列3、見つけた 重複するdictキー(ファイル)。最後に定義された値のみを使用する。
タスクフォルダ内の私のmain.ymlの関連部分はこのようなものです:(17行が少しオフに思わファイルをきれいにする作業ですので、私は問題があると推測
前回の "スクリプト" ライン)
- name: Run script to format output
script: foo.py {{ taskname }} /tmp/fcpout.log
- name: Clean temp files
file: path=/tmp/fcpout.log state=absent
そして、私のVARSファイル:
---
my_dict: {SLM: "114", Regular: "255", Production: "1"}
taskid: "{{my_dict[taskname]}}"
実行するには私は私の脚本:「サーバー」パラメータで、タスク名を取得し、それからidが参照しているを見つける:私は何をしようとしている
ansible-playbook playbooks/foo.yml --extra-vars "server=bar taskname=SLM"
は、コマンドライン引数を取るホストを設定することですに。このIDは、リモートで実行されるPythonスクリプトの最初の入力として使用されます。
プレイブックは正常に動作しますが、警告が表示される理由はわかりません。誰がここで何が間違っているのか説明できますか?
あなたは正しいですか? 2番目の 'file:'タスクがありました。私は不可解な言葉に慣れていないので、「ファイル・モジュールを参照していた重複したdictキー(ファイル)が見つかりました。 "キー"という言葉で私は辞書と関係があると思った。助けてくれてありがとう。 –
あなたは2つの "タスク:"キーも持っていればこれを得ることができます:)シナリオ:プレイブックには1つのタスクがあり、それを複製して間違ってタスクの見出しをコピーしました。 @udondanが間違った行番号についても述べているものをバックアップすることができます - 私はいくつかの行を警告しています。 –