【发布时间】:2021-07-23 10:53:11
【问题描述】:
我在使用 pandas 数据框规范化 ansible-inventory JSON 时遇到问题。
运行后
ansible-inventory -i dynamic_inventory.yaml --playbook-dir ./ --list > list.json
我明白了
{
"_meta": {
"hostvars": {
"myhostdcdb01": {
"ansible_host": "10.10.252.66",
"portal_cpu": 2,
"portal_domain": "prod.local",
"portal_group": "DBA",
"portal_hostname": "myhostdcdb01",
"portal_ip_address": "10.10.252.66",
"portal_memory": 8
},
"myhostdcdb02": {
"ansible_host": "10.10.252.67",
"portal_cpu": 2,
"portal_domain": "prod.local",
"portal_group": "DBA",
"portal_hostname": "myhostdcdb02",
"portal_ip_address": "10.10.252.67",
"portal_memory": 8
},
"myhostdcdb03": {
"ansible_host": "10.10.252.68",
"portal_cpu": 2,
"portal_domain": "prod.local",
"portal_group": "DBA",
"portal_hostname": "myhostdcdb03",
"portal_ip_address": "10.10.252.68",
"portal_memory": 8
},
"myhostscdb01": {
"ansible_host": "10.10.252.76",
"portal_cpu": 2,
"portal_domain": "prod.local",
"portal_group": "DBA",
"portal_hostname": "myhostscdb01",
"portal_ip_address": "10.10.252.76",
"portal_memory": 8
},
"myhostscdb02": {
"ansible_host": "10.10.252.78",
"portal_cpu": 2,
"portal_domain": "prod.local",
"portal_group": "DBA",
"portal_hostname": "myhostscdb02",
"portal_ip_address": "10.10.252.78",
"portal_memory": 8
},
"myhostscdb03": {
"ansible_host": "10.10.252.80",
"portal_cpu": 2,
"portal_domain": "prod.local",
"portal_group": "DBA",
"portal_hostname": "myhostscdb03",
"portal_ip_address": "10.10.252.80",
"portal_memory": 8
}
}
},
"all": {
"children": [
"ungrouped"
]
},
"ungrouped": {
"hosts": [
"myhostdcdb01",
"myhostdcdb02",
"myhostdcdb03",
"myhostscdb01",
"myhostscdb02",
"myhostscdb03"
]
}
}
现在我不知道如何将其规范化为合理的格式,其中每个主机及其详细信息都位于单独的行中,即:
| ansible_host | portal_cpu | portal_domain | portal_group | portal_hostname | portal_ip_address | portal_memory |
|---|---|---|---|---|---|---|
| 10.10.252.78 | 2 | prod.local | DBA | myhostscdb02 | 10.10.252.78 | 8 |
【问题讨论】:
标签: python json pandas ansible inventory