Ansible 可解析Md5校验和

Ansible 可解析Md5校验和,ansible,yaml,md5,checksum,cisco,Ansible,Yaml,Md5,Checksum,Cisco,**我一直试图在Md5结果匹配时安装新的操作系统,但我无法通过。我不断收到错误:“错误是:计算条件时出错(md5_result.stdout[0]==”“asdh3jk23h434334”。“dict object”没有属性“stdout”\请建议** > - block: > - name: verify MD5 > ios_command: > provider: "{{ creds }}"

**我一直试图在Md5结果匹配时安装新的操作系统,但我无法通过。我不断收到错误:“错误是:计算条件时出错(md5_result.stdout[0]==”“asdh3jk23h434334”。“dict object”没有属性“stdout”\请建议**

>  - block:
>           - name: verify MD5
>             ios_command:
>               provider: "{{ creds }}"             
>               commands: sh file bootflash:{{ki}} md5sum
>             register: md5_result
>           - name: Install OS 
>             check_mode: no
>             nxos_install_os:
>               provider: "{{ creds }}"
>               kickstart_image_file: "{{ki}}"
>               system_image_file: "{{si}}"
>               issu: desired
>             when: md5_result.stdout[0] == "asdh3jk23h4343243434334"
var:md5_结果的输出

  "md5_result": {
    "changed": false,
    "failed": false,
    "stdout": [
        "asdh3jk23h43434343434343"
    ],
    "stdout_lines": [
        [
            "asdh3jk23h43434343434343"
        ]
    ]
}

}我能够做到这一点:

    - block:
      - name: verify MD5
        ios_command:
          provider: "{{ creds }}"
          commands: show file bootflash:{{bin}} md5sum
        register: md5_result
      - debug:
          var: md5_result.stdout[0]
   - block:
      - name: Install OS
        nxos_install_os:
          provider: "{{ creds }}"
          system_image_file: "{{bin}}"
          issu: no
          timeout: 500
        when: md5_result.stdout[0] == "asdh3jk23h43434343434343"

在该任务之前插入时,
-debug:var=md5_result
的输出是什么?“md5_result”:{“changed”:false,“failed”:false,“stdout”:[“asdh3jk23h434343”],“stdout行”:[“asdh3jk23h434343”]]}然后请更新您的问题以包含真正的错误消息,因为该输出和您声明的消息不一致;您还应该包含
ansible--version
的输出,因为如果您使用的是ansible 0.55 beta或其他同样愚蠢的工具,则无法进一步跟踪