Команда, я могу сопоставить только один атрибут. Но чтобы иметь корреляцию в выходных данных с хостами, я хочу отобразить несколько атрибутов, таких как 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"
]
}