【发布时间】:2021-07-16 12:20:14
【问题描述】:
我使用来自 https://ibm.github.io/ansible-power-aix/modules/mpio.html 的模块 mpio。
结果如下:
ok: [hostX] => {
"ansible_facts.mpio.paths": {
"hdisk10": {
"fscsi0": {
"500507680b256624,9000000000000": {
"path_id": 18,
"path_status": "Available",
"status": "Enabled"
},
"500507680b256625,9000000000000": {
"path_id": 19,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93e,9000000000000": {
"path_id": 16,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93f,9000000000000": {
"path_id": 17,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi1": {
"500507680b266624,9000000000000": {
"path_id": 22,
"path_status": "Available",
"status": "Enabled"
},
"500507680b266625,9000000000000": {
"path_id": 23,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93e,9000000000000": {
"path_id": 20,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93f,9000000000000": {
"path_id": 21,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi2": {
"500507680b256624,9000000000000": {
"path_id": 26,
"path_status": "Available",
"status": "Enabled"
},
"500507680b256625,9000000000000": {
"path_id": 27,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93e,9000000000000": {
"path_id": 24,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93f,9000000000000": {
"path_id": 25,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi3": {
"500507680b266624,9000000000000": {
"path_id": 30,
"path_status": "Available",
"status": "Enabled"
},
"500507680b266625,9000000000000": {
"path_id": 31,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93e,9000000000000": {
"path_id": 28,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93f,9000000000000": {
"path_id": 29,
"path_status": "Available",
"status": "Enabled"
}
}
},
"hdisk11": {
"fscsi0": {
"500507680b256624,17000000000000": {
"path_id": 18,
"path_status": "Available",
"status": "Enabled"
},
"500507680b256625,17000000000000": {
"path_id": 19,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93e,17000000000000": {
"path_id": 16,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93f,17000000000000": {
"path_id": 17,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi1": {
"500507680b266624,17000000000000": {
"path_id": 22,
"path_status": "Available",
"status": "Enabled"
},
"500507680b266625,17000000000000": {
"path_id": 23,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93e,17000000000000": {
"path_id": 20,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93f,17000000000000": {
"path_id": 21,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi2": {
"500507680b256624,17000000000000": {
"path_id": 26,
"path_status": "Available",
"status": "Enabled"
},
"500507680b256625,17000000000000": {
"path_id": 27,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93e,17000000000000": {
"path_id": 24,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93f,17000000000000": {
"path_id": 25,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi3": {
"500507680b266624,17000000000000": {
"path_id": 30,
"path_status": "Available",
"status": "Enabled"
},
"500507680b266625,17000000000000": {
"path_id": 31,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93e,17000000000000": {
"path_id": 28,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93f,17000000000000": {
"path_id": 29,
"path_status": "Available",
"status": "Enabled"
}
}
},
"hdisk12": {
"fscsi0": {
"500507680b256624,18000000000000": {
"path_id": 18,
"path_status": "Available",
"status": "Enabled"
},
"500507680b256625,18000000000000": {
"path_id": 19,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93e,18000000000000": {
"path_id": 16,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93f,18000000000000": {
"path_id": 17,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi1": {
"500507680b266624,18000000000000": {
"path_id": 22,
"path_status": "Available",
"status": "Enabled"
},
"500507680b266625,18000000000000": {
"path_id": 23,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93e,18000000000000": {
"path_id": 20,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93f,18000000000000": {
"path_id": 21,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi2": {
"500507680b256624,18000000000000": {
"path_id": 26,
"path_status": "Available",
"status": "Enabled"
},
"500507680b256625,18000000000000": {
"path_id": 27,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93e,18000000000000": {
"path_id": 24,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93f,18000000000000": {
"path_id": 25,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi3": {
"500507680b266624,18000000000000": {
"path_id": 30,
"path_status": "Available",
"status": "Enabled"
},
"500507680b266625,18000000000000": {
"path_id": 31,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93e,18000000000000": {
"path_id": 28,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93f,18000000000000": {
"path_id": 29,
"path_status": "Available",
"status": "Enabled"
}
}
},
"hdisk13": {
"fscsi0": {
"500507680b256624,19000000000000": {
"path_id": 18,
"path_status": "Available",
"status": "Enabled"
},
"500507680b256625,19000000000000": {
"path_id": 19,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93e,19000000000000": {
"path_id": 16,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93f,19000000000000": {
"path_id": 17,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi1": {
"500507680b266624,19000000000000": {
"path_id": 22,
"path_status": "Available",
"status": "Enabled"
},
"500507680b266625,19000000000000": {
"path_id": 23,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93e,19000000000000": {
"path_id": 20,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93f,19000000000000": {
"path_id": 21,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi2": {
"500507680b256624,19000000000000": {
"path_id": 26,
"path_status": "Available",
"status": "Enabled"
},
"500507680b256625,19000000000000": {
"path_id": 27,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93e,19000000000000": {
"path_id": 24,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93f,19000000000000": {
"path_id": 25,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi3": {
"500507680b266624,19000000000000": {
"path_id": 30,
"path_status": "Available",
"status": "Enabled"
},
"500507680b266625,19000000000000": {
"path_id": 31,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93e,19000000000000": {
"path_id": 28,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93f,19000000000000": {
"path_id": 29,
"path_status": "Available",
"status": "Enabled"
}
}
},
"hdisk14": {
"fscsi0": {
"500507680b256624,1a000000000000": {
"path_id": 18,
"path_status": "Available",
"status": "Enabled"
},
"500507680b256625,1a000000000000": {
"path_id": 19,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93e,1a000000000000": {
"path_id": 16,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93f,1a000000000000": {
"path_id": 17,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi1": {
"500507680b266624,1a000000000000": {
"path_id": 22,
"path_status": "Available",
"status": "Enabled"
},
"500507680b266625,1a000000000000": {
"path_id": 23,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93e,1a000000000000": {
"path_id": 20,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93f,1a000000000000": {
"path_id": 21,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi2": {
"500507680b256624,1a000000000000": {
"path_id": 26,
"path_status": "Available",
"status": "Enabled"
},
"500507680b256625,1a000000000000": {
"path_id": 27,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93e,1a000000000000": {
"path_id": 24,
"path_status": "Available",
"status": "Enabled"
},
"500507680b25c93f,1a000000000000": {
"path_id": 25,
"path_status": "Available",
"status": "Enabled"
}
},
"fscsi3": {
"500507680b266624,1a000000000000": {
"path_id": 30,
"path_status": "Available",
"status": "Enabled"
},
"500507680b266625,1a000000000000": {
"path_id": 31,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93e,1a000000000000": {
"path_id": 28,
"path_status": "Available",
"status": "Enabled"
},
"500507680b26c93f,1a000000000000": {
"path_id": 29,
"path_status": "Available",
"status": "Enabled"
}
}
}
}
}
我不知道 hdiskX、fscsiX 和 路径的名称(例如 500507680b256624,9000000000000)。它们在每个主机上可能不同。
我想用 path_status 搜索 hdisX:Defined,因为我想用任何 Defined搜索主机> 路径。像这样的:
- name: Host
debug:
var: inventory_hostname
when: "{{ ansible_facts.mpio.paths.*.*.*.path_status == 'Defined'}}"
我不知道如何在嵌套字典变量中查找属性。谁能给个提示?
【问题讨论】:
-
这能回答你的问题吗? Search Dictionary Values in Ansible
-
请更具体一点 1)您的示例数据仅包含“path_status”的定义值 2)由于有多个值,您到底想要哪个条件?所有这些都必须定义?至少我必须定义一个?全面的?每个fcs?每个高清?
-
更具体地说: 1) 是的,path_status 可能是可用的或已定义的。 2)需要找到任何(每个主机至少一个)定义的路径。
标签: ansible aix ansible-facts