Spec-Zone.ru › Ansible

Руководство по переносу на Ansible 5

  • Плейбук
  • Обнаружение интерпретатора Python
  • Командная строка
  • Устаревшие возможности
  • Модули

    • Удалённые модули
    • Уведомления об устаревании
    • Важные изменения модулей
  • Плагины
  • Перенос пользовательских скриптов
  • Сетевые технологии
  • Руководство по переносу для версии 5.9.0

    • Добавленные коллекции
    • Основные изменения
    • Устаревшие возможности
  • Руководство по переносу для версии 5.8.0

    • Добавленные коллекции
    • Несовместимые изменения
    • Основные изменения
    • Устаревшие возможности
  • Руководство по переносу для версии 5.7.0

    • Основные изменения
    • Устаревшие возможности
  • Руководство по переносу для версии 5.6.0

    • Добавленные коллекции
    • Устаревшие возможности
  • Руководство по переносу для версии 5.5.0

    • Известные проблемы
    • Устаревшие возможности
  • Руководство по переносу для версии 5.4.0

    • Основные изменения
    • Устаревшие возможности
  • Руководство по переносу для версии 5.3.0

    • Основные изменения
    • Устаревшие возможности
  • Руководство по переносу для версии 5.2.0

    • Известные проблемы
    • Основные изменения
    • Устаревшие возможности
  • Руководство по переносу для версии 5.1.0

    • Известные проблемы
    • Основные изменения
    • Удалённые возможности
    • Устаревшие возможности
  • Руководство по переносу для версии 5.0.1

    • Основные изменения
  • Руководство по переносу для версии 5.0.0

    • Добавленные коллекции
    • Известные проблемы
    • Несовместимые изменения
    • Основные изменения
    • Удалённые возможности
    • Устаревшие возможности

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-core 2.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 теперь использует модуль Python pip, установленный для интерпретатора 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, чтобы использоваться этим модулем. В частности, известно, что помощник AUR yay пока не поддерживает эту возможность (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

Spec-Zone.ru

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