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

5


这是我用来检查网站是否有效且正常运行的代码:

  - 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个回答

3

这与注册无关。

去掉msg=后面的空格,否则你会向debug模块传递一个空字符串,作为结果它会打印出Hello World!(这是它的默认行为)。

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

- debug:
    var: command_result

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接