2017-11-01 25 views
0

タスクの結果に基づいて異なるメッセージを表示することは可能ですか?例えばタスク結果に基づくメッセージ出力

- name: check_prometheus_status_kafka 
    shell: /usr/sbin/ss -lnt|awk '{ print $4}'|grep 9071 |sed 's/\*//'| sed 's/\://' 
    register: prom_status 
    tags: 
     - check_prometheus_status_kafka 

    - name: post_message_prom_kafka 
    debug: msg="Prometheus for Kafka listening in {{ prom_status.stdout }}" 
    when: prom_status.stdout == "9071" 
    tags: 
     - post_message_prom_kafka 

私がしたいことはPrometheus for Kafka is NOT listening on port {{ prom_status.stdout }}

答えて

1

のような出力何かがあなたの質問は非常に明確ではないが、ここにご検討のための何かが(の値と遊ぶあるだろう追加のメッセージですactual_port):

--- 
- hosts: localhost 
    vars: 
    port_to_listen_on: "9071" 
    actual_port: "9071" 
    tasks: 
    - debug: 
     msg: "Prometheus for Kafka {{ (actual_port == port_to_listen_on) | ternary ('', 'NOT ') }}listening in {{ port_to_listen_on }}" 

    # or 

    - debug: 
     msg: "Prometheus for Kafka {{ 'NOT ' if (actual_port != port_to_listen_on) else '' }}listening in {{ port_to_listen_on }}" 
+0

申し訳ありませんが、私は明確ではありません。私が達成したいのは、結果に関係なくメッセージを提供することですが、メッセージはタスク結果に基づいてコンパイルする必要があります。たとえば、ジョブが成功した場合、私は "成功"と言いたいと思います。失敗した場合は、 "else"節のように "FAILED"というメッセージを投稿します。 – user2362699

+0

私が提供した答えからメッセージを適応させてください。他に何が不明なままであるか? – techraf

+0

ありがとうございます@techraf !! – user2362699

関連する問題