本文介绍了基于任务结果的Ansible消息输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Ansible是否可以根据任务结果显示不同的消息?
Is it possible in Ansible to display different messages based on a result of the task?
例如
- 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我想要的是一条额外的消息,它会输出类似 Kafka的Prometheus不在端口{{prom_status.stdout}}
What I want is an additional message which would output something like Prometheus for Kafka is NOT listening on port {{ prom_status.stdout }}
推荐答案您的问题不是很清楚,但这是您需要考虑的问题(使用 actual_port 的值):
Your question is not very clear, but here is something for your consideration (play with the value of 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 }}"更多推荐
基于任务结果的Ansible消息输出
发布评论