単語検索のためのAnsible操作

単語検索のためのAnsible操作

私の可能な仕事を通して、私は次のことを確認したいと思います。openjdk環境にインストールされます。

- name: Check if java is installed on environment
   shell: rpm -qa | grep 'openjdk'
   register: result

grepが何も見つからず、戻りコードが1だったので失敗したことがわかりました。

対処[xms_webapp:その環境にjavaがインストールされていることを確認する]******************致命的:[10.230.14.21]:失敗しました! => {"変更": true, "cmd": "rpm -qa | grep 'openjdk'", "delta": "0:00:00.721086", "end": "2019-02-20 12:17: 40.253171", "msg": "非ゼロ戻りコード", "rc": 1, "start": "2019-02-20 12:17:39.532085", "stderr": "", "stderr_lines": [ ] , "stdout": "", "stdout_lines": []} 再試行するには、次のようにします。 --limit @/opt/ngpe/share/playbooks/xms/xms.retry

代替として使用しようとしています。少ないコマンドと対応する-pオプションを使用してパターンを使用します。

rpm -qa > /tmp/openjdk.txt | less -p /'\w[openjdk]' /tmp/openjdk.txt

しかし、結果は「パターンが見つかりません」です。

vimでファイルを開き、次のように入力すると:/ openjdk

希望の単語を見つけました。

plymouth-scripts-0.8.3-29.el6.x86_64
lm_sensors-libs-3.1.1-17.el6.x86_64
vim-minimal-7.4.629-5.el6_8.1.x86_64
adl-release-13-03.00.09.el6.noarch
lua-5.1.4-4.1.el6.x86_64
adl-pmc3-3.1-04.00.14.el6.x86_64
libidn-1.18-2.el6.x86_64
module-init-tools-3.9-26.el6.x86_64
libpciaccess-0.13.4-1.el6.x86_64
libgpg-error-1.7-4.el6.x86_64
java-1.8.0-**openjdk**-1.8.0.191.b12-0.el6_10.x86_64
cpio-2.10-13.el6.x86_64
p11-kit-0.18.5-2.el6.x86_64
cvs-1.11.23-16.el6.x86_64
libutempter-1.1.5-4.1.el6.x86_64
checkpolicy-2.0.22-1.el6.x86_64
perl-Expect-1.21-3.el6.noarch
which-2.19-6.el6.x86_64
hpacucli-9.40-12.0.x86_64
cma_server-1.2-00.B03.noarch
pth-2.0.7-9.3.el6.x86_64
p11-kit-trust-0.18.5-2.el6.x86_64
oddjob-0.30-5.el6.x86_64

誰でも何が間違っているのか教えてもらえますか?

ベストアンサー1

ignore_errors: yesAnsibleアクションを追加してこの問題を解決しました。

- name: Check if java is installed on environment
   shell: rpm -qa | grep 'openjdk'
   ignore_errors: yes
   register: result

なぜなら私の次の任務は登録結果を確認することだからだ。

- name: Exclude java from updating to newer version, if java is installed
   lineinfile:
     path: /etc/yum.conf
     line: exclude=java*
     insertafter: [main]
   when: result.stdout != ""

おすすめ記事