Spec-Zone.ru › Ansible 2.8

Руководство по переносу 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 больше не автоматически исправляет путь к hive HCCC на 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. Теперь вы должны указать правильный полный Kubernetes api_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. Теперь вы должны указать правильный полный Kubernetes api_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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API