Спустя три месяца с момента перехода проекта в руки компании Red Hat состоялся (http://www.ansible.com/blog/ansible-2.0-launch) релиз
инструментария Ansible 2.0, предоставляющего средства для управления конфигурацией, оркестровки, централизованной установки приложений и параллельного выполнения типовых задач на группе систем. Код Ansible написан на языке Python и распространяется под лицензией GPLv3.
Ключевые новшества (https://raw.githubusercontent.com/ansible/ansible/stable-2.0...):
- Проведён большой рефакторинг кодовой базы, многие подсистемы переписаны с целью унификации и усовершенствования архитектуры проекта. Полностью переписан код парсеров и разбора формата YAML для упрощения добавления новых языковых возможностей и увеличения информации о сути выявляемых при разборе ошибках синтаксиса YAML. При этом, основной задачей при проведении рефакторинга было сохранение обратной совместимости и возможность продолжения использования уже имеющихся конфигураций;
- Добавлена поддержка блоков задач (Task Blocks), которые предоставляют пользователям средства группировки задач друг с другом, используя теги, условные выражения и различные атрибуты задач. Блоки также представляют новую концепцию привязки обработки исключений к плану конфигурации (playbooks (http://docs.ansible.com/ansible/playbooks.html)), которые реализованы по аналогии с применением try/except/finally в Python и влияют только на текущий playbooks.
- Расширены средства диагностики ошибок в файлах YAML. Текст ошибки теперь более точно идентифицирует проблему и предлагает возможные способы исправления ошибки.
- Операция include теперь приводит к динамическому разбору подключаемых файлов вместо ранее применяемого метода подстановки их текста, вызывающего проблемы, если включение производится внутри цикла;
- Поддержка плагинов для определения стратегии выполнения, позволяющих изменить способ запуска задач на внешних хостах. Классический линейный способ заключается в поочерёдном разборе задач, с выполнением каждой задачи на всех хостах. В Ansible 2.0 дополнительно реализован плагин со стратегией "free", при которой задачи выполняются на хостах в соответствии с инидивидуальным списком, что позволяет переходить на хосте к новым задачам, не дожидаясь завершения выполнения задачи другими хостами.
- Представлено около 200 новых модулей, среди которых отдельно выделяются модули для управления OpenStack, для конфигурирования и управления окружениями VMware и Docker, для поддержки Amazon Web Services и Microsoft Windows.
Из особенностей Ansible можно отметить простой и читаемый язык управления конфигурацией, поддержку распараллеливания работ, отсутствие необходимости установки на удалённые системы специальных программ-агентов (все операции инициируются централизованно по SSH), возможность работы без прав root. Система Ansible не так усложнена как cfengine, puppet и Chef, но при этом предоставляет достаточно широкие возможности и высокую гибкость управления.
URL: http://www.ansible.com/blog/ansible-2.0-launch
Новость: http://www.opennet.ru/opennews/art.shtml?num=43661