Ansible-无法获得条件消息

时间:2018-07-19 16:22:01

标签: ansible conditional

我已经为此花了一段时间了,但我似乎并没有取得进展。我想知道是否有人可以帮忙。

我正在尝试检查是否已安装软件包。如果已安装软件包,则我想在调试中说“消息A”,但是如果未安装该软件包,那么我就想说“消息B”。

这是我到目前为止所拥有的...

- name: Is plesk installed
  yum:
    list: psa
  register: is_installed

- name: Full Debug!!
  debug:
    msg: "{{is_installed}}"

- debug:
    msg: "{{ (is_installed != 'package psa is not installed') | ternary ('{{plesk_installed}}', 'NOT ') }}"

这是输出:

TASK [reboot-checks : Is plesk installed] ********************************************************************************************************************************************
Thursday 19 July 2018  17:13:20 +0100 (0:00:00.380)       0:00:00.550 ********* 
ok: [v-cent001]
TASK [reboot-checks : Full Debug!!] **************************************************************************************************************************************************
Thursday 19 July 2018  17:13:21 +0100 (0:00:01.160)       0:00:01.711 ********* 
ok: [v-cent001] => {
    "msg": {
        "changed": false, 
        "failed": false, 
        "results": []
    }
}
TASK [reboot-checks : debug] *********************************************************************************************************************************************************
Thursday 19 July 2018  17:13:22 +0100 (0:00:00.074)       0:00:01.785 ********* 
ok: [v-cent001] => {
        "msg": "{{plesk_installed}}"
}

在此设备上,未安装Plesk,因此我希望输出中出现'NOT'。因此,这是一个问题-另一个问题是变量{{plesk_installed}}实际上也没有正确解析。

我在这里真的很挣扎,而且似乎找不到任何文档。

但是,如果有更好的方法可以做到这一点,那么我很想听听!

在此先感谢您的帮助:)

0 个答案:

没有答案