Руководство по переносу Ansible 5
- Сценарий выполнения
- Обнаружение интерпретатора Python
- Командная строка
- Устаревшее
- Плагины
- Перенос пользовательских скриптов
- Сеть
Ansible 5 основан на Ansible-core 2.12.
Рекомендуется прочитать эту страницу вместе с Журналом изменений Ansible 5, чтобы понять, какие обновления вам могут потребоваться.
Сценарий выполнения
- При вызове задач и установке
async, настройкаANSIBLE_ASYNC_DIRвenvironment:больше недействительна. Используйте вместо этого переменную конфигурации shellasync_dir, например, настроивansible_async_dir.
tasks:
- dnf:
name: '*'
state: latest
async: 300
poll: 5
vars:
ansible_async_dir: /path/to/my/custom/dir
- Функция
undef()добавлена в среду шаблонов для создания неопределенных переменных непосредственно в шаблоне. При необходимости, может быть предоставлен подсказка для переменных, которые предполагается перезаписать.
vars:
old: "{{ undef }}"
new: "{{ undef() }}"
new_with_hint: "{{ undef(hint='You must override this variable') }}"
Обнаружение интерпретатора Python
Значение по умолчанию INTERPRETER_PYTHON изменено на auto. Список интерпретаторов Python в INTERPRETER_PYTHON_FALLBACK изменён для приоритета Python 3 над Python 2. В сочетании эти изменения означают, что новое поведение по умолчанию - молчаливо отдавать предпочтение Python 3 над Python 2 на удаленных хостах. Раньше выдавалось предупреждение об устаревании в ситуациях, когда обнаружение интерпретатора должно было использовать Python 3, но интерпретатор был установлен на /usr/bin/python.
INTERPRETER_PYTHON_FALLBACK может быть изменён по умолчанию по списку интерпретаторов, настроив переменную ansible_interpreter_python_fallback.
См. документацию по обнаружению интерпретатора для более подробной информации.
Командная строка
- Python 3.8 на узле-контроллере является обязательным требованием для этого релиза. Сценарии командной строки не будут работать с более ранней версией Python.
-
ansible-vaultбольше не поддерживаетPyCryptoи требуетcryptography.
Устаревшее
- Python 2.6 на целевом узле устарел в этом релизе.
ansible-core2.13 удалит поддержку Python 2.6. - Одиночные переменные в условных операторах:
whenусловные операторы больше не автоматически преобразуют строковые булевы значения, такие как"true"и"false", в фактические булевы значения. Любая переменная, содержащая непустую строку, считается истинной. Ранее это было настраиваемо с помощью параметра конфигурацииCONDITIONAL_BARE_VARS(и переменной средыANSIBLE_CONDITIONAL_BARE_VARS). Эта настройка больше не имеет никакого эффекта. Пользователи могут обойти эту проблему, используя фильтр|bool.
vars:
teardown: 'false'
tasks:
- include_tasks: teardown.yml
when: teardown | bool
- include_tasks: provision.yml
when: not teardown | bool
- Метод
_remote_checksum()вActionBaseустарел. Любой плагин действий, использующий этот метод, должен использовать_execute_remote_stat()вместо него.
Модули
-
cronтеперь требует указанияnameво всех случаях. -
cronбольше не допускает параметрreboot. Используйтеspecial_time: rebootвместо этого. -
hostname- В FreeBSD результатbeforeбольше не будет"temporarystub", если файл постоянного имени хоста не существует. Вместо этого он будет""(пустая строка) для согласованности с другими системами. -
hostname- В системах на основе OpenRC и Solaris результатbeforeбольше не будет"UNKNOWN", если файл постоянного имени хоста не существует. Вместо этого он будет""(пустая строка) для согласованности с другими системами. -
pipтеперь использует модуль Pythonpip, установленный для интерпретатора Python модуля Ansible, если он доступен, если не указаныexecutableилиvirtualenv.
Удаленные модули
Следующие модули больше не существуют:
- Нет заметных изменений
Уведомления об устаревании
Нет заметных изменений
Заметные изменения в модулях
Нет заметных изменений
Плагины
-
uniqueфильтр с Jinja2 < 2.10 регистрозависим и теперь корректно генерирует ошибку, еслиcase_sensitive=Falseвместоcase_sensitive=True. - Фильтры теории множеств (
intersect,difference,symmetric_differenceиunion) теперь регистрозависимы. Явно используйтеcase_sensitive=Falseдля сохранения предыдущего поведения. Примечание: с Jinja2 < 2.10 фильтры по умолчанию были регистрозависимыми. -
password_hash`теперь использует значения по умолчаниюpasslibпри отсутствии указания параметра, напримерbcrypt_sha256, по умолчанию используют формат «2b», а если требуется формат «2a», необходимо указать его.
Перенос пользовательских скриптов
Нет заметных изменений
Сеть
Нет заметных изменений
Руководство по переносу для v5.9.0
Добавленные коллекции
- cisco.dnac (версия 6.4.0)
- community.sap_libs (версия 1.1.0)
Основные изменения
fortinet.fortios
- Поддержка FortiOS 7.0.2, 7.0.3, 7.0.4, 7.0.5.
Устаревшие возможности
- Коллекция
community.sapбыла переименована вcommunity.sap_libs. Пока обе коллекции включены в Ansible. Содержаниеcommunity.sapбудет заменено устаревшими перенаправлениями на новую коллекцию в Ansible 7.0.0, а эти перенаправления в конечном итоге будут удалены из Ansible. Пожалуйста, обновите свои FQCN дляcommunity.sap.
community.docker
- Поддержка Ansible 2.9 и ansible-base 2.10 устарела и будет удалена в следующей основной версии (community.docker 3.0.0). Некоторые модули могут по-прежнему работать с этими версиями позже, но мы больше не будем поддерживать код совместимости, необходимый для них (https://github.com/ansible-collections/community.docker/pull/361).
- Зависимость от docker-compose для сред выполнения устарела и будет удалена в community.docker 3.0.0. Библиотека Python docker-compose не поддерживается и может вызывать проблемы с зависимостями. Вы можете вручную установить её в среде выполнения при необходимости (https://github.com/ansible-collections/community.docker/pull/373).
- Различные модули — значение по умолчанию
tls_hostname, которое должно было быть удалено в community.docker 2.0.0, теперь будет удалено в версии 3.0.0 (https://github.com/ansible-collections/community.docker/pull/362). - docker_stack — значения возврата
outиerr, которые должны были быть удалены в community.docker 2.0.0, теперь будут удалены в версии 3.0.0 (https://github.com/ansible-collections/community.docker/pull/362).
Руководство по переносу для v5.8.0
Добавленные коллекции
- vmware.vmware_rest (версия 2.1.5)
Изменения, требующие перехода
vmware.vmware_rest
- Поддержка vmware_rest 2.0.0 требует vSphere 7.0.2 и выше.
- vcenter_vm_storage_policy — формат параметра
disksизменён. - vcenter_vm_storage_policy — модуль имеет новый обязательный параметр:
vm_home.
Основные изменения
community.mysql
- Коллекция community.mysql больше не поддерживает
Ansible 2.9иansible-base 2.10. Хотя мы не принимаем активных мер для предотвращения использования и не планируем внедрять несовместимый код в модули, мы прекратим тестирование сAnsible 2.9иansible-base 2.10. Оба варианта в ближайшее время достигнут конца жизненного цикла, и если вы всё ещё используете их, вам следует рассмотреть возможность обновления доlatest Ansible / ansible-core 2.11 or laterкак можно скорее (https://github.com/ansible-collections/community.mysql/pull/343).
community.postgresql
- Коллекция community.postgresql больше не поддерживает
Ansible 2.9иansible-base 2.10. Хотя мы не принимаем активных мер для предотвращения использования и не планируем внедрять несовместимый код в модули, мы прекратим тестирование сAnsible 2.9иansible-base 2.10. Оба варианта в ближайшее время достигнут конца жизненного цикла, и если вы всё ещё используете их, вам следует рассмотреть возможность обновления доlatest Ansible / ansible-core 2.11 or laterкак можно скорее (https://github.com/ansible-collections/community.postgresql/pull/245).
Устаревшие возможности
community.hashi_vault
- Параметры token_validate — опция общего аутентификации
token_validateизменит значение по умолчанию сTrueнаFalseв версии community.hashi_vault 4.0.0. Просмотрvault_loginи модуль сохранят значение по умолчаниюTrue(https://github.com/ansible-collections/community.hashi_vault/issues/248).
community.network
- Поддержка Ansible 2.9 и ansible-base 2.10 устарела и будет удалена в следующей основной версии (community.network 4.0.0) этой весной. Хотя большая часть контента, вероятно, всё ещё будет работать с ansible-base 2.10, мы удалим символические ссылки на модули и плагины действий, что сделает их невозможными для использования с Ansible 2.9. Используйте community.network 3.x.y с Ansible 2.9 и ansible-base 2.10, так как эти версии продолжат поддерживать Ansible 2.9 и ansible-base 2.10 даже после окончания их жизненного цикла (https://github.com/ansible-community/community-topics/issues/50, https://github.com/ansible-collections/community.network/pull/382).
vmware.vmware_rest
- vcenter_vm_storage_policy_compliance — удаление модуля, он возвращает ошибку 404.
- vcenter_vm_tools — удаление состояния
upgrade. - vcenter_vm_tools_installer — удаление модуля из коллекции.
Руководство по переносу для v5.7.0
Основные изменения
community.postgresql
- postgresql_user — аргумент
privустарел и будет удален вcommunity.postgresql 3.0.0. Используйте модульpostgresql_privsдля предоставления/отзыва привилегий вместо него (https://github.com/ansible-collections/community.postgresql/issues/212).
fortinet.fortios
- Поддержка FortiOS 7.0.2, 7.0.3, 7.0.4, 7.0.5.
Устаревшие возможности
community.general
- nmcli — устаревает режим Hairpin по умолчанию для моста. Это позволит нам изменить его на
falseв community.general 7.0.0, так как это также значение по умолчанию вnmcli(https://github.com/ansible-collections/community.general/pull/4334). - Плагин инвентаризации proxmox — текущее значение по умолчанию
trueпараметраwant_proxmox_nodes_ansible_hostустарело. Значение по умолчанию будет изменено наfalseв community.general 6.0.0. Чтобы сохранить текущее поведение, явно задайтеwant_proxmox_nodes_ansible_hostвtrueв вашей конфигурации инвентаризации. Мы рекомендуем уже перейти к новому поведению, явно задав его вfalse, и используяcompose:для установкиansible_hostв правильное значение. Смотрите примеры в документации плагина для получения подробностей (https://github.com/ansible-collections/community.general/pull/4466).
Руководство по переносу для v5.6.0
Добавленные коллекции
- community.sap (версия 1.0.0)
Устаревшие возможности
cisco.ios
- Модуль lldp устарел.
Руководство по переносу для v5.5.0
Известные проблемы
community.general
- pacman —
update_cacheне может отличить обновлённые и устаревшие списки пакетов и будет сообщатьchangedв обоих случаях (https://github.com/ansible-collections/community.general/pull/4318). - pacman — двоичные файлы, указанные в параметре
executableдолжны поддерживать--print-formatдля использования этим модулем. В частности, помощник AURyay, как известно, в настоящее время не поддерживает это (https://github.com/ansible-collections/community.general/pull/4312).
Устаревшие возможности
community.general
- pacman — начиная с community.general 5.0.0, статус
changedupdate_cacheбольше не будет игнорироваться, если указаныnameилиupgrade. Чтобы сохранить старое поведение, добавьте что-то вродеregister: resultиchanged_when: result.packages | length > 0в свою задачу (https://github.com/ansible-collections/community.general/pull/4329).
Руководство по переносу для v5.4.0
Основные изменения
chocolatey.chocolatey
- win_chocolatey — Добавлен параметр choco_args для передачи дополнительных аргументов напрямую в Chocolatey.
vyos.vyos
- Добавьте ‘pool’ в качестве значения для ключа сервера в ntp_global.
Устаревшие возможности
cisco.ios
-
ios_acls— устарел фрагмент атрибута добавлен булевым альтернативом как enable_fragment.
Руководство по переносу для v5.3.0
Основные изменения
f5networks.f5_modules
- bigip_device_info - также добавлена логика постраничной навигации для повышения стабильности API.
- bigip_device_info - модуль больше не собирает информацию со всех разделов устройства. Это изменение стабилизирует модуль, собирая ресурсы только из заданного раздела и предотвращая сбор слишком большого количества информации, что может привести к зависанию.
Устаревшие функции
community.general
- Плагин обратной связи по электронной почте - отсутствие указания
senderустарело и будет запрещено в community.general 6.0.0 (https://github.com/ansible-collections/community.general/pull/4140).
Руководство по переносу для v5.2.0
Известные проблемы
dellemc.openmanage
- idrac_user - Проблема(192043) Модуль может выдавать ошибку с сообщением
unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress. Дождитесь завершения задачи и повторите выполнение задачи. - ome_application_alerts_smtp - Проблема(212310) - Модуль не предоставляет надлежащего сообщения об ошибке, если адрес назначения содержит более 255 символов.
- ome_application_alerts_syslog - Проблема(215374) - Модуль не предоставляет надлежащего сообщения об ошибке, если адрес назначения содержит более 255 символов.
- ome_device_local_access_configuration - Проблема(215035) - Модуль сообщает
Successfully updated the local access setting, если для параметра timeout_limit предоставлено недопустимое значение. Однако это значение фактически не применяется в OpenManage Enterprise Modular. - ome_device_local_access_configuration - Проблема(217865) - Модуль не отображает надлежащее сообщение об ошибке, если для параметров user_defined и lcd_language предоставлено недопустимое значение.
- ome_device_network_services - Проблема(212681) - Модуль не предоставляет надлежащего сообщения об ошибке, если для параметров - port_number, community_name, max_sessions, max_auth_retries и idle_timeout предоставлены недопустимые значения.
- ome_device_power_settings - Проблема(212679) - Модуль выдаёт ошибку с сообщением, если значение, указанное для параметра
power_cap, не входит в допустимый диапазон от 0 до 32767,Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI.. - ome_smart_fabric_uplink - Проблема(186024) - Модуль не позволяет создавать несколько каналов связи с одинаковым именем, хотя это поддерживается OpenManage Enterprise Modular. Если канал связи создается с тем же именем, что и существующий канал связи, существующий канал связи изменяется.
purestorage.flasharray
- purefa_admin - После того, как
max_loginиlockoutбыли установлены, в настоящее время нет способа сбросить их до нуля, кроме как через графический интерфейс FlashArray
Основные изменения
cisco.meraki
- meraki_mr_radio - Новый модуль
Устаревшие функции
purestorage.flasharray
- purefa_sso - Устарел в пользу M(purefa_admin). Будет удален в версии 2.0 коллекции
Руководство по переносу для v5.1.0
Известные проблемы
dellemc.openmanage
- idrac_user - Проблема(192043) Модуль может выдавать ошибку с сообщением
unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress. Дождитесь завершения задачи и повторите выполнение задачи. - ome_application_alerts_smtp - Проблема(212310) - Модуль не предоставляет надлежащего сообщения об ошибке, если адрес назначения содержит более 255 символов.
- ome_application_alerts_syslog - Проблема(215374) - Модуль не предоставляет надлежащего сообщения об ошибке, если адрес назначения содержит более 255 символов.
- ome_device_network_services - Проблема(212681) - Модуль не предоставляет надлежащего сообщения об ошибке, если для параметров - port_number, community_name, max_sessions, max_auth_retries и idle_timeout предоставлены недопустимые значения.
- ome_device_power_settings - Проблема(212679) - Модуль выдаёт ошибку с сообщением, если значение, указанное для параметра
power_cap, не входит в допустимый диапазон от 0 до 32767,Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI.. - ome_smart_fabric_uplink - Проблема(186024) - Модуль не позволяет создавать несколько каналов связи с одинаковым именем, хотя это поддерживается OpenManage Enterprise Modular. Если канал связи создается с тем же именем, что и существующий канал связи, существующий канал связи изменяется.
Основные изменения
containers.podman
- Добавлен модуль podman_tag
- Добавлена поддержка драйвера и параметров драйвера для секретов
Удаленные функции
community.hashi_vault
- Настройка тестовой среды «legacy» удалена; это не влияет на конечных пользователей и актуально только для авторов (https://github.com/ansible-collections/community.hashi_vault/pull/191).
Устаревшие функции
cisco.nxos
- Устарел модуль nxos_snmp_community.
- Устарел модуль nxos_snmp_contact.
- Устарел модуль nxos_snmp_host.
- Устарел модуль nxos_snmp_location.
- Устарел модуль nxos_snmp_traps.
- Устарел модуль nxos_snmp_user.
community.general
- Модуль utils module_helper - устарел атрибут
ModuleHelper.VarDict(https://github.com/ansible-collections/community.general/pull/3801).
community.hashi_vault
- Поддержка Ansible 2.9 и ansible-base 2.10 устарела и будет удалена в следующей основной версии (community.hashi_vault 3.0.0) следующей весной (https://github.com/ansible-community/community-topics/issues/50, https://github.com/ansible-collections/community.hashi_vault/issues/189).
- Метод аутентификации aws_iam_login - метод
aws_iam_loginпереименован вaws_iam. Старое имя будет удалено в версии коллекции3.0.0. До этого момента оба имени будут работать, и при использовании старого имени будет отображаться предупреждение (https://github.com/ansible-collections/community.hashi_vault/pull/193).
junipernetworks.junos
- Параметр ‘router_id’ устарел в модулях ресурсов junos_ospf_interfaces, junos_ospfv2 и junos_ospfv3.
Руководство по переносу для v5.0.1
Основные изменения
- Требование к python в пакете ansible увеличено с >=2.7 до >=3.8 для соответствия ansible-core
Руководство по переносу для v5.0.0
Добавленные коллекции
- cisco.ise (версия 1.2.1)
- cloud.common (версия 2.1.0)
- community.ciscosmb (версия 1.0.4)
- community.dns (версия 2.0.3)
- infoblox.nios_modules (версия 1.1.2)
- netapp.storagegrid (версия 21.7.0)
Известные проблемы
Ansible-core
- ansible-test - Автодополнение в любом месте, кроме конца команды, с новыми составными опциями, даст неверные результаты. См. проблему 351 для получения дополнительных сведений.
dellemc.openmanage
- idrac_user - Проблема (192043) Модуль может выдавать ошибку с сообщением
unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress. Дождитесь завершения задачи и повторите выполнение задачи. - ome_device_power_settings - Проблема (212679) Модуль ome_device_power_settings выдаёт ошибку с указанным сообщением, если значение, указанное для параметра
power_cap, не находится в диапазоне от 0 до 32767,Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI. - ome_smart_fabric_uplink - Проблема (186024) Модуль ome_smart_fabric_uplink не позволяет создавать несколько каналов связи с одинаковым именем, хотя это поддерживается OpenManage Enterprise Modular. Если канал связи создаётся с тем же именем, что и существующий, существующий канал связи изменяется.
- ome_smart_fabric_uplink - Проблема (186024) Модуль ome_smart_fabric_uplink не позволяет создавать несколько каналов связи с одинаковым именем, хотя это поддерживается OpenManage Enterprise Modular. Если канал связи создаётся с тем же именем, что и существующий, существующий канал связи изменяется.
purestorage.flashblade
- purefb_lag - Поле mac_address в ответе не заполняется. Это будет исправлено в будущей обновлении FlashBlade.
Изменения, вносящие разрывы
Ansible-core
- Имена действий, модулей и групп в module_defaults должны быть статическими значениями. Их значения всё ещё могут быть шаблонами.
- Полные имена плагинов ‘ansible.legacy’ не включаются неявно в action_groups.
- Неразрешимые группы, плагины действий и модули в module_defaults являются ошибкой.
- ansible-test - Автоматическая установка требований для плагинов тестирования «cloud» больше не происходит. Затронутые плагины тестирования -
aws,azure,cs,hcloud,nios,opennebula,openshiftиvcenter. Коллекции вместо этого должны использовать один из поддерживаемых файлов требований к интеграционному тестированию, например, файлtests/integration/requirements.txt - ansible-test - HTTP-тестер больше недоступен с командой
ansible-test shell. Только командыintegrationиwindows-integrationпредоставляют HTTP-тестер. - ansible-test - Опция
--disable-httptesterбольше недоступна. HTTP-тестер больше не является необязательным для тестов, которые его указывают. - ansible-test - Опция
--httptesterбольше недоступна. Чтобы переопределить контейнер, используемый для тестов HTTP-тестера, установите переменную средыANSIBLE_HTTP_TEST_CONTAINER. - ansible-test - Тесты юнит для
modulesиmodule_utilsтеперь ограничены импортом толькоansible.module_utilsиз модуляansible - условные выражения - Условные выражения
whenбольше не автоматически анализируют строковые булевы значения, такие как"true"и"false"в фактические булевы значения. Любая непустая строка теперь рассматривается как истина. Переменная конфигурацииCONDITIONAL_BARE_VARSбольше не оказывает никакого влияния. - имя хоста - Полностью отказывается от поддержки Python 2.4, используя
with open(), чтобы упростить обработку исключений, которая в нескольких местах пропускала дескрипторы файлов - имя хоста - В FreeBSD строка
temporarystubбольше не записывается в файл имени хоста в методах получения (и в режиме проверки). В результате, имя хоста по умолчанию будет отображаться как''(пустая строка) вместоtemporarystubдля согласованности с другими стратегиями. Это означает, что результатbeforeбудет другим. - имя хоста - В системах OpenRC и Solaris значение
beforeтеперь будет''(пустая строка), если файл постоянного имени хоста не существует, для согласованности с другими стратегиями. - фильтры intersect, difference, symmetric_difference, union - поведение по умолчанию теперь чувствительно к регистру (https://github.com/ansible/ansible/issues/74255)
- фильтр unique - поведение по умолчанию теперь приводит к ошибке, если фильтр Jinja2 завершается ошибкой, и явное указание
case_sensitive=Falseв качестве резервного варианта Ansible чувствительно к регистру (https://github.com/ansible/ansible/pull/74256)
amazon.aws
- ec2_instance - поведение ожидания состояния экземпляра изменилось. Если задачи требуют старого поведения ожидания, пока состояние мониторинга экземпляра не станет
OKпри запуске нового экземпляра, действие должно указатьstate: started(https://github.com/ansible-collections/amazon.aws/pull/481). - ec2_snapshot - поддержка неограниченного ожидания снята, новый стандарт — 10 минут (https://github.com/ansible-collections/amazon.aws/pull/356).
- ec2_vol_info - возврат
attachment_setтеперь представляет собой список прикреплений с поддержкой Multi-Attach на диске. (https://github.com/ansible-collections/amazon.aws/pull/362). - ec2_vpc_dhcp_option - Модуль был переработан для использования boto3. Типы ключей и значений, возвращаемые модулем, теперь согласованы, что является изменением по сравнению с предыдущим поведением. Была добавлена опция
purge_tags, которая по умолчанию равнаTrue. (https://github.com/ansible-collections/amazon.aws/pull/252) - ec2_vpc_dhcp_option_info - Теперь сохраняется регистр ключей тегов в возвращаемом значении. (https://github.com/ansible-collections/amazon.aws/pull/252)
- module_utils.core - Переключатель boto3 удален из параметра region (https://github.com/ansible-collections/amazon.aws/pull/287).
- module_utils/compat - удалён клон ipaddress (https://github.com/ansible-collections/amazon.aws/pull/461).
- module_utils/core - функция
scrub_none_parametersобновлена, так чтоdescend_into_listsустановлено по умолчанию вTrue(https://github.com/ansible-collections/amazon.aws/pull/297).
arista.eos
- Компания Arista выпустила платформу 4.23.X и новее, а вместе с ней заменила и устарела несколько команд. Эта PR добавляет поддержку изменений синтаксиса в релиз-трейне 4.23 и более поздних версий. В дальнейшем модули eos не будут поддерживать версию ПО EOS < 4.23.
community.aws
- ec2_instance - Модуль был перенесен в коллекцию
amazon.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_instance - ec2_instance_info - Модуль был перенесен в коллекцию
amazon.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_instance_info - ec2_vpc_endpoint - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_endpoint - ec2_vpc_endpoint_facts - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_endpoint_info - ec2_vpc_endpoint_info - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_endpoint_info - ec2_vpc_endpoint_service_info - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_endpoint_service_info - ec2_vpc_igw - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_igw - ec2_vpc_igw_facts - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_igw_info - ec2_vpc_igw_info - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_igw_info - ec2_vpc_nat_gateway - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_nat_gateway - ec2_vpc_nat_gateway_facts - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_nat_gateway_info - ec2_vpc_nat_gateway_info - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_nat_gateway_info - kms_info - подробности ключа теперь возвращаются в атрибуте
kms_keys, а не в атрибутеkeys(https://github.com/ansible-collections/community.aws/pull/648).
community.crypto
- Настройка анализа текста
dirNameи преобразования текста в соответствии с Разделами 2 и 3 RFC 4514. Это аналогично тому, как обрабатывает это cryptography (https://github.com/ansible-collections/community.crypto/pull/274). - Утилиты модуля acme — удаление совместимого кода (https://github.com/ansible-collections/community.crypto/pull/290).
- Модули acme_* — удаление продублированной копии библиотеки Python
ipaddress. Если вы используете Python 2.x, убедитесь, что установили библиотеку (https://github.com/ansible-collections/community.crypto/pull/287). - Утилиты модуля compatibility — удаление продублированной копии библиотеки Python
ipaddress(https://github.com/ansible-collections/community.crypto/pull/287). - Утилиты модуля crypto — удаление совместимого кода (https://github.com/ansible-collections/community.crypto/pull/290).
- get_certificate, openssl_csr_info, x509_certificate_info — в зависимости от версии используемого
cryptographyмодули могут не возвращать значение ASN.1 для расширения, содержащегося в сертификате соответственно CSR, а возвращать его закодированную версию. Как правило, это должно быть идентично значению, содержащемуся в исходном файле, если значение не было повреждено. Для расширений, не обрабатываемых C(cryptography), значение, содержащееся в исходном файле, всегда возвращается без изменений (https://github.com/ansible-collections/community.crypto/pull/318). - module_utils — удалены различные функции поддержки PyOpenSSL и значения по умолчанию для бэкенда, которые не нужны для модуля openssl_pkcs12 (https://github.com/ansible-collections/community.crypto/pull/273).
- openssl_csr, openssl_csr_pipe, x509_crl — поля
subjectсоответственноissuerбольше не игнорируют пустые значения, а вместо этого завершаются ошибкой при их обнаружении (https://github.com/ansible-collections/community.crypto/pull/316). - openssl_privatekey_info — по умолчанию проверки согласованности не выполняются; их необходимо явно запросить, передав
check_consistency=true(https://github.com/ansible-collections/community.crypto/pull/309). - x509_crl — для проверок идемпотентности порядок
issuerигнорируется. Если порядок важен, используйте новый параметрissuer_ordered(https://github.com/ansible-collections/community.crypto/pull/316).
community.dns
- Все модули и плагины Hetzner, обрабатывающие записи DNS, теперь по умолчанию работают с необработанными значениями TXT. Прежнее поведение можно получить, установив
txt_transformation=api(https://github.com/ansible-collections/community.dns/issues/48, https://github.com/ansible-collections/community.dns/pull/57, https://github.com/ansible-collections/community.dns/pull/60). - Создание API Hosttech — теперь требует объект
ModuleOptionProviderвместо объектаAnsibleModule. В качестве альтернативы можно передать экземпляр плагина Ansible (https://github.com/ansible-collections/community.dns/pull/37). - Модули hetzner_dns_record_info и hosttech_dns_record_info были переименованы в hetzner_dns_record_set_info и hosttech_dns_record_set_info соответственно (https://github.com/ansible-collections/community.dns/pull/54).
- Модуль hosttech_dns_record был переименован в hosttech_dns_record_set (https://github.com/ansible-collections/community.dns/pull/31).
- Вспомогательная функция внутреннего обновления записей в объеме (
bulk_apply_changes) теперь также возвращает записи, которые были удалены, созданы или обновлены (https://github.com/ansible-collections/community.dns/pull/63). - Внутренний API записей больше не позволяет управлять комментариями явно (https://github.com/ansible-collections/community.dns/pull/63).
- При использовании внутреннего API модулей теперь необходимо передавать тип идентификатора зоны и объект информации о провайдере (https://github.com/ansible-collections/community.dns/pull/27).
- Модули hetzner_dns_record* — реализована правильная обработка значения TTL по умолчанию. В этом случае значение
noneтеперь принимается и возвращается (https://github.com/ansible-collections/community.dns/pull/52, https://github.com/ansible-collections/community.dns/issues/50). - hetzner_dns_record, hetzner_dns_record_set, hetzner_dns_record_sets — значение TTL по умолчанию теперь равно 300, а не 3600, что соответствует значению по умолчанию в веб-консоли (https://github.com/ansible-collections/community.dns/pull/43).
- hosttech_* module_utils — полная переработка и рефакторинг для поддержки нового API JSON и возможности повторного использования логики модулей, независимых от провайдера (https://github.com/ansible-collections/community.dns/pull/4).
- hosttech_dns_record_set — параметр
overwriteбыл заменен новым параметромon_existing. Указаниеoverwrite=trueэквивалентноon_existing=replace(новое значение по умолчанию). Указаниеoverwrite=falseсstate=presentэквивалентноon_existing=keep_and_fail, а указаниеoverwrite=falseсstate=absentэквивалентноon_existing=keep(https://github.com/ansible-collections/community.dns/pull/31).
community.docker
- docker_compose — исправлено поведение по умолчанию
timeoutтаким образом, чтоstop_grace_period, если определено в файле compose, будет использоваться, еслиtimeout`не указано (https://github.com/ansible-collections/community.docker/pull/163).
community.general
- archive — добавление проверок идемпотентности для изменений имён файлов и содержимого внутри файла
destination(https://github.com/ansible-collections/community.general/pull/3075). - Плагин инвентаризации lxd — при использовании с Python 2, плагин теперь нуждается в установке
ipaddressиз pypi (https://github.com/ansible-collections/community.general/pull/2441). - scaleway_security_group_rule — при использовании с Python 2, модуль теперь нуждается в установке
ipaddressиз pypi (https://github.com/ansible-collections/community.general/pull/2441).
community.hashi_vault
- Параметры подключения — больше нет значения по умолчанию для параметра
url(адрес Vault), поэтому значение должно быть указано (https://github.com/ansible-collections/community.hashi_vault/issues/83).
community.okd
- Остановка поддержки Python 2 (https://github.com/openshift/community.okd/pull/93).
community.routeros
- api — из-за ошибки программирования модуль никогда не завершался ошибкой. Теперь это исправлено. Если вы полагаетесь на то, что модуль не завершается ошибкой в случае идемпотентных команд (что приводит к ошибкам, таким как
failure: already have such address), вам нужно скорректировать свои роли/playbook. Мы рекомендуем использоватьfailed_whenдля принятия ошибок в определённых обстоятельствах, напримерfailed_when: "'failure: already have ' in result.msg[0]"(https://github.com/ansible-collections/community.routeros/pull/39). - api — разделение команд больше не использует простое разделение по пробелам, а более совместимый с CLI RouterOS алгоритм разделения (https://github.com/ansible-collections/community.routeros/pull/45).
- command — модуль теперь всегда указывает, что изменение произошло. Если это неверно, используйте
changed_whenдля определения правильного состояния изменения задачи (https://github.com/ansible-collections/community.routeros/pull/50).
community.zabbix
- Все роли теперь ссылаются на другие роли и модули через их полные имена коллекций, что делает Ansible 2.10 минимально поддерживаемой версией для ролей (см. issue 477).
kubernetes.core
- Поддержка python 2 прекращена (https://github.com/ansible-collections/kubernetes.core/pull/86).
- helm_plugin - удален неиспользуемый
release_namespaceпараметр (https://github.com/ansible-collections/kubernetes.core/pull/85). - helm_plugin_info - удален неиспользуемый
release_namespaceпараметр (https://github.com/ansible-collections/kubernetes.core/pull/85). - k8s_cluster_info - возвращает apis в виде списка, чтобы избежать перезаписи в случае нескольких версий (https://github.com/ansible-collections/kubernetes.core/pull/41).
- k8s_facts - удален устаревший псевдоним от k8s_facts до k8s_info (https://github.com/ansible-collections/kubernetes.core/pull/125).
netapp.storagegrid
- Эта версия вносит критические изменения. Все модули были переименованы с
nac_sg_*наna_sg_*. Плейбуки и роли должны быть обновлены соответственно.
Основные изменения
Ansible-core
- Требование к контроллеру Python - для узла управления (машины, на которой выполняется Ansible) требуется Python 3.8 или более поздней версии (https://github.com/ansible/ansible/pull/74013)
- ansible-test - Все плагины «cloud», использующие контейнеры, теперь могут использоваться со всеми узлами POSIX и Windows. Ранее плагины вообще не работали с Windows, а поддержка узлов, созданных с помощью
--remoteопции, была несогласованной. - ansible-test - Теперь коллекции могут указывать требования и ограничения для интеграционных тестов, специфичные для контроллера и целевого узла. Если они указаны, они имеют приоритет над ранее доступными файлами требований и ограничений.
- ansible-test - Интеграционные тесты, выполняемые с помощью команды
integration, теперь могут выполняться на двух отдельных узлах вместо постоянного выполнения на узле управления. Целевой узел может быть предоставленansible-testили пользователем, при условии доступности через SSH. - ansible-test - Большинство функций контейнеров теперь поддерживаются под Podman. Ранее требовалась символическая ссылка для
docker, указывающая наpodman. - ansible-test - Добавлены новые параметры
--controllerи--target/--target-python, позволяющие больше контролировать тестовые среды. - ansible-test - Теперь требуется Python 3.8 - 3.10 для выполнения
ansible-test, что соответствует требованиям Python контроллера Ansible. Более старые версии Python (2.6 - 2.7 и 3.5 - 3.10) все еще могут быть целевыми для соответствующих тестов. - ansible-test - Для обеспечения доступности портов контейнеров на узлах, не являющихся контейнерами, теперь используется исключительно туннелирование и перенаправление SSH-портов. При тестировании на POSIX-системах это требует входа по SSH от root. Ранее туннелирование SSH-портов комбинировалось с правилами брандмауэра или другими методами перенаправления портов, некоторые платформы не поддерживались.
- ansible-test - Тесты на корректность всегда выполняются в изолированных виртуальных средах Python, специфичных для требований каждого теста. Среды кэшируются.
- ansible-test - Тесты на корректность теперь разделены на две категории: контроллер и целевой узел. Все тесты, кроме
importиcompile, являются тестами контроллера. Тесты контроллера всегда выполняются с использованием той же версии Python, которая используется для запускаansible-test. Тесты целевого узла используют указанную пользователем версию Python или все доступные версии Python. - ansible-test - Тесты на корректность теперь используют полностью закрепленные требования, которые независимы друг от друга и от других типов тестов.
- ansible-test - Тесты, выполняемые с использованием тестовых контейнеров
centos6иdefault, теперь используют контейнер-прокси PyPI для доступа к PyPI при использовании Python 2.6. Это позволяет тестам, выполняемым под Python 2.6, продолжать функционировать, даже если PyPI прекращает поддержку клиентов, не поддерживающих SNI. - ansible-test - Тесты на корректность
future-import-boilerplateиmetaclass-boilerplateограничены удаленно-только кодом. Кроме того, они пропускаются для коллекций, которые не декларируют поддержку Python 2.x. - ansible-test - Тесты на корректность
importиcompileограничивают проверки версий Python только для удаленных узлов удаленно-только кодом. - ansible-test - Тесты модулей контроллера теперь требуют Python 3.8 или более поздней версии.
- ansible-test - Нейтральные по версии тесты на корректность теперь требуют Python 3.8 или более поздней версии.
- junit callback - Модули Python
junit_xmlиordereddictбольше не требуются для использования плагина обратного вызоваjunit.
amazon.aws
- Коллекция amazon.aws - В связи с объявлением AWS SDK о прекращении поддержки Python менее 3.6 (https://boto3.amazonaws.com/v1/documentation/api/1.17.64/guide/migrationpy3.html), эта коллекция теперь требует Python 3.6+ (https://github.com/ansible-collections/amazon.aws/pull/298).
- Коллекция amazon.aws - Коллекция amazon.aws прекратила поддержку
botocore<1.18.0иboto3<1.15.0. Большинство модулей будут продолжать работать со старыми версиями AWS SDK, однако совместимость со старыми версиями SDK не гарантируется и не будет тестироваться. При использовании более старых версий SDK Ansible выведет предупреждение (https://github.com/ansible-collections/amazon.aws/pull/502). - ec2_instance - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_instance. - ec2_instance_info - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_instance_info. - ec2_vpc_endpoint - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_endpoint. - ec2_vpc_endpoint_facts - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_endpoint_info. - ec2_vpc_endpoint_info - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_endpoint_info. - ec2_vpc_endpoint_service_info - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_endpoint_service_info. - ec2_vpc_igw - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_igw. - ec2_vpc_igw_facts - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_igw_facts. - ec2_vpc_igw_info - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_igw_info. - ec2_vpc_nat_gateway - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_nat_gateway. - ec2_vpc_nat_gateway_facts - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_nat_gateway_info. - ec2_vpc_nat_gateway_info - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_nat_gateway_info. - ec2_vpc_route_table - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_route_table. - ec2_vpc_route_table_facts - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_route_table_facts. - ec2_vpc_route_table_info - Модуль был перенесен из коллекции
community.aws. Плейбуки, использующие полное имя коллекции для этого модуля, должны быть обновлены для использованияamazon.aws.ec2_vpc_route_table_info.
cisco.ise
- Добавлен
ise_uses_api_gatewayк параметрам модуля. - Добавлена роль ‘aws_deployment’, позволяющая развертывать кластер ISE произвольного размера в AWS.
- Добавлен ise_responses для значений возврата модулей info.
- Добавлен ise_update_response для значений возврата модулей, не являющихся info.
- Исправлена внутренняя логика модулей, у которых нет get по имени и не работает фильтр.
- Переименован модуль device_administration_authorization_exception_rules в device_administration_local_exception_rules.
- Переименован модуль device_administration_authorization_global_exception_rules в device_administration_global_exception_rules.
- Переименован модуль network_access_authorization_exception_rules в network_access_local_exception_rules.
- Переименован модуль network_access_authorization_global_exception_rules в network_access_global_exception_rules.
- Обновлены требуемые параметры для модулей.
- Обновлены параметры sdk для предыдущих модулей
- device_administration_authorization_exception_rules - модуль удален.
- device_administration_authorization_exception_rules_info - модуль удален.
- device_administration_authorization_global_exception_rules - модуль удален.
- device_administration_authorization_global_exception_rules_info - модуль удален.
- guest_user_reinstante - модуль удален.
- import_trust_cert - модуль удален.
- network_access_authorization_exception_rules - модуль удален.
- network_access_authorization_exception_rules_info - модуль удален.
- network_access_authorization_global_exception_rules - модуль удален.
- network_access_authorization_global_exception_rules_info - модуль удален.
- personas_check_standalone - Добавляет модуль для развертывания персон на существующих узлах кластера ISE.
- personas_export_certs - Добавляет модуль для развертывания персон на существующих узлах кластера ISE.
- personas_promote_primary - Добавляет модуль для развертывания персон на существующих узлах кластера ISE.
- personas_update_roles - Добавляет модуль для развертывания персон на существующих узлах кластера ISE.
- service_info - модуль удален.
- system_certificate_export - модуль удален.
- telemetry_info_info - модуль удален.
cloud.common
- turbo - включить режим turbo для плагинов lookup
cloudscale_ch.cloud
- Добавлен модуль custom_image
community.aws
- Коллекция community.aws прекратила поддержку
botocore<1.18.0иboto3<1.15.0(https://github.com/ansible-collections/community.aws/pull/711). Большинство модулей по-прежнему будут работать с более старыми версиями AWS SDK, однако совместимость со старыми версиями SDK не гарантируется и не будет проверяться. При использовании более старых версий SDK Ansible выведет предупреждение (https://github.com/ansible-collections/amazon.aws/pull/442).
community.ciscosmb
- Требуется Python 2.6, 2.7, 3.5
- Добавлена поддержка CBS350
- Добавлена поддержка antsibull-changelog
- Добавлен модуль ciscosmb_command
- Добавлен набор фактов “interfaces”
- Модуль ciscosmb_facts с набором по умолчанию и unit-тестами
- Канонизация имен интерфейсов
- Преобразование коллекции qaxi.ciscosmb в community.ciscosmb
- Преобразование community.ciscosmb.ciscosmb_command в community.ciscosmb.command
- Преобразование community.ciscosmb.ciscosmb_facts в community.ciscosmb.facts
- Unit-тесты для CBS350
community.dns
- Модули hosttech_* - поддерживают новый JSON API по адресу https://api.ns1.hosttech.eu/api/documentation/ (https://github.com/ansible-collections/community.dns/pull/4).
community.general
- Модули bitbucket_* -
client_idбольше не отмечается какno_log=true. Если вы полагались на то, что его значение не отображается в логах и выводе, пожалуйста, отметьте все задачи сno_log: true(https://github.com/ansible-collections/community.general/pull/2045).
community.kubernetes
- Перенаправление всего из
community.kubernetesвkubernetes.core(https://github.com/ansible-collections/community.kubernetes/pull/425).
community.okd
- Обновление до использования kubernetes.core 2.0 (https://github.com/openshift/community.okd/pull/93).
community.postgresql
- postgresql_query - значение параметра
as_single_queryпо умолчанию будет изменено наyesв версии community.postgresql 2.0.0 (https://github.com/ansible-collections/community.postgresql/issues/85).
community.vmware
- vmware_object_custom_attributes_info - добавлен новый модуль для сбора пользовательских атрибутов объекта (https://github.com/ansible-collections/community.vmware/pull/851).
containers.podman
- Добавление генерации systemd для под.
- Генерация файлов службы systemd для контейнеров.
dellemc.openmanage
- idrac_server_config_profile - Добавлена поддержка экспорта и импорта профиля конфигурации сервера через HTTP/HTTPS-общий ресурс.
- ome_device_group - Добавлена поддержка добавления устройств в группу с использованием IP-адресов устройств и идентификатора группы.
- ome_firmware - Добавлен параметр для подготовки обновления прошивки и поддержки выбора компонентов и устройств для обновления прошивки на основе эталона.
- ome_firmware_baseline - Модуль поддерживает режим проверки и позволяет изменять и удалять эталоны прошивки.
- ome_firmware_catalog - Модуль поддерживает режим проверки и позволяет изменять и удалять каталоги прошивки.
fortinet.fortios
- Добавление реальных примеров использования в разделе примеров для некоторых модулей конфигурации.
- Сбор текущих конфигураций модулей и преобразование их в playbook'ы.
- Улучшение
fortios_configuration_factдля одновременного использования нескольких селекторов. - Новый модуль fortios_monitor_fact.
- Поддержка FortiOS 7.0.1.
- Поддержка Fortios 7.0.
- Поддержка API логов.
- Поддержка
check_modeво всех модулях, основанных на cofigurationAPI. - Поддержка фильтрации для модулей сбора фактов
fortios_configuration_factиfortios_monitor_fact. - Поддержка операций с членами (удаление/добавление дополнительных членов) для объекта, содержащего список членов.
- Поддержка перемещения политики в
firewall_central_snat_map. - Поддержка функции селекторов в
fortios_monitor_factиfortios_log_fact. - Унификация схем для API мониторинга.
gluster.gluster
- Включить client.ssl, server.ssl перед запуском тома Gluster (https://github.com/gluster/gluster-ansible-collection/pull/19)
hetzner.hcloud
- Введение группирования размещения
kubernetes.core
- k8s - устаревший параметр merge_type=json. Функциональность JSON-патча никогда не работала (https://github.com/ansible-collections/kubernetes.core/pull/99).
- k8s_json_patch - разделение функциональности JSON-патча в отдельный модуль (https://github.com/ansible-collections/kubernetes.core/pull/99).
- Замена клиента Openshift на официальный клиент Kubernetes (https://github.com/ansible-collections/kubernetes.core/issues/34).
netapp.cloudmanager
- Добавление стадии среды во все модули в cloudmanager
netbox.netbox
- Пакеты теперь являются обязательным пакетом Python и устанавливаются через Ansible 2.10+.
openvswitch.openvswitch
- По ошибке репозиторий был помечен как 2.0.0, и, поскольку это не предполагалось и не может быть отменено, мы выпускаем 2.0.1, чтобы проинформировать сообщество о значительном обновлении версии.
ovirt.ovirt
- remove_stale_lun - Добавление роли для удаления устаревших LUN (https://bugzilla.redhat.com/1966873).
Удаленные возможности
Ansible-core
- Встроенный модуль `module_util`
ansible.module_utils.common.removedранее был устаревшим и был удалён. - В модуле `connections` удалены заглушки проверки паролей, которые были перенесены в плагины.
- В модуле `task` удалена автоматическая коэрация параметров встраиваемых параметров в переменные.
ansible.windows
- `win_reboot` - Удалён
shutdown_timeoutиshutdown_timeout_sec, которые не выполняли никаких действий с версии Ansible 2.5.
community.crypto
- `acme_*` модули - теперь обязательно указывать опцию
acme_directory(https://github.com/ansible-collections/community.crypto/pull/290). - `acme_*` модули - теперь обязательно указывать опцию
acme_version(https://github.com/ansible-collections/community.crypto/pull/290). - `acme_account_facts` - удалён устаревший перенаправление. Используйте `community.crypto.acme_account_info` вместо него (https://github.com/ansible-collections/community.crypto/pull/290).
- `acme_account_info` -
retrieve_orders=url_listбольше не возвращает значениеorders. Используйте значение возвратаorder_urisвместо него (https://github.com/ansible-collections/community.crypto/pull/290). - Модули утилиты `crypto.info` - удалено устаревшее перенаправление. Используйте
crypto.pemвместо него (https://github.com/ansible-collections/community.crypto/pull/290). - `get_certificate` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `openssl_certificate` - удалено устаревшее перенаправление. Используйте `community.crypto.x509_certificate` вместо него (https://github.com/ansible-collections/community.crypto/pull/290).
- `openssl_certificate_info` - удалено устаревшее перенаправление. Используйте `community.crypto.x509_certificate_info` вместо него (https://github.com/ansible-collections/community.crypto/pull/290).
- `openssl_csr` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `openssl_csr` и `openssl_csr_pipe` -
versionтеперь принимает только значение 1 (по умолчанию) (https://github.com/ansible-collections/community.crypto/pull/290). - `openssl_csr_info` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `openssl_csr_pipe` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `openssl_privatekey` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `openssl_privatekey_info` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `openssl_privatekey_pipe` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `openssl_publickey` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `openssl_publickey_info` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `openssl_signature` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `openssl_signature_info` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `x509_certificate` - удалён поставщик
assertonly(https://github.com/ansible-collections/community.crypto/pull/289). - `x509_certificate` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `x509_certificate_info` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - `x509_certificate_pipe` - удалён бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273).
community.docker
- `docker_container` - значение по умолчанию для
container_default_behaviorизменено наno_defaults(https://github.com/ansible-collections/community.docker/pull/210). - `docker_container` - значение по умолчанию для
network_mode- это имя первой сети, указанной вnetworks, если таковые указаны иnetworks_cli_compatible=true(https://github.com/ansible-collections/community.docker/pull/210). - `docker_container` - специальное значение
allбольше не может использоваться вpublished_portsрядом с другими значениями. Используйтеpublish_all_ports=trueвместо него (https://github.com/ansible-collections/community.docker/pull/210). - `docker_login` - удалена опция
email(https://github.com/ansible-collections/community.docker/pull/210).
community.general
- Все скрипты инвентаризации и хранилища, содержащиеся в community.general, были перемещены в репозиторий GitHub contrib-scripts (https://github.com/ansible-collections/community.general/pull/2696).
- Модульные утилиты ModuleHelper - удален механизм обратного вызова, когда значение не может быть определено для параметра (https://github.com/ansible-collections/community.general/pull/3461).
- Удалены устаревшие утилиты и фрагменты документации модуля netapp (https://github.com/ansible-collections/community.general/pull/3197).
- Плагины lookup nios, nios_next_ip, nios_next_network, фрагмент документации nios и модули nios_host_record, nios_ptr_record, nios_mx_record, nios_fixed_address, nios_zone, nios_member, nios_a_record, nios_aaaa_record, nios_network, nios_dns_view, nios_txt_record, nios_naptr_record, nios_srv_record, nios_cname_record, nios_nsgroup и nios_network_view были удалены из community.general 4.0.0 и заменены переадресацией на коллекцию infoblox.nios_modules. Пожалуйста, установите коллекцию
infoblox.nios_modules, чтобы продолжить использование этих плагинов и модулей, и обновите свои FQCN (https://github.com/ansible-collections/community.general/pull/3592). - Удалена проданная копия
ipaddress. Пожалуйста, используйтеipaddressиз стандартной библиотеки Python 3 или с pypi. (https://github.com/ansible-collections/community.general/pull/2441). - cpanm - удален устаревший
system_libпараметр. Используйте механизм повышения привилегий Ansible вместо него; этот параметр в основном использовалsudo(https://github.com/ansible-collections/community.general/pull/3461). - grove - удален устаревший псевдоним
messageпараметраmessage_content(https://github.com/ansible-collections/community.general/pull/3461). - proxmox - значение по умолчанию
proxmox_default_behaviorизменено наno_defaults(https://github.com/ansible-collections/community.general/pull/3461). - proxmox_kvm - значение по умолчанию
proxmox_default_behaviorизменено наno_defaults(https://github.com/ansible-collections/community.general/pull/3461). - runit - удален устаревший
distпараметр, который не использовался модулем (https://github.com/ansible-collections/community.general/pull/3461). - telegram - удалены устаревшие параметры
msg,msg_formatиchat_id(https://github.com/ansible-collections/community.general/pull/3461). - xfconf - значение по умолчанию
disable_factsизменено наtrue, а значениеfalseбольше не допускается. Зарегистрируйте результаты работы модуля вместо этого (https://github.com/ansible-collections/community.general/pull/3461).
community.hashi_vault
- прекращена поддержка Python 2 и Python 3.5 (https://github.com/ansible-collections/community.hashi_vault/issues/81).
- удалена поддержка следующих устаревших переменных окружения:
VAULT_AUTH_METHOD,VAULT_TOKEN_PATH,VAULT_TOKEN_FILE,VAULT_ROLE_ID,VAULT_SECRET_ID(https://github.com/ansible-collections/community.hashi_vault/pull/173).
Устаревшие функции
Ansible-core
- ansible-test - Опция
--docker-no-pullустарела и не имеет эффекта. - ansible-test - Опция
--no-pip-checkустарела и не имеет эффекта. - Действие include устарело в пользу include_tasks, import_tasks и import_playbook.
- FileLock из module_utils планируется удалить, так как он не используется из-за своей ненадежности.
amazon.aws
- ec2 - модуль
ec2на основе boto устарел в пользу модуляec2_instanceна основе boto3. Модульec2будет удалён в релизе 4.0.0 (https://github.com/ansible-collections/amazon.aws/pull/424). - ec2_classic_lb - установка факта
ec2_elbустарела и будет удалена в релизе 4.0.0 коллекции. Теперь модуль возвращаетelb, к которому можно получить доступ с помощью ключевого слова register (https://github.com/ansible-collections/amazon.aws/pull/552). - ec2_vpc_dhcp_option - Ключ возврата
new_configустарел и будет удален в будущей версии. Он будет заменён наdhcp_config. Временное решение — возвращаются оба значения. (https://github.com/ansible-collections/amazon.aws/pull/252)
ansible.netcommon
- network_cli - Параметр paramiko_ssh
look_for_keysавтоматически устанавливался на основе значений опцийpasswordиprivate_key_file, переданных в network_cli. Теперь этот параметр можно задать явно, а автоматическое назначениеlook_for_keysбудет удалено после 2024-01-01 (https://github.com/ansible-collections/ansible.netcommon/pull/271).
ansible.windows
- win_reboot - Недоступные хосты могут быть проигнорированы с помощью
ignore_errors: True, но эта возможность будет удалена в будущей версии. Используйтеignore_unreachable: True, чтобы игнорировать недоступные хосты вместо этого. - https://github.com/ansible-collections/ansible.windows/issues/62 - win_updates - Устарело возвращаемое значение
filtered_reasonдля каждого отфильтрованного обновления в пользуfiltered_reasons. Это сделано для показа всех причин фильтрации обновления, а не только первой. - win_updates - Устарела опция
use_scheduled_task, так как она больше не используется. - win_updates - Устарели опции
whitelistиblacklistв пользуaccept_listиreject_listсоответственно, чтобы соответствовать новым стандартам, используемым в Ansible для этих типов опций.
arista.eos
- Удаление тестирования с поставщиком для интеграционных задач ansible-test. Это помогает нам перейти к интеграционным тестам network-ee.
cisco.ios
- Устарел модуль ios_bgp в пользу ios_bgp_global и ios_bgp_address_family.
- Устарели модули ios_ntp.
- Удаление тестирования с поставщиком для интеграционных задач ansible-test. Это помогает нам перейти к интеграционным тестам network-ee.
cisco.iosxr
- Модуль iosxr_logging устарел в пользу нового ресурсного модуля iosxr_logging_global и будет удалён в релизе после ‘2023-08-01’.
cisco.nxos
- Устарели модули
nxos_ntp,nxos_ntp_options,nxos_ntp_auth. - Модуль nxos_logging устарел в пользу нового ресурсного модуля nxos_logging_global и будет удалён в релизе после ‘2023-08-01’.
community.aws
- dynamodb_table - DynamoDB не поддерживает указание неключевых атрибутов при создании индекса
ALL. Передачаincludesдля таких индексов в настоящее время игнорируется, но приведет к ошибкам после версии 3.0.0 (https://github.com/ansible-collections/community.aws/pull/726). - dynamodb_table - DynamoDB не поддерживает обновление первичных индексов таблицы. Попытки таких изменений в настоящее время игнорируются, но приведут к ошибкам после версии 3.0.0 (https://github.com/ansible-collections/community.aws/pull/726).
- ec2_elb - модуль
ec2_elbбыл удалён и перенаправлен на модульelb_instance, который выполняет идентичные функции. Изначальное имяec2_elbтеперь устарело и будет удалено в релизе 3.0.0 (https://github.com/ansible-collections/community.aws/pull/586). - ec2_elb_info - модуль
ec2_elb_infoна основе boto устарел в пользу модуляelb_classic_lb_infoна основе boto3. Модульec2_elb_infoбудет удалён в релизе 3.0.0 (https://github.com/ansible-collections/community.aws/pull/586). - elb_classic_lb - модуль
elb_classic_lbбыл удалён и перенаправлен на модульamazon.aws.ec2_elb_lb, который выполняет идентичные функции. - elb_instance - установка факта
ec2_elbустарела и будет удалена в релизе 4.0.0 коллекции. См. документацию модуля для альтернативного примера с использованием ключевого слова register (https://github.com/ansible-collections/community.aws/pull/773). - iam - модуль
iamна основе boto устарел в пользу модулейiam_user,iam_groupиiam_roleна основе boto3. Модульiamбудет удалён в релизе 3.0.0 (https://github.com/ansible-collections/community.aws/pull/664). - iam_cert - модуль iam_cert переименован в iam_server_certificate для согласованности с сопутствующим модулем iam_server_certificate_info. Использование модуля не изменилось. Псевдоним iam_cert будет удален в версии 4.0.0 (https://github.com/ansible-collections/community.aws/pull/728).
- iam_server_certificate - Передача имён файлов параметрам
cert,chain_certиkeyустарела. Рекомендуется использовать плагин lookup для чтения файлов, см. документацию для примера (https://github.com/ansible-collections/community.aws/pull/735). - iam_server_certificate - Значение по умолчанию для параметра
dup_okв настоящее времяfalse, в версии 4.0.0 оно будет обновлено доtrue. Чтобы сохранить текущее поведение, явно установите параметрdup_okв значениеfalse(https://github.com/ansible-collections/community.aws/pull/737). - rds - модуль
rdsна основе boto устарел в пользу модуляrds_instanceна основе boto3. Модульrdsбудет удалён в релизе 3.0.0 (https://github.com/ansible-collections/community.aws/pull/663). - rds_snapshot - Модуль rds_snapshot переименован в rds_instance_snapshot. Использование модуля не изменилось. Псевдоним rds_snapshot будет удален в версии 4.0.0 (https://github.com/ansible-collections/community.aws/pull/783).
- script_inventory_ec2 - Скрипт инвентаризации ec2.py переносится в новый репозиторий. Теперь скрипт можно загрузить по адресу https://github.com/ansible-community/contrib-scripts/blob/main/inventory/ec2.py и он будет удалён из этой коллекции в релизе 3.0. Рекомендуется перейти от скрипта к плагину инвентаризации
amazon.aws.ec2.
community.azure
- Все модули community.azure.azure_rm_<resource>_facts устарели. Используйте модули azure.azcollection.azure_rm_<resource>_info вместо них (https://github.com/ansible-collections/community.azure/pull/24).
- Все модули community.azure.azure_rm_<resource>_info устарели. Используйте модули azure.azcollection.azure_rm_<resource>_info вместо них (https://github.com/ansible-collections/community.azure/pull/24).
- community.azure.azure_rm_managed_disk и community.azure.azure_rm_manageddisk устарели. Используйте azure.azcollection.azure_rm_manageddisk вместо них (https://github.com/ansible-collections/community.azure/pull/24).
- community.azure.azure_rm_virtualmachine_extension и community.azure.azure_rm_virtualmachineextension устарели. Используйте azure.azcollection.azure_rm_virtualmachineextension вместо них (https://github.com/ansible-collections/community.azure/pull/24).
- community.azure.azure_rm_virtualmachine_scaleset и community.azure.azure_rm_virtualmachinescaleset устарели. Используйте azure.azcollection.azure_rm_virtualmachinescaleset вместо них (https://github.com/ansible-collections/community.azure/pull/24).
community.crypto
- acme_* модули - Версия 1 ACME устарела и поддержка будет удалена в community.crypto 2.0.0 (https://github.com/ansible-collections/community.crypto/pull/288).
community.dns
- Модуль hosttech_dns_records был переименован в hosttech_dns_record_sets. Старое имя перестанет работать в community.dns 3.0.0 (https://github.com/ansible-collections/community.dns/pull/31).
community.docker
- docker_* модули и плагины, кроме плагина подключения
docker_swarmиdocker_compose,docker_stack*` modules - the current default ``localhostдляtls_hostnameустарели. В community.docker 2.0.0 он будет вычисляться изdocker_hostвместо этого (https://github.com/ansible-collections/community.docker/pull/134). - docker_container - новое значение по умолчанию
command_handling,compatibility, устарело и изменится наcorrectв community.docker 3.0.0. Модуль выводит предупреждение об устаревании в тех случаях, когда поведение изменится. Обратите внимание, что ansible-core выведет предупреждение об устаревании только один раз, поэтому если оно отображается для более ранней задачи, возможно, есть и другие задачи с этим предупреждением, где оно не отображается (https://github.com/ansible-collections/community.docker/pull/186). - docker_container - использование специального значения
allвpublished_portsустарело. Используйтеpublish_all_ports=trueвместо этого (https://github.com/ansible-collections/community.docker/pull/210).
community.general
- Поддержка Ansible 2.9 и ansible-base 2.10 устарела и будет удалена в следующем крупном выпуске (community.general 5.0.0) следующей весной. Хотя большая часть содержимого, вероятно, по-прежнему будет работать с ansible-base 2.10, мы удалим символические ссылки для модулей и плагинов действий, что сделает их невозможным для использования с Ansible 2.9. Пожалуйста, используйте community.general 4.x.y с Ansible 2.9 и ansible-base 2.10, так как эти релизы будут продолжать поддерживать Ansible 2.9 и ansible-base 2.10 даже после их окончания жизненного цикла (https://github.com/ansible-community/community-topics/issues/50, https://github.com/ansible-collections/community.general/pull/3723).
- ali_instance_info - отмечена версия удаления устаревших параметров
availability_zoneиinstance_names(https://github.com/ansible-collections/community.general/issues/2429). - bitbucket_* модули - параметры
usernameустарели в пользуworkspaceи будут удалены в community.general 6.0.0 (https://github.com/ansible-collections/community.general/pull/2045). - dnsimple - python-dnsimple < 2.0.0 устарел и поддержка будет удалена в community.general 5.0.0 (https://github.com/ansible-collections/community.general/pull/2946#discussion_r667624693).
- gitlab_group_members - установка
gitlab_groupнаnameилиpathустарела. Используйтеfull_pathвместо этого (https://github.com/ansible-collections/community.general/pull/3451). - keycloak_authentication - возвращаемое значение
flowустарело и будет удалено в community.general 6.0.0; используйтеend_stateвместо этого (https://github.com/ansible-collections/community.general/pull/3280). - keycloak_group - возвращаемое значение
groupустарело и будет удалено в community.general 6.0.0; используйтеend_stateвместо этого (https://github.com/ansible-collections/community.general/pull/3280). - linode - параметр
backupsenabledустарел и будет удален в community.general 5.0.0 (https://github.com/ansible-collections/community.general/pull/2410). - lxd_container - текущее значение по умолчанию
trueдляignore_volatile_optionsустарело и изменится наfalseв community.general 6.0.0 (https://github.com/ansible-collections/community.general/pull/3429). - serverless - параметр
functionsустарел, поскольку он не использовался в коде (https://github.com/ansible-collections/community.general/pull/2845). - xfconf - состояние
getустарело. Следует использовать новый модульxfconf_info(https://github.com/ansible-collections/community.general/pull/3049).
community.grafana
- Просмотр grafana_dashboard lookup - Использование искажённой версии API ключа больше не приветствуется.
community.hashi_vault
- Коллекция hashi_vault - поддержка Python 2 будет удалена в версии
2.0.0community.hashi_vault(https://github.com/ansible-collections/community.hashi_vault/issues/81). - Коллекция hashi_vault - поддержка Python 3.5 будет удалена в версии
2.0.0community.hashi_vault(https://github.com/ansible-collections/community.hashi_vault/issues/81). - Просмотр hashi_vault - раздел
[lookup_hashi_vault]в файлеansible.cfgустарел и будет удален в версии коллекции3.0.0. Вместо этого можно использовать раздел[hashi_vault_collection], который будет применяться ко всем плагинам в коллекции в дальнейшем (https://github.com/ansible-collections/community.hashi_vault/pull/144).
community.kubernetes
- Коллекция
community.kubernetesпереименована вkubernetes.core. Все содержимое коллекции заменено устаревшими перенаправлениями наkubernetes.core. Если вы используете FQCN, начинающиеся сcommunity.kubernetes, обновите их доkubernetes.core(https://github.com/ansible-collections/community.kubernetes/pull/439).
community.vmware
- vmware_guest_vnc - Sphere 7.0 удалил встроенный сервер VNC (https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-esxi-vcenter-server-70-release-notes.html#productsupport).
inspur.sm
- add_ad_group - Эта функция будет удалена в inspur.sm.add_ad_group 3.0.0. Заменена на inspur.sm.ad_group.
- add_ldap_group - Эта функция будет удалена в inspur.sm.add_ldap_group 3.0.0. Заменена на inspur.sm.ldap_group.
- add_user - Эта функция будет удалена в inspur.sm.add_user 3.0.0. Заменена на inspur.sm.user.
- add_user_group - Эта функция будет удалена в inspur.sm.add_user_group 3.0.0. Заменена на inspur.sm.user_group.
- del_ad_group - Эта функция будет удалена в inspur.sm.del_ad_group 3.0.0. Заменена на inspur.sm.ad_group.
- del_ldap_group - Эта функция будет удалена в inspur.sm.del_ldap_group 3.0.0. Заменена на inspur.sm.ldap_group.
- del_user - Эта функция будет удалена в inspur.sm.del_user 3.0.0. Заменена на inspur.sm.user.
- del_user_group - Эта функция будет удалена в inspur.sm.del_user_group 3.0.0. Заменена на inspur.sm.user_group.
- edit_ad_group - Эта функция будет удалена в inspur.sm.edit_ad_group 3.0.0. Заменена на inspur.sm.ad_group.
- edit_ldap_group - Эта функция будет удалена в inspur.sm.edit_ldap_group 3.0.0. Заменена на inspur.sm.ldap_group.
- edit_user - Эта функция будет удалена в inspur.sm.edit_user 3.0.0. Заменена на inspur.sm.user.
- edit_user_group - Эта функция будет удалена в inspur.sm.edit_user_group 3.0.0. Заменена на inspur.sm.user_group.
junipernetworks.junos
- Устарел router_id из модуля ресурсов ospfv2.
- Устарел router_id из модуля ресурсов ospfv3.
- Модуль junos_logging устарел в пользу нового модуля ресурсов junos_logging_global и будет удалён в релизе после ‘2023-08-01’.
vyos.vyos
- Модуль vyos_logging устарел в пользу нового модуля ресурсов vyos_logging_global и будет удален в релизе после “2023-08-01”.
© 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_5.html