我正在尝试使用 gcp_compute 插件通过 GCE 标签解析一个 ansible 动态库存文件。我花了一段时间来设法运行插件,以便我实际上正确获取主机,但是由于某种原因,ansible-inventory 会在组名称中添加下划线前缀,即使前缀留空也是如此。
每当我使用以下 inventory.gcp.yml 文件运行 ansible-inventory 时:
plugin: gcp_compute
projects:
- terzbx
filters:
keyed_groups:
- key: tags['items']
auth_kind: serviceaccount
service_account_file: /root/deployment/MY_SERVICEACCOUNT.json
我收到的输出是:
"all": {
"children": [
"__built_in_method_items_of_dict_object_at_0x2bc4db0_",
"_analytics",
"_consul_server",
"_dashboardapi",
"_elasticsearch",
"_http_server",
"_https_server",
"_inventory",
"_k2bq",
"_kafka",
"_kibana",
"_logstash_k2bq",
"_logstash_k2es",
"_mysql",
"_neo4j",
"_ssl_offload",
"_zookeeper",
"ungrouped"
]
我希望它是:
"all": {
"children": [
"_built_in_method_items_of_dict_object_at_0x2bc4db0_",
"analytics",
"consul_server",
"dashboardapi",
"elasticsearch",
"http_server",
"https_server",
"inventory",
"k2bq",
"kafka",
"kibana",
"logstash_k2bq",
"logstash_k2es",
"mysql",
"neo4j",
"ssl_offload",
"zookeeper",
"ungrouped"
]
以前有人遇到过这个问题吗?我能做些什么来获得所需的输出吗?
提前感谢您对:)的帮助
偶然
遇到同样的问题,你应该试一试:
plugin: gcp_compute
projects:
- terzbx
filters:
keyed_groups:
- key: tags['items']
separator: ''
auth_kind: serviceaccount
service_account_file: /root/deployment/MY_SERVICEACCOUNT.json