Руководство по переносу Ansible 2.6
В этом разделе рассматриваются изменения в поведении между Ansible 2.5 и Ansible 2.6.
Он предназначен для помощи в обновлении ваших плейбуков, плагинов и других частей вашей инфраструктуры Ansible, чтобы они работали с этой версией Ansible.
Мы рекомендуем прочитать эту страницу вместе с Журналом изменений Ansible 2.6, чтобы понять, какие обновления вам могут потребоваться.
Этот документ является частью коллекции руководств по переносу. Полный список руководств по переносу можно найти на странице руководствах по переносу.
- Плейбук
- Устаревшие элементы
- Модули
- Плагины
- Перенос пользовательских скриптов
- Сети
- Скрипты динамического инвентаризации
Плейбук
- Устаревший параметр задачи
always_runбыл удален, используйтеcheck_mode: noвместо него.
Устаревшие элементы
- В модуле nxos_igmp_interface свойства
oif_prefixиoif_sourceустарели. Используйте параметрois_psсо словарем префикса и источника вместо него.
Модули
Основные изменения в популярных модулях подробно описаны здесь:
Удаленные модули
Следующие модули больше не существуют:
Уведомления об устаревании
Следующие модули будут удалены в Ansible 2.10. Пожалуйста, обновите свои плейбуки соответствующим образом.
-
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был удален; он нигде не используется и его следует удалить из ваших плейбуков. - Модуль
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. Пожалуйста, обновите свои плейбуки соответствующим образом.
-
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.7/porting_guides/porting_guide_2.6.html