Ansible AWX 组/标签在更改值后与 AWS 不同步

问题描述

Ansible AWX 动态清单最初运行良好,并根据分配给 AWS 账户中 ec2 主机的 AWS 标签创建主机组。但是,如果我随后更改 AWS 中的标签值,例如从 DEV 更改为 PROD,然后在 AWX 中重新运行源同步,我发现它引入了新标签/组,但没有删除分配给同一主机的原始标签/组。

这意味着我有与我的主机相关联的陈旧标签。我现在有一个名为 DEV 和 PROD 的组与同一主机关联,但与我的 AWS 标记不同步。

删除所有组/主机然后重新同步不是一种选择,因为我们在清单组级别传递变量。这意味着我们每次对 AWS 清单进行更改/添加标签时都需要为所有组重新插入变量。

这有解决方法吗?否则,这会使动态库存变得不太好。

请参阅下面用于动态库存的 yml 文件

谢谢

plugin: aws_ec2
cache: no
regions:
  - eu-west-1
  - eu-west-2
  - eu-west-3
#filters:
#  "instance-state-name": running
strict_permissions: False
hostnames:
  - tag:Name
groups:
  ec2: true
keyed_groups:
# Add hosts to tag_Name_Value groups for each Name/Value tag pair
- prefix: tag
  key: tags
# Create a group per region e.g. aws_region_eu_west_2
- key: placement.region
  prefix: aws_region
compose:
  ansible_host: private_ip_address

解决方法

选中动态库存来源中的框以覆盖旧值。

如果选中,则先前存在于外部源但现在已删除的任何主机和组都将从 Tower 清单中删除。不受清单源管理的主机和组将被提升到下一个手动创建的组,或者如果没有手动创建的组将它们提升到,它们将留在清单的“所有”默认组中。>