Spec-Zone.ru › Ansible

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

В этом разделе обсуждаются изменения в поведении между ansible-core 2.16 и ansible-core 2.17.

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

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

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

  • Playbook
  • Командная строка
  • Устаревшее
  • Модули

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

Playbook

  • Условные выражения — из-за устранения проблемы безопасности CVE-2023-5764 в ansible-core 2.16.1, условные выражения со встроенными блоками шаблонов могут завершиться ошибкой с сообщением «Conditional is marked as unsafe, and cannot be evaluated.», когда встроенный шаблон обращается к данным из ненадежных источников, таких как результаты модулей или переменные, помеченные !unsafe. Условные выражения со встроенными шаблонами могут быть источником вредоносного внедрения шаблонов при ссылке на ненадежные данные, и их почти всегда можно переписать без встроенных шаблонов. Ключевые слова условных выражений задач playbook, такие как when и until давно отображают предупреждения, отговаривающие от использования встроенных шаблонов в условных выражениях; это предупреждение также распространено на не-задачные условные выражения, такие как действие assert.

    - name: task with a module result (always untrusted by Ansible)
      shell: echo "hi mom"
      register: untrusted_result
    
    # don't do it this way...
    # - name: insecure conditional with embedded template consulting untrusted data
    #   assert:
    #     that: '"hi mom" is in {{ untrusted_result.stdout }}'
    
    - name: securely access untrusted values directly as Jinja variables instead
      assert:
        that: '"hi mom" is in untrusted_result.stdout'
    
  • any_errors_fatal — когда задача в блоке с секцией rescue завершается ошибкой на хосте, секция rescue выполняется на всех хостах. Это происходит потому, что any_errors_fatal автоматически завершает работу всех хостов.

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

  • Python 2.7 и Python 3.6 больше не поддерживаются в качестве удаленных версий. Теперь требуется Python 3.7+ для выполнения на целевом устройстве.

Устаревшее

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

Модули

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

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

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

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

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

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

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

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

Плагины

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

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

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

Сети

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

© 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.17.html

Spec-Zone.ru

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