У меня проблема с применением моей книги в Ansible.
Это мой файл инвентаризации / etc / ansible / developmentpement:
[vm]
[...]
host1.example.com iplan=10.0.220.37
host2.example.com iplan=10.0.220.38
[...]
Я хочу применить такой конфиг:
$ ansible-playbook /etc/ansible/playbooks/developpement.yml --inventory-file=/etc/ansible/developpement --diff --check --tags php5.6-fpm --limit host1.example.com
[...]
pm = ondemand
-pm.max_children = 599
+pm.max_children = 600
pm.start_servers = 50
pm.min_spare_servers = 32
pm.max_spare_servers = 150
[...]
changed: [host1.example.net]
Обновлен только один хост, и это нормальное поведение.
Теперь я пытаюсь применить эту же конфигурацию ко второму хосту:
$ ansible-playbook /etc/ansible/playbooks/developpement.yml --inventory-file=/etc/ansible/developpement --diff --check --tags php5.6-fpm --limit host2.example.com
[...]
-env[DEVELOPER] = variable linked to host 1
+env[DEVELOPER] = host2
[...]
-env[DEVELOPER_EMAIL] = email linked to host 1
+env[DEVELOPER_EMAIL] = host2@example.net
[...]
pm.status_path = /status
; host-specific php ini settings here
changed: [host1.bazarchic.com]
ansible-playbook поместил переменные хоста 1 в результат второго запроса, я не понимаю почему.
Я попытался попробовать без --check, переменные, связанные с host1, установлены для второго хоста.
У меня не было проблем с версией 2.2 Ansible.
Версия: ansible 2.6.0
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
Файл: /etc/ansible/ansible.cfg
[defaults]
inventory = /etc/ansible/hosts
host_key_checking = True
gather_timeout = 30
timeout = 20
log_path = /var/log/ansible.log
system_warnings = True
deprecation_warnings = True
retry_files_enabled = False
[privilege_escalation]
[paramiko_connection]
[ssh_connection]
ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o ForwardAgent=yes -o ConnectTimeout=30 -o StrictHostKeyChecking=no -o ControlPath=/dev/shm/cp%%h-%%p-%%r
[accelerate]
[selinux]
[colors]