ansible не может отобразить несколько атрибутов - PullRequest
0 голосов
/ 24 октября 2019

Команда, я могу сопоставить только один атрибут. Но чтобы иметь корреляцию в выходных данных с хостами, я хочу отобразить несколько атрибутов, таких как host: kernelVersion, есть ли подсказка, как мне этого добиться?

map(attribute=("nodeKernel", "node_name")) << что я здесь не так делаю? </p>

рабочий запрос

gpu_node_kernelVersion: '{{ gpu_node_info | json_query(query) | map(attribute="nodeKernel") | list }}'

не работает

          gpu_node_names: '{{ gpu_node_info | json_query(query) | map(attribute="node_name") | list }}'
        vars:
          query: 'resources[].{node_name: metadata.name, nodeType: metadata.labels.nodeType}'

      - set_fact:
          gpu_node_kernelVersion: '{{ gpu_node_info | json_query(query) | map(attribute=("nodeKernel", "node_name")) | list }}'

        vars:
          query: 'resources[].{node_name: metadata.name, nodeKernel: status.nodeInfo.kernelVersion}'

      - debug:
          var: gpu_node_names
      - name: "Validate DGX/GPU nodes Kernel Version"
        debug:
          var: gpu_node_kernelVersion

Выход: сбой

ok: [target1] => {
    "gpu_node_names": [
        "host1",
        "host2"
    ]
}

TASK [3_validations_on_ssh : Validate DGX/GPU nodes Kernel Version] ***************************************************************************************************************************************
ok: [target1] => {
    "gpu_node_kernelVersion": "[AnsibleUndefined, AnsibleUndefined]"
}

проход: выход

TASK [3_validations_on_ssh : Validate DGX/GPU nodes Kernel Version] ***************************************************************************************************************************************
ok: [target1] => {
    "gpu_node_kernelVersion": [
        "4.15.0-45-generic",
        "4.15.0-45-generic"
    ]
}
...