Ansible: - 限制用group_by创建的组?

时间:2018-04-18 15:50:01

标签: ansible ansible-inventory

我使用ansible来管理GKE上的主机(Google Kubernetes Engine)。我使用gce.py获得了很好的动态库存。然后我使用group_by为每个集群创建组:

- group_by:
    key: "{{gce_metadata['cluster-name']}}"

但我无法使用这些动态创建的群组--limit这一事实严重阻碍了我的风格:

 $ ansible-playbook -l mycluster playbook.yaml
 ERROR! Specified hosts and/or --limit does not match any hosts

更酷的是能够使用group_by组和ansible ad-hoc命令......

1 个答案:

答案 0 :(得分:1)

作为一种解决方法,我正在修改gce.py#group_instances,添加此子句:

        for entry in node.extra['metadata']['items']:
            if entry['key'] == 'cluster-name':
                clusters.add(entry['value'])
                if entry['value'] in groups:
                    groups[entry['value']].append(name)
                else:
                    groups[entry['value']] = [name]