Vagrant Ansible:如何在playbook中创建空库存组?

Vagrant Ansible:如何在playbook中创建空库存组?,vagrant,ansible,Vagrant,Ansible,我在Playbook中使用了一些角色,这些角色在集群中设置了十几个服务,并使用库存组为角色指定主机 根据环境,我需要从playbook中的ENV中提取一个清单。 在常见情况下,大多数服务都不是必需的,因此没有主机可添加到相应的组,但组必须存在 在静态库存的情况下,这很容易。但是如何在剧本中定义空组呢?我找不到如何在剧本中创建空库存组。 不过,我确实找到了如何从“流浪汉”那里传递一个空的库存组。它可能几乎为空,例如,它包含的不是主机名,而是与任何主机都不匹配的主机名模板 例如: services.

我在Playbook中使用了一些角色,这些角色在集群中设置了十几个服务,并使用库存组为角色指定主机

根据环境,我需要从playbook中的ENV中提取一个清单。 在常见情况下,大多数服务都不是必需的,因此没有主机可添加到相应的组,但组必须存在


在静态库存的情况下,这很容易。但是如何在剧本中定义空组呢?

我找不到如何在剧本中创建空库存组。 不过,我确实找到了如何从“流浪汉”那里传递一个空的库存组。它可能几乎为空,例如,它包含的不是主机名,而是与任何主机都不匹配的主机名模板

例如:

services.each do |service|
   hosts = (ENV["SERVERS_#{service.upcase}"] || "").split(",").map{|i| cluster_nodes[i.to_i]}
   groups[service] = hosts
   groups[service] = ["stub-a:f"] if groups[service] == []
ansible.groups = groups