Ansible:如何在uri模块中注册变量?

时间:2017-06-12 08:27:48

标签: ansible uri


这是我的代码或检查网站是否有效并正在运行:

  - hosts: master
    become: true
    tasks:
    - name: "Checking server availibility"
      uri:
        url: http://www.google.pl
        timeout: 5
      register: command_result
      ignore_errors: yes

    - debug: msg= "{{ command_result }}"

所以command_result变量总是返回此输出,无论网站是否可用:

ok: [Centos.v1] => {
    "changed": false,
    "msg": "Hello world!"
}

我想知道第一项任务是否成功,但是当注册变量的输出始终相同时,我不能这样做。

如何正确设置变量以读取返回码?
还有 有没有其他方法来检查上一个任务是否发生错误?

1 个答案:

答案 0 :(得分:2)

这与注册无关。

删除msg=之后的空格字符,否则将空字符串传递给debug模块,它会打印Hello World!作为结果(默认行为)。

更好的是,使用var参数和YAML语法:

- debug:
    var: command_result