Руководство по переносу Ansible 2.6
В этом разделе обсуждаются изменения в поведении между Ansible 2.5 и Ansible 2.6.
Он предназначен для помощи в обновлении ваших playbooks, плагинов и других частей вашей инфраструктуры Ansible, чтобы они работали с этой версией Ansible.
Мы рекомендуем вам прочитать эту страницу вместе с Журналом изменений Ansible 2.6, чтобы понять, какие обновления вам могут потребоваться.
Этот документ является частью коллекции по переносу. Полный список руководств по переносу можно найти по адресу руководствам по переносу.
- Playbook
- Устаревшее
- Модули
- Плагины
- Перенос пользовательских скриптов
- Сети
- Скрипты динамической инвентаризации
Playbook
- Устаревшее задание
always_runбыло удалено, используйтеcheck_mode: noвместо него.
Устаревшее
- В модуле nxos_igmp_interface свойства
oif_prefixиoif_sourceустарели. Используйте параметрois_psсо словарем префикса и источника для значений вместо них.
Модули
Основные изменения в популярных модулях описаны здесь
Удаленные модули
Следующие модули больше не существуют:
Заметки об устаревании
Следующие модули будут удалены в Ansible 2.10. Пожалуйста, обновите свои playbooks соответственно.
-
k8s_rawиспользуйте k8s вместо него. -
openshift_rawиспользуйте k8s вместо него. -
openshift_scaleиспользуйте k8s_scale вместо него.
Заметные изменения в модулях
- Параметр модуля
upgradeдляwin_chocolateyбыл удален; используйтеstate: latestвместо него. - Параметр модуля
rebootдляwin_featureбыл удален; используйте плагин действияwin_rebootвместо него. - Модуль
win_iis_webapppoolбольше не принимает строку для параметра модуляattributes; используйте значение словаря произвольной формы вместо него. - Параметр модуля
nameдляwin_packageбыл удален; он нигде не используется и должен быть удален из ваших playbooks. - Модуль
win_regeditбольше не автоматически исправляет путь к hiveHCCCнаHKCC; используйтеHKCC, так как это правильный путь к hive. -
Модуль file - Устанавливает атрибуты файлов теперь выводит предупреждение об устаревании, когда
srcзадан со значением состояния, отличным отhardилиlink, так как он должен быть полезен только с ними. Это может повлиять на людей, которые полагались на ошибочное взаимодействие src и других состояний для размещения файлов в подкаталоге. Например:$ ansible localhost -m file -a 'path=/var/lib src=/tmp/ state=directory'
Создаст каталог с именем
/tmp/lib. Вместо этого просто укажите весь путь назначения так:$ ansible localhost -m file -a 'path=/tmp/lib state=directory'
- Модули
k8s_rawиopenshift_rawбыли переименованы в новый модульk8s. - Модуль
k8sподдерживает все ресурсы Kubernetes, включая те, что из определений пользовательских ресурсов и агрегированных API-серверов. Это включает все ресурсы OpenShift. - Модуль
k8sне будет принимать ресурсы, где подключаемые ключи были переименованы в snake_case. Это было решением, предложенным вместе с модулямиk8s_rawиopenshift_raw. - Модуль
k8sможет не принять ресурсы, гдеapi_versionбыл изменён на сокращённую версию в клиенте Kubernetes Python. Теперь вы должны указать правильный полный Kubernetesapi_versionдля ресурса. - Модуль
k8sтеперь может обрабатывать файлы YAML с несколькими документами, если они переданы с параметромsrc. Он обработает каждый документ как отдельный ресурс. Ресурсы, предоставленные внутри параметраresource_definition, должны оставаться единственным документом. - Модуль
k8sне будет автоматически изменять запросы созданияProjectна запросы созданияProjectRequest, как это делал модульopenshift_raw. Теперь вы должны явно указать видProjectRequest. - Модуль
k8sбольше не будет автоматически удалять секреты из значений возврата Ansible (и, соответственно, из лога). Чтобы предотвратить вывод значений секретов в задаче в лог, укажите параметрno_logв блоке задачи. - Модуль
k8s_scaleтеперь поддерживает масштабируемые объекты OpenShift, такие какDeploymentConfig. - Модуль
lineinfileбыл изменён, чтобы отображать предупреждение при использовании пустой строки в качестве регулярного выражения. Поскольку пустое регулярное выражение соответствует каждой строке в файле, оно заменит последнюю строку в файле вместо вставки. Если такое поведение нужно, используйте'^', которое будет соответствовать каждой строке и не вызовет предупреждения. - Модули Openstack больше не используют библиотеку
shade. Вместо неё используетсяopenstacksdk. Так какopenstacksdkдолжна быть уже установлена в качестве зависимости кshade, дополнительные действия не требуются.
Плагины
Заметки об устаревании
Следующие модули будут удалены в Ansible 2.10. Пожалуйста, обновите свои playbooks соответственно.
-
openshiftиспользуйтеk8sвместо него.
Заметные изменения в плагинах
- Плагин поиска
k8sтеперь поддерживает все ресурсы Kubernetes, включая те, что из определений пользовательских ресурсов и агрегированных API-серверов. Это включает все ресурсы OpenShift. - Плагин поиска
k8sможет не принять ресурсы, гдеapi_versionбыл изменён на сокращённую версию в клиенте Kubernetes Python. Теперь вы должны указать правильный полный Kubernetesapi_versionдля ресурса. - Плагин поиска
k8sбольше не будет удалять секреты из значений возврата Ansible (и, соответственно, из лога). Чтобы предотвратить вывод значений секретов в задаче в лог, укажите параметрno_logв блоке задачи.
Перенос пользовательских скриптов
Нет заметных изменений.
Сети
Нет заметных изменений.
Скрипты динамической инвентаризации
-
contrib/inventory/openstack.pyбыл переименован вcontrib/inventory/openstack_inventory.py. Если вы использовалиopenstack.pyкак имя файла динамической инвентаризации OpenStack, измените его наopenstack_inventory.py. В противном случае имя файла будет конфликтовать с импортами изopenstacksdk.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/porting_guides/porting_guide_2.6.html