Я хотел бы использовать этот конфиг с плагином инвентаря
# test_inventory_xxx.yml
plugin: cloudscale # or openstack or ...
inventory_hostname: &inventory_hostname_value uuid
compose:
setting_of_inventory_hostname: *inventory_hostname_value
Я не получаю ошибки, но значение не установлено. И это действительно ямл. (По крайней мере, мой контролер и я сам не видим ошибку.
Поэтому я решил упростить ее, используя стандартный плагин:
# inventory_constructed.yaml
plugin: constructed
# add variables to existing inventory
keyed_groups:
- key: from_inventory
prefix: inventory
parent_group: &common_parent_group test_group_1
compose:
var_from_constructed: 1233456789
also_from_constr: "'also'" # must be in quotes 2x!
some_from_constr: &ref1 1234567777
ref_from_constr: *ref1 # this works fine
ref_to_test: *common_parent_group # <--- this line returns an error
strict: yes
Теперь я получаю ошибку: Could not set ref_to_test for host my_host: 'test_group_1' is undefined
Но это проходит, когда я раскомментирую отмеченную строку (ref & common_parent_group все еще определен, но не используется с * common_parent_group.) Почему test_group_1
не определен в одном случае, но не в другом?
Как воспроизвести: ansible -i some_of/your_inventory -i inventory_constructed.yaml -m debug -a var=vars
Что я делаю не так? Или в чем еще проблема?
(я думал, что это отсутствующая функция, поэтому оригинальная информация в https://github.com/ansible/ansible/issues/69043)