пытается запустить мой Ansible и имеет проблему. здесь файл мои хозяева:Почему Ansible пропускает группу хостов и ничего не делает
[dse]
node1 192.168.56.10
node2 192.168.56.20
node3 192.168.56.30
[opscenter]
opscenter 192.168.56.40
[sparkmasters]
node3 192.168.56.30
[sparkworkers]
node1 192.168.56.10
node2 192.168.56.20
node3 192.168.56.30
Вот часть моего YML:
---
- hosts: [ "node1", "node2", "node3", "node4" ]
user: vagrant
sudo: True
vars:
username: spark
tasks:
- include: some tasks
roles:
- some roles
- hosts: sparkmasters
vars:
spark.version: 1.2
roles:
- spark_master
- hosts: sparkworkers
vars:
spark.version: 1.2
roles:
- spark_workers
Я вижу, что [ "node1", "node2", "node3", "node4"] работает , но хосты: sparkmasters и хосты: sparkworkers пропускаются с сообщением:
PLAY [sparkmasters] ************************ *********************************** Пропуск: ни один из хостов не соответствует
PLAY [sparkworkers] ****************************************** ***************** Пропуск: не найдено совпадений
PLAY RECAP ********************* *********************************************** node1: ok = 21 = 12 изменена недостижим = 0
не удалось = 0==> node1: Бег Provisioner: анзибль ...
не имею ни малейшего представления, почему. Если я меняю имя группы на массив хостов, то она начинает работать ...
Что делать неправильно?
Так я добавил отладки:
- name: Display hostvars
debug: var=hostvars
И увидеть это:
"hostvars": {
"node1": {
"ansible_all_ipv4_addresses": [
"10.0.2.15",
"192.168.56.10"
],
и этот огромный JSON имеет гораздо больше метаданных, связанных с моим хозяином я не получил идею, какие я должен видеть там? Я не нашел информации, связанные с текущей принимающей информации группы
помимо удаления всех нежелательных пространств, единственное, что вы можете сделать: 'debug: msg =" hostvars = {{hostvars}} "" и просмотреть его, чтобы узнать, что все группы и хосты читаются за счет файла инвентаря , – Kashyap