#ansible
#ansible
Вопрос:
У меня есть Ansible Playbook и несколько сотен хостов в inventory/hosts
, и я могу запустить Playbook, и все работает нормально, никаких проблем.
Но я заметил, что если я внес какие-либо изменения в inventory/hosts
файл, кажется, что он продолжает просматривать все старые записи, которые раньше были там и которых там больше нет. Существует ли какой-либо механизм кэширования, который включен по умолчанию? Если да, возможно ли отключить это?
Если я действительно использую -i inventory/hosts
файл, кажется, что он работает нормально. Даже если я запускаю Playbook подобным образом, он все равно должен использовать тот же inventory/hosts
файл.
ansible-информация о сборнике.yaml
Ответ №1:
inventory/hosts
текущий каталог не является инвентарем по умолчанию, если вы опускаете его в командной строке ansible-playbook (если вы не настроили его в ansible.cfg).
Обычно инвентарь по умолчанию /etc/ansible/hosts
. Вы можете легко увидеть инвентарь по умолчанию (и используется ли файл конфигурации), выполнив ansible-playbook -v my_playbook.yml
(других опций нет) и просмотрев первые строки вывода.
Я предполагаю, что вы изменяете инвентарь, который не является тем, который вы используете.
Что касается вашего вопроса о кэше, существуют механизмы кэширования, которые можно использовать для фактов и динамических инвентаризаций, но они должны быть специально включены и настроены (например, установка redis, указание пути к файлу кэша …).
Комментарии:
1. Вы правы, говоря, что он просматривает inventory / hosts по умолчанию, который находится в /etc/ ansible / hosts, но я просто просматриваю этот файл, и там ничего нет, кроме некоторых образцов, которые все закомментированы, и я просто запустил опцию -v и вижу, что он просматривает правильный файл inventory / hosts
2. Вы заметили, что при запуске с -v используется файл ansible.cfg? Настроены ли там какие-либо механизмы кэширования?
3. Только что проверил это, и никакие механизмы кэширования не включены.
4. Извините, но у меня закончились идеи по этому поводу. Вы должны запустить с -vvv для полной отладки и внимательно посмотреть на результат. Надеюсь, вы найдете некоторую информацию, которая решит вашу проблему.
5. Да, я тоже застрял на этом, я попробовал -vvv, но то же самое, он показывает, что он использует правильный inventory / hosts, что странно, потому что, если я использую -i inventory / hosts, это работает, что не имеет никакого смысла