Руководство по переносу Ansible-core 2.17
В этом разделе обсуждаются изменения в поведении между ansible-core 2.16 и ansible-core 2.17.
Он предназначен для помощи в обновлении ваших playbooks, плагинов и других частей вашей инфраструктуры Ansible, чтобы они работали с этой версией Ansible.
Мы рекомендуем прочитать эту страницу вместе с Журналом изменений Ansible-core 2.17, чтобы понять, какие обновления вам могут потребоваться.
Этот документ является частью коллекции по переносу. Полный список руководств по переносу можно найти в руководствах по переносу.
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