首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不可解析调试输出

不可解析调试输出
EN

Stack Overflow用户
提问于 2020-02-05 11:28:04
回答 1查看 1K关注 0票数 1

我使用ansible调试模块从3台不同的主机获得了这个ansible输出:

代码语言:javascript
复制
TASK [debug] ***************************************************************************************************************************************************************************************
ok: [10.240.22.44] => {
    "msg": {
        "changed": true,
        "msg": "All items completed",
        "results": [
            {
                "_ansible_ignore_errors": true,
                "_ansible_item_result": true,
                "_ansible_no_log": false,
                "_ansible_parsed": true,
                "changed": true,
                "cmd": "/opt/confluent/bin/nodefirmware smm1",
                "delta": "0:00:00.128325",
                "end": "2020-02-05 11:22:19.435049",
                "failed": false,
                "invocation": {
                    "module_args": {
                        "_raw_params": "/opt/confluent/bin/nodefirmware smm1",
                        "_uses_shell": true,
                        "chdir": null,
                        "creates": null,
                        "executable": null,
                        "removes": null,
                        "stdin": null,
                        "warn": true
                    }
                },
                "item": "10.240.18.20",
                "rc": 0,
                "start": "2020-02-05 11:22:19.306724",
                "stderr": "",
                "stderr_lines": [],
                "stdout": "smm1: SMM: 1.10 (TESM14F)\nsmm1: PSOC: 0.7",
                "stdout_lines": [
                    "smm1: SMM: 1.10 (TESM14F)",
                    "smm1: PSOC: 0.7"
                ]
            },
            {
                "_ansible_ignore_errors": true,
                "_ansible_item_result": true,
                "_ansible_no_log": false,
                "_ansible_parsed": true,
                "changed": true,
                "cmd": "/opt/confluent/bin/nodefirmware smm1",
                "delta": "0:00:00.096292",
                "end": "2020-02-05 11:22:22.847949",
                "failed": false,
                "invocation": {
                    "module_args": {
                        "_raw_params": "/opt/confluent/bin/nodefirmware smm1",
                        "_uses_shell": true,
                        "chdir": null,
                        "creates": null,
                        "executable": null,
                        "removes": null,
                        "stdin": null,
                        "warn": true
                    }
                },
                "item": "10.240.19.21",
                "rc": 0,
                "start": "2020-02-05 11:22:22.751657",
                "stderr": "",
                "stderr_lines": [],
                "stdout": "smm1: SMM: 1.10 (TESM14F)\nsmm1: PSOC: 0.7",
                "stdout_lines": [
                    "smm1: SMM: 1.10 (TESM14F)",
                    "smm1: PSOC: 0.7"
                ]
            }
        ]
    }
}

我试图解析这个输出并在最后显示,对于每个主机,严格地说:

代码语言:javascript
复制
"stdout_lines": [
                    "smm1: SMM: 1.10 (TESM14F)",
                    "smm1: PSOC: 0.7"

显示上述输出的剧本如下:

代码语言:javascript
复制
   - debug:
       msg: "{{ smm_output }}"
     when: "('primary' in default_hostname or 'Primary' in default_hostname)"
     tags: ['ic', 'smm']

我试过使用"{{ smm_output.stdout_lines }}“,但是说没有这样的dict对象

有什么线索吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-05 12:29:40

您正在注册循环任务的输出。引用文件:

当您在带有循环的任务中注册变量时,已注册变量包含循环中每个项的值。循环期间放置在变量中的数据结构将包含一个结果属性,即模块所有响应的列表。有关如何工作的更深入的示例,请参见循环使用寄存器的循环部分。

要在stdout_lines中调试各个results的每个smm_output,可以使用以下任务:

代码语言:javascript
复制
    - name: debug result
      debug:
        var: item.stdout_lines
      loop: "{{ smm_output.results }}"

参考文献:https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#registering-variables

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60074778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档