ансайбл --лимит вариант преемственности - PullRequest
0 голосов
/ 29 июня 2018

У меня проблема с применением моей книги в 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]

1 Ответ

0 голосов
/ 02 июля 2018

Я нашел проблему.

В ansible.cfg это мое соединение с параметрами SSH:

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

Я удалил опцию «ControlPath», и она работает.

На мой взгляд, эта опция бесполезна для ганзы 2.3

...