Spec-Zone.ru › Ansible

Руководство по переносу Ansible-core 2.13

В данном разделе рассматриваются изменения в поведении между версией ansible-core 2.12 и версией ansible-core 2.13.

Данное руководство предназначено для помощи в обновлении ваших плейбуков, плагинов и других частей вашей инфраструктуры Ansible, чтобы они работали с этой версией Ansible.

Мы рекомендуем прочитать эту страницу вместе с Журналом изменений Ansible-core 2.13, чтобы понять, какие обновления вам могут потребоваться.

Этот документ является частью коллекции руководств по переносу. Полный список руководств по переносу можно найти по адресу руководствам по переносу.

  • Плейбук
  • Командная строка
  • Устаревшие элементы
  • Модули

    • Удаленные модули
    • Уведомления об устаревании
    • Заметные изменения модулей
    • Критические изменения
  • Плагины
  • Перенос пользовательских скриптов
  • Сеть

Плейбук

  • Шаблоны - Вы больше не можете выполнять арифметические и конкатенационные операции вне шаблона Jinja. Следующее утверждение необходимо переписать, чтобы получить [1, 2]:
- name: Prior to 2.13
  debug:
    msg: '[1] + {{ [2] }}'

- name: 2.13 and forward
  debug:
    msg: '{{ [1] + [2] }}'
  • Значение возвращаемое методом __repr__ для неопределенной переменной, представленной объектом AnsibleUndefined, изменилось. {{ '%r'|format(undefined_variable) }} возвращает AnsibleUndefined(hint=None, obj=missing, name='undefined_variable') в 2.13 по сравнению с просто AnsibleUndefined в версиях 2.12 и ранее.
  • Метод finalize больше не доступен в глобальных переменных для использования в шаблонах. Чтобы преобразовать None в пустую строку, можно использовать следующее выражение: {{ value if value is not none }}.

Командная строка

Нет заметных изменений

Устаревшие элементы

Нет заметных изменений

Модули

  • Для использования Ansible-core 2.13 для выполнения модулей, необходимо использовать Python 2 версии 2.7 или Python 3 версии 3.5 или более поздней. Любой код, использующий ansible.module_utils.basic , не будет работать с более ранними версиями Python.

Удаленные модули

Следующие модули больше не существуют:

  • Нет заметных изменений

Уведомления об устаревании

Нет заметных изменений

Заметные изменения модулей

Нет заметных изменений

Критические изменения

  • ansible.module_utils.urls.fetch_url теперь вернет пойманное исключение HTTPError как r. HTTPError - это объект ответа, который может предоставить авторам модулей больше информации. Модули должны полагаться на info['status'] >= 400 для определения наличия ошибки, вместо использования r is None или перехвата AttributeError при попытке r.read().

Плагины

Нет заметных изменений

Перенос пользовательских скриптов

Нет заметных изменений

Сеть

Нет заметных изменений

© 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_core_2.13.html

Spec-Zone.ru

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