1
oswatcherがインストールされているかどうかを確認するためのansibeプレイブックを作成しました。インストールされていない場合は、インストールします。ソフトウェアをチェックするいつでもエラーが発生する可能性があります
シェルスクリプトは
#!/bin/bash
#Validation check that checks if oswatcher is installed
oswatcher=$(rpm -qa | grep "^oswatcher*" || echo "not_installed")
echo "$oswatcher"
この劇インストールされている、ここでシェルスクリプトの出力をチェックし、出力を確認してくださいプレイをインストールするかどうか
- name: Execute script to check if oswatcher is installed
script: "{{ oswatch_home }}/version_details.sh"
register: oswatcher
- name: Print the Output
debug:
msg: "You can think the Application is installed, it is {{ oswatcher.stdout }}"
- include: oswatch-install.yml
when: oswatcher.stdout == "not_installed"
実行しなければならない場合を検証
PLAY [integration] *******************************************************************************************************************
TASK [Gathering Facts] ***************************************************************************************************************
ok: [xxxxxx]
ok: [xxxxxx]
TASK [app/oswatch : Execute script to check if oswatcher is installed] ***************************************************************
changed: [xxxxx1]
changed: [xxxxx2]
TASK [app/oswatch : Print the Output] ************************************************************************************************
ok: [xxxxxx1] => {
"changed": false,
"msg": "You can think the Application is installed, it is oswatcher-7.3.3-2.el6.noarch\r\n"
}
ok: [xxxxxx2] => {
"changed": false,
"msg": "You can think the Application is installed, it is not_installed\r\n"
}
TASK [app/oswatch : create project directory "/tmp/oswatch"] *************************************************************************
skipping: [xxxxxx1]
skipping: [xxxxxx2]
論理がnot_installedと一致し、inを実行するかどうかが検証されます。ストール・プレイかどうかは、それが厄介なことを理解することができない完璧なものを印刷します。
あなたが正しい は、それは、次のような動作しますが、YAMLのsyntaxingはこの ように書きます:トン「oswatcher.stdoutに 『NOT_INSTALLED』」感謝を!まだ私が使用していない状態がなぜ働かないのかは分かりません。 –
ありがとうございます。私はそれに応じて私の答えの引用符を変更しました。 初期状態では、 'not_installed'が変数 'oswatcher'の値であるかどうかを検証していました。私の条件は、 'not_installed'がこの変数の一部であるかどうかをチェックします。 「oswatcher」を印刷すると、わかりやすく理解できます。 –
@BinnyThomas '\ r \ n'に注意してください。それは変数値にあります。それはあなたがそれを比較した文字列にはありません。 – techraf