Руководство по переносу 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 соответственно.
Заметные изменения в модулях
- Параметр модуля
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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.6.html