Руководство по переносу 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/porting_guides/porting_guide_2.6.html