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