Руководство по переносу на Ansible 5
- Плейбук
- Обнаружение интерпретатора Python
- Командная строка
- Устаревшие возможности
- Плагины
- Перенос пользовательских скриптов
- Сетевые технологии
Ansible 5 основан на Ansible-core 2.12.
Рекомендуем прочитать эту страницу вместе с списком изменений Ansible 5, чтобы понять, какие обновления может потребоваться выполнить.
Плейбук
- При вызове задач и задании
asyncзадаватьANSIBLE_ASYNC_DIRвenvironment:больше нельзя. Вместо этого используйте переменную конфигурации оболочкиasync_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», его необходимо указать.
Перенос пользовательских скриптов
Существенных изменений нет
Сетевые технологии
Существенных изменений нет
Руководство по переносу для версии 5.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. В Ansible 7.0.0 содержимоеcommunity.sapбудет заменено устаревшими перенаправлениями на новую коллекцию, а позднее эти перенаправления будут удалены из 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).
Руководство по переносу для версии 5.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. Для lookup-плагина и модуля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 — удалите модуль из коллекции.
Руководство по переносу для версии 5.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объявлено устаревшим. В community.general 6.0.0 значение по умолчанию изменится наfalse. Чтобы сохранить текущее поведение, явно задайтеwant_proxmox_nodes_ansible_hostравнымtrueв конфигурации инвентаризации. Рекомендуем заранее перейти на новое поведение, явно задав значениеfalseи используяcompose:для установкиansible_hostв правильное значение. Подробности см. в примерах документации плагина (https://github.com/ansible-collections/community.general/pull/4466).
Руководство по переносу для версии 5.6.0
Добавленные коллекции
- community.sap (версия 1.0.0)
Устаревшие возможности
cisco.ios
- Модуль lldp объявлен устаревшим.
Руководство по переносу для версии 5.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 состояние
changedдляupdate_cacheбольше не будет игнорироваться, если указаныnameилиupgrade. Чтобы сохранить прежнее поведение, добавьте в задачу, например,register: resultиchanged_when: result.packages | length > 0(https://github.com/ansible-collections/community.general/pull/4329).
Руководство по переносу для версии 5.4.0
Основные изменения
chocolatey.chocolatey
- win_chocolatey — добавлен параметр choco_args для передачи дополнительных аргументов непосредственно в Chocolatey.
vyos.vyos
- В ntp_global добавлено значение ‘pool’ для ключа server.
Устаревшие возможности
cisco.ios
-
ios_acls— атрибут fragment объявлен устаревшим; вместо него добавлен логический параметр alternate с именем enable_fragment.
Руководство по переносу для версии 5.3.0
Основные изменения
f5networks.f5_modules
- bigip_device_info — добавлена логика постраничной обработки, помогающая повысить стабильность API.
- bigip_device_info — модуль больше не собирает сведения обо всех разделах устройства. Это изменение повысит стабильность модуля: он будет собирать ресурсы только из указанного раздела и не станет собирать чрезмерно большой объём данных, что могло привести к сбою.
Устаревшие возможности
community.general
- Плагин обратного вызова mail — отсутствие
senderобъявлено устаревшим; в community.general 6.0.0 это будет запрещено (https://github.com/ansible-collections/community.general/pull/4140).
Руководство по переносу для версии 5.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). Модуль не выводит корректное сообщение об ошибке, если значение destination_address содержит более 255 символов.
- ome_application_alerts_syslog — проблема (215374). Модуль не выводит корректное сообщение об ошибке, если значение destination_address содержит более 255 символов.
- ome_device_local_access_configuration — проблема (215035). Если для параметра timeout_limit указано неподдерживаемое значение, модуль сообщает
Successfully updated the local access setting. Однако это значение фактически не применяется в 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.
Руководство по переносу для версии 5.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). Модуль не выводит корректное сообщение об ошибке, если значение destination_address содержит более 255 символов.
- ome_application_alerts_syslog — проблема (215374). Модуль не выводит корректное сообщение об ошибке, если значение destination_address содержит более 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
- Добавлена поддержка драйвера secrets и параметров драйвера
Удалённые возможности
community.hashi_vault
- Удалена «устаревшая» конфигурация интеграционных тестов; это не затрагивает конечных пользователей и касается только участников разработки (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
- Утилиты модуля 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.
Руководство по переносу для версии 5.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 Tester больше не доступен с командой
ansible-test shell. HTTP Tester доступен только с командамиintegrationиwindows-integration. - ansible-test — параметр
--disable-httptesterбольше не доступен. HTTP Tester больше не является необязательным для тестов, в которых он указан. - ansible-test — параметр
--httptesterбольше не доступен. Чтобы переопределить контейнер, используемый для тестов HTTP Tester, вместо этого задайте переменную средыANSIBLE_HTTP_TEST_CONTAINER. - ansible-test — модульные тесты для
modulesиmodule_utilsтеперь могут импортировать из модуляansibleтолькоansible.module_utils. - условные выражения — условные выражения
whenбольше не преобразуют автоматически строковые логические значения, например"true"и"false", в настоящие логические значения. Теперь любая непустая строка считается истинной. Переменная конфигурацииCONDITIONAL_BARE_VARSбольше не оказывает никакого влияния. - hostname — удалена оставшаяся поддержка Python 2.4; для упрощения кода обработки исключений используется
with open(), что позволяет устранить утечки файловых дескрипторов в нескольких местах. - hostname — во FreeBSD строка
temporarystubбольше не записывается в файл имени хоста методами получения (и в check_mode). В результате имя хоста по умолчанию теперь отображается как''(пустая строка), а не какtemporarystub, для согласованности с другими стратегиями. Это означает, что результатbeforeбудет отличаться. - hostname — в системах 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 (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). - Вспомогательные модули обеспечения совместимости — удалена встроенная копия библиотеки Python
ipaddress(https://github.com/ansible-collections/community.crypto/pull/287). - Вспомогательные криптографические модули — удален код обеспечения совместимости (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 — полностью переписаны и переработаны для поддержки нового JSON API и повторного использования логики модулей, не зависящей от поставщика (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по умолчанию: теперь, если в файле compose заданstop_grace_period, он будет использоваться, когда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), необходимо скорректировать роли и плейбуки. Рекомендуем использовать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 для ролей стала Ansible 2.10 (см. проблему 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 — возвращаемые API представлены в виде списка, чтобы избежать перезаписи при наличии нескольких версий (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 — теперь все плагины «облака», использующие контейнеры, можно применять со всеми узлами 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 — для запуска
ansible-testтеперь требуется Python 3.8–3.10, что соответствует требованиям Ansible к версии Python на контроллере. Более старые версии Python (2.6–2.7 и 3.5–3.10) по-прежнему можно использовать в качестве целевых для соответствующих тестов. - ansible-test — для предоставления доступа к портам контейнеров на узлах без контейнеров теперь используется исключительно перенаправление портов и трафика SSH. При тестировании в POSIX-системах для этого требуется вход по SSH от имени root. Ранее перенаправление портов SSH сочеталось с правилами брандмауэра или другими способами перенаправления портов, при этом некоторые платформы не поддерживались.
- ansible-test — тесты sanity всегда выполняются в изолированных виртуальных окружениях Python, соответствующих требованиям каждого теста. Окружения кэшируются.
- ansible-test — тесты sanity теперь разделены на две категории: для контроллера и для целевого узла. Все тесты, кроме
importиcompile, относятся к тестам контроллера. Тесты контроллера всегда выполняются с той же версией Python, что иansible-test. В тестах целевого узла используются указанные пользователем версии Python или все доступные версии. - ansible-test — в тестах sanity теперь используются полностью фиксированные требования, независимые друг от друга и от других типов тестов.
- ansible-test — при запуске тестов с использованием тестовых контейнеров
centos6иdefaultдля доступа к PyPI теперь используется контейнер-прокси PyPI, если применяется Python 2.6. Это позволяет тестам, выполняемым с Python 2.6, продолжать работу, несмотря на прекращение поддержки PyPI клиентов без поддержки SNI. - ansible-test — тесты sanity
future-import-boilerplateиmetaclass-boilerplateограничены кодом, выполняемым только на удаленных узлах. Кроме того, они пропускаются для коллекций, в которых не заявлена поддержка Python 2.x. - ansible-test — тесты sanity
importиcompileограничивают проверку версий Python только для удаленного кода. - ansible-test — для модульных тестов кода, работающего только на контроллере, теперь требуется Python 3.8 или новее.
- ansible-test — для версионно-независимых тестов sanity теперь требуется 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 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 для возврата значений информационных модулей.
- Добавляет ise_update_response для возврата значений модулей, не являющихся информационными.
- Исправлена внутренняя логика модулей, в которых отсутствует get by name и не работает фильтр.
- Модуль 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 — включение турборежима для плагинов поиска
cloudscale_ch.cloud
- Добавлен модуль custom_image
community.aws
- Коллекция community.aws — коллекция community.aws прекратила поддержку
botocore<1.18.0иboto3<1.15.0(https://github.com/ansible-collections/community.aws/pull/711). Большинство модулей продолжит работать со старыми версиями AWS 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 с подмножеством по умолчанию и модульными тестами
- Канонизация имен интерфейсов
- Преобразование коллекции qaxi.ciscosmb в community.ciscosmb
- Преобразование community.ciscosmb.ciscosmb_command в community.ciscosmb.command
- Преобразование community.ciscosmb.ciscosmb_facts в community.ciscosmb.facts
- Модульные тесты для 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 — в community.postgresql 2.0.0 значение параметра
as_single_queryпо умолчанию будет изменено наyes(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
- В раздел примеров некоторых модулей конфигурации добавлены реальные сценарии использования.
- Собраны текущие конфигурации модулей и преобразованы в плейбуки.
- Улучшен
fortios_configuration_fact: теперь можно одновременно использовать несколько селекторов. - Добавлен новый модуль fortios_monitor_fact.
- Добавлена поддержка FortiOS 7.0.1.
- Добавлена поддержка Fortios 7.0.
- Добавлена поддержка API журналов.
- Добавлена поддержка
check_modeво всех модулях на основе configurationAPI. - Добавлена поддержка фильтрации для модулей сбора фактов
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 Patch никогда не работала (https://github.com/ansible-collections/kubernetes.core/pull/99).
- k8s_json_patch — функция JSON Patch вынесена в отдельный модуль (https://github.com/ansible-collections/kubernetes.core/pull/99).
- Клиент openshift заменен на официальный клиент kubernetes (https://github.com/ansible-collections/kubernetes.core/issues/34).
netapp.cloudmanager
- Во все модули cloudmanager добавлена среда stage
netbox.netbox
- packages теперь является обязательным пакетом 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
- Все скрипты inventory и vault из community.general перенесены в репозиторий contrib-scripts на GitHub (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).
- Плагины поиска 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
- Удалено тестирование с provider для заданий интеграции ansible-test. Это поможет подготовиться к переходу на интеграционные тесты network-ee.
cisco.ios
- Модуль ios_bgp устарел; вместо него используйте ios_bgp_global и ios_bgp_address_family.
- Модули ios_ntp устарели.
- Удалено тестирование с provider для заданий интеграции 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устарела. Вместо этого рекомендуется использовать плагин поиска для чтения файлов; пример см. в документации (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_* — ACME версии 1 теперь считается устаревшей; её поддержка будет удалена в 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 — новое значение по умолчанию
compatibilityдляcommand_handlingустарело и будет изменено на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. Для Ansible 2.9 и ansible-base 2.10 используйте community.general 4.x.y: эти выпуски продолжат поддерживать 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 — передавать искажённую версию ключа API больше не рекомендуется.
community.hashi_vault
- Коллекция hashi_vault — поддержка Python 2 будет прекращена в версии
2.0.0коллекцииcommunity.hashi_vault(https://github.com/ansible-collections/community.hashi_vault/issues/81). - Коллекция hashi_vault — поддержка Python 3.5 будет прекращена в версии
2.0.0коллекцииcommunity.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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/porting_guides/porting_guide_5.html