【问题标题】:Cannot print stdout from na_ontap_command ansible module无法从 na_ontap_command ansible 模块打印标准输出
【发布时间】:2021-09-15 20:59:38
【问题描述】:

我正在尝试从 NetApp ONTAP9.8P6 上的 na_ontap_command ansible module 获取 stdout_lines 输出。

这给了我完整的输出:

 tasks:
  - name: Version CLI Command
    na_ontap_command:
      command: ['version']
      return_dict: yes
      <<: *login
    register: cluster_version

  - name: Print Output
    debug:
      msg: "{{ cluster_version }}"

输出:

    ok: [localhost] => {
    "msg": {
        "changed": true,
        "failed": false,
        "msg": {
            "invoked_command": "version",
            "result_value": 1,
            "status": "passed",
            "stdout": "NetApp Release 9.8P6: Tue Aug 03 16:21:11 UTC 2021\n",
            "stdout_lines": [
                "NetApp Release 9.8P6: Tue Aug 03 16:21:11 UTC 2021"
            ],
            "xml_dict": {
                "active_element": "",
                "cli-output": {
                    "attrs": {},
                    "data": "NetApp Release 9.8P6: Tue Aug 03 16:21:11 UTC 2021\n"
                },
                "cli-result-value": {
                    "attrs": {},
                    "data": "'1'"
                },
                "last_element": "results",
                "results": {
                    "attrs": {
                        "status": "passed",
                        "xmlns": "http://www.netapp.com/filer/admin"
                    },
                    "data": ""
                }
            }
        }
    }
}

我怎样才能打印例如标准输出还是标准输出线?

我找到了带有 msg 的示例:“{{ cluster_version.stdout }}”或looping through results

msg: "{{ cluster_version.stdout }}" 以以下错误消息结尾:

"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'stdout'\

在我的案例中,我不知道如何使用循环,因为在我的剧本的输出中找不到结果关键项。

也许有人经历过这种情况并可以提供想法或解决方案?谢谢!

【问题讨论】:

    标签: ansible netapp


    【解决方案1】:

    注册的变量cluster_version包含另一个字典,即msg

    所以要获得stdoutstdout_lines,您需要参考cluster_version['msg'],如下所示:

    - debug:
        var: cluster_version['msg']['stdout']
    

    【讨论】:

    • ok: [localhost] => { "cluster_version['msg']['stdout_lines']": ["NetApp 9.8P6 版:2021 年 8 月 3 日星期二 16:21:11 UTC 2021"] }
    猜你喜欢
    • 2018-12-25
    • 2023-04-06
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2016-07-27
    相关资源
    最近更新 更多