Ansible 3 Porting Guide
Ansible 3 is based on Ansible-Base 2.10, which is the same major release as Ansible 2.10. Therefore, there is no section on ansible-base in this porting guide. If you are upgrading from Ansible 2.9, please first consult the Ansible 2.10 porting guide before continuing with the Ansible 3 porting guide.
We suggest you read this page along with the Ansible Changelog for 3.0 to understand what updates you may need to make.
Note
Due to a scheduling conflict, the latest version of Ansible 2.10 (2.10.7) has a few collections which are newer than Ansible 3.0.0. Ansible 3.1.0 will contain updated versions of those collections.
Porting Guide for v3.0.0
Breaking Changes
Ansible-base
- ansible-galaxy login command has been removed (see https://github.com/ansible/ansible/issues/71560)
ansible.utils
- If added custom sub plugins in your collection move from old location
plugins/<sub-plugin-name>to the new locationplugins/sub_plugins/<sub-plugin-name>and update the imports as required - Move sub plugins cli_parsers, fact_diff and validate to
plugins/sub_pluginsfolder - The
cli_parserssub plugins folder name is changed tocli_parseto have consistent naming convention, that is all the cli_parse subplugins will now be inplugins/sub_plugins/cli_parsefolder
cloudscale_ch.cloud
- floating_ip -
nameis required for assigning a new floating IP.
community.general
-
If you use Ansible 2.9 and the Google cloud plugins or modules from this collection, community.general 2.0.0 results in errors when trying to use the Google cloud content by FQCN, like
community.general.gce_img. Since Ansible 2.9 is not able to use redirections, you will have to adjust your playbooks and roles manually to use the new FQCNs (community.google.gce_imgfor the previous example) and to make sure that you havecommunity.googleinstalled.If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.general manually, you need to make sure to also install the
community.googleorgoogle.cloudcollections if you are using any of the Google cloud plugins or modules. While ansible-base 2.10 or newer can use the redirects that community.general 2.0.0 adds, the collection they point to (such as community.google) must be installed for them to work. -
If you use Ansible 2.9 and the Kubevirt plugins or modules from this collection, community.general 2.0.0 results in errors when trying to use the Kubevirt content by FQCN, like
community.general.kubevirt_vm. Since Ansible 2.9 is not able to use redirections, you will have to adjust your playbooks and roles manually to use the new FQCNs (community.kubevirt.kubevirt_vmfor the previous example) and to make sure that you havecommunity.kubevirtinstalled.If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.general manually, you need to make sure to also install the
community.kubevirtcollection if you are using any of the Kubevirt plugins or modules. While ansible-base 2.10 or newer can use the redirects that community.general 2.0.0 adds, the collection they point to (such as community.google) must be installed for them to work. -
If you use Ansible 2.9 and the
dockerplugins or modules from this collections, community.general 2.0.0 results in errors when trying to use the docker content by FQCN, likecommunity.general.docker_container. Since Ansible 2.9 is not able to use redirections, you will have to adjust your playbooks and roles manually to use the new FQCNs (community.docker.docker_containerfor the previous example) and to make sure that you havecommunity.dockerinstalled.If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.general manually, you need to make sure to also install
community.dockerif you are using any of thedockerplugins or modules. While ansible-base 2.10 or newer can use the redirects that community.general 2.0.0 adds, the collection they point to (community.docker) must be installed for them to work. -
If you use Ansible 2.9 and the
hashi_vaultlookup plugin from this collections, community.general 2.0.0 results in errors when trying to use the Hashi Vault content by FQCN, likecommunity.general.hashi_vault. Since Ansible 2.9 is not able to use redirections, you will have to adjust your inventories, variable files, playbooks and roles manually to use the new FQCN (community.hashi_vault.hashi_vault) and to make sure that you havecommunity.hashi_vaultinstalled.If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.general manually, you need to make sure to also install
community.hashi_vaultif you are using thehashi_vaultplugin. While ansible-base 2.10 or newer can use the redirects that community.general 2.0.0 adds, the collection they point to (community.hashi_vault) must be installed for them to work. -
If you use Ansible 2.9 and the
hetznermodules from this collections, community.general 2.0.0 results in errors when trying to use the hetzner content by FQCN, likecommunity.general.hetzner_firewall. Since Ansible 2.9 is not able to use redirections, you will have to adjust your playbooks and roles manually to use the new FQCNs (community.hrobot.firewallfor the previous example) and to make sure that you havecommunity.hrobotinstalled.If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.general manually, you need to make sure to also install
community.hrobotif you are using any of thehetznermodules. While ansible-base 2.10 or newer can use the redirects that community.general 2.0.0 adds, the collection they point to (community.hrobot) must be installed for them to work. -
If you use Ansible 2.9 and the
occonnection plugin from this collections, community.general 2.0.0 results in errors when trying to use the oc content by FQCN, likecommunity.general.oc. Since Ansible 2.9 is not able to use redirections, you will have to adjust your inventories, variable files, playbooks and roles manually to use the new FQCN (community.okd.oc) and to make sure that you havecommunity.okdinstalled.If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.general manually, you need to make sure to also install
community.okdif you are using theocplugin. While ansible-base 2.10 or newer can use the redirects that community.general 2.0.0 adds, the collection they point to (community.okd) must be installed for them to work. -
If you use Ansible 2.9 and the
postgresqlmodules from this collections, community.general 2.0.0 results in errors when trying to use the postgresql content by FQCN, likecommunity.general.postgresql_info. Since Ansible 2.9 is not able to use redirections, you will have to adjust your playbooks and roles manually to use the new FQCNs (community.postgresql.postgresql_infofor the previous example) and to make sure that you havecommunity.postgresqlinstalled.If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.general manually, you need to make sure to also install
community.postgresqlif you are using any of thepostgresqlmodules. While ansible-base 2.10 or newer can use the redirects that community.general 2.0.0 adds, the collection they point to (community.postgresql) must be installed for them to work. - The Google cloud inventory script
gce.pyhas been migrated to thecommunity.googlecollection. Install thecommunity.googlecollection in order to continue using it. - archive - remove path folder itself when
removeparamater is true (https://github.com/ansible-collections/community.general/issues/1041). - log_plays callback - add missing information to the logs generated by the callback plugin. This changes the log message format (https://github.com/ansible-collections/community.general/pull/442).
- passwordstore lookup plugin - now parsing a password store entry as YAML if possible, skipping the first line (which by convention only contains the password and nothing else). If it cannot be parsed as YAML, the old
key: valueparser will be used to process the entry. Can break backwards compatibility if YAML formatted code was parsed in a non-YAML interpreted way, e.g.foo: [bar, baz]will become a list with two elements in the new version, but a string'[bar, baz]'in the old (https://github.com/ansible-collections/community.general/issues/1673). - pkgng - passing
name: *withstate: absentwill no longer remove every installed package from the system. It is now a noop. (https://github.com/ansible-collections/community.general/pull/569). - pkgng - passing
name: *withstate: latestorstate: presentwill no longer install every package from the configured package repositories. Instead,name: *, state: latestwill upgrade all already-installed packages, andname: *, state: presentis a noop. (https://github.com/ansible-collections/community.general/pull/569). - proxmox_kvm - recognize
force=yesin conjunction withstate=absentto forcibly remove a running VM (https://github.com/ansible-collections/community.general/pull/849). - utm_proxy_auth_profile - the
frontend_cookie_secretreturn value now contains a placeholder string instead of the module’sfrontend_cookie_secretparameter (https://github.com/ansible-collections/community.general/pull/1736).
community.hashi_vault
- hashi_vault - the
VAULT_ADDRenvironment variable is now checked last for theurlparameter. For details on which use cases are impacted, see (https://github.com/ansible-collections/community.hashi_vault/issues/8).
community.hrobot
- firewall - now requires the ipaddress library (https://github.com/ansible-collections/community.hrobot/pull/2).
community.network
-
If you use Ansible 2.9 and the FortiOS modules from this collection, community.network 2.0.0 results in errors when trying to use the FortiOS content by FQCN, like
community.network.fmgr_device. Since Ansible 2.9 is not able to use redirections, you will have to adjust your playbooks and roles manually to use the new FQCNs (community.fortios.fmgr_devicefor the previous example) and to make sure that you havecommunity.fortiosinstalled.If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.network manually, you need to make sure to also install
community.fortiosif you are using any of the FortiOS modules. While ansible-base 2.10 or newer can use the redirects that community.network 2.0.0 adds, the collection they point to (community.fortios) must be installed for them to work. - If you use Ansible 2.9 and the
cp_publishmodule from this collection, community.network 2.0.0 results in errors when trying to use the module by FQCN, i.e.community.network.cp_publish. Since Ansible 2.9 is not able to use redirections, you will have to adjust your playbooks and roles manually to use the new FQCNs (check_point.mgmt.cp_mgmt_publish) and to make sure that you havecheck_point.mgmtinstalled. If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.network manually, you need to make sure to also installcheck_point.mgmtif you are using thecp_publishmodule. While ansible-base 2.10 or newer can use the redirects that community.network 2.0.0 adds, the collection they point to (check_point.mgmt) must be installed for them to work. -
If you use Ansible 2.9 and the
fortimanagerhttpapi plugin from this collection, community.network 2.0.0 results in errors when trying to use it by FQCN (community.network.fortimanager). Since Ansible 2.9 is not able to use redirections, you will have to adjust your playbooks and roles manually to use the new FQCNfortinet.fortimanager.fortimanagerand to make sure that you havefortinet.fortimanagerinstalled.If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.network manually, you need to make sure to also install
fortinet.fortimanagerif you are using thefortimanagerhttpapi plugin. While ansible-base 2.10 or newer can use the redirect that community.network 2.0.0 adds, the collection they point to (fortinet.fortimanager) must be installed for it to work. -
If you use Ansible 2.9 and the
nsomodules from this collection, community.network 2.0.0 results in errors when trying to use the nso content by FQCN, likecommunity.network.nso_config. Since Ansible 2.9 is not able to use redirections, you will have to adjust your playbooks and roles manually to use the new FQCNs (cisco.nso.nso_configfor the previous example) and to make sure that you havecisco.nsoinstalled.If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.network manually, you need to make sure to also install
cisco.nsoif you are using any of thensomodules. While ansible-base 2.10 or newer can use the redirects that community.network 2.0.0 adds, the collection they point to (cisco.nso) must be installed for them to work. -
If you use Ansible 2.9 and the
routerosplugins or modules from this collections, community.network 2.0.0 results in errors when trying to use the routeros content by FQCN, likecommunity.network.routeros_command. Since Ansible 2.9 is not able to use redirections, you will have to adjust your playbooks and roles manually to use the new FQCNs (community.routeros.commandfor the previous example) and to make sure that you havecommunity.routerosinstalled.If you use ansible-base 2.10 or newer and did not install Ansible 3.0.0, but installed (and/or upgraded) community.network manually, you need to make sure to also install
community.routerosif you are using any of therouterosplugins or modules. While ansible-base 2.10 or newer can use the redirects that community.network 2.0.0 adds, the collection they point to (community.routeros) must be installed for them to work. - cnos_static_route - move ipaddress import from ansible.netcommon to builtin or package before ipaddress is removed from ansible.netcommon. You need to make sure to have the ipaddress package installed if you are using this module on Python 2.7 (https://github.com/ansible-collections/community.network/pull/129).
dellemc.os10
- os10_bgp - Changed “subnet” key as list format instead of dictionary format under “listen” key to support multiple neighbor prefix for listen command
- os10_bgp - Changed “vrf” key as list format instead of dictionary format to supprot multiple VRF in router BGP and changed the “vrf” key name to “vrfs”
ngine_io.cloudstack
- Authentication option using INI files e.g.
cloudstack.inihas been removed. The only supported option to authenticate is by using the module params with fallback to the ENV variables. - default zone deprecation - The
zoneparam default value, across multiple modules, has been deprecated due to unreliable API (https://github.com/ngine-io/ansible-collection-cloudstack/pull/62).
Major Changes
cisco.aci
- Change certificate_name to name in aci_aaa_user_certificate module for query operation
community.general
-
For community.general 3.0.0, the
ome_device_info,idrac_firmwareandidrac_server_config_profilemodules will be moved to the dellemc.openmanage collection. A redirection will be inserted so that users using ansible-base 2.10 or newer do not have to change anything.If you use Ansible 2.9 and explicitly use the DellEMC modules mentioned above from this collection, you will need to adjust your playbooks and roles to use FQCNs starting with
dellemc.openmanage.instead ofcommunity.general., for example replacecommunity.general.ome_device_infoin a task bydellemc.openmanage.ome_device_info.If you use ansible-base and installed
community.generalmanually and rely on the DellEMC modules mentioned above, you have to make sure to install thedellemc.openmanagecollection as well. If you are using FQCNs, for examplecommunity.general.ome_device_infoinstead ofome_device_info, it will continue working, but we still recommend to adjust the FQCNs as well. - The community.general collection no longer depends on the ansible.netcommon collection (https://github.com/ansible-collections/community.general/pull/1561).
- The community.general collection no longer depends on the ansible.posix collection (https://github.com/ansible-collections/community.general/pull/1157).
community.kubernetes
- k8s - Add support for template parameter (https://github.com/ansible-collections/community.kubernetes/pull/230).
- k8s_* - Add support for vaulted kubeconfig and src (https://github.com/ansible-collections/community.kubernetes/pull/193).
community.okd
- Add custom k8s module, integrate better Molecule tests (https://github.com/ansible-collections/community.okd/pull/7).
- Add downstream build scripts to build redhat.openshift (https://github.com/ansible-collections/community.okd/pull/20).
- Add openshift connection plugin, update inventory plugin to use it (https://github.com/ansible-collections/community.okd/pull/18).
- Add openshift_process module for template rendering and optional application of rendered resources (https://github.com/ansible-collections/community.okd/pull/44).
- Add openshift_route module for creating routes from services (https://github.com/ansible-collections/community.okd/pull/40).
- Initial content migration from community.kubernetes (https://github.com/ansible-collections/community.okd/pull/3).
- openshift_auth - new module (migrated from k8s_auth in community.kubernetes) (https://github.com/ansible-collections/community.okd/pull/33).
dellemc.os10
- os10_bgp - Enhanced router bgp keyword support for non-default vrf which are supported for default vrf and additional keyword to support both default and non-default vrf
- os10_snmp role - Added support for snmp V3 features in community, group, host, engineID
f5networks.f5_modules
- Add phone home Teem integration into all modules, functionality can be disabled by setting up F5_TEEM environment variable or no_f5_teem provider parameter
- Added async_timeout parameter to bigip_ucs_fetch module to allow customization of module wait for async interface
- Changed bigip_ucs_fetch module to use asynchronous interface when generating UCS files
kubernetes.core
- Add changelog and fragments and document changelog process (https://github.com/ansible-collections/kubernetes.core/pull/131).
- helm - New module for managing Helm charts (https://github.com/ansible-collections/kubernetes.core/pull/61).
- helm_info - New module for retrieving Helm chart information (https://github.com/ansible-collections/kubernetes.core/pull/61).
- helm_plugin - new module to manage Helm plugins (https://github.com/ansible-collections/kubernetes.core/pull/154).
- helm_plugin_info - new modules to gather information about Helm plugins (https://github.com/ansible-collections/kubernetes.core/pull/154).
- helm_repository - New module for managing Helm repositories (https://github.com/ansible-collections/kubernetes.core/pull/61).
- k8s - Add support for template parameter (https://github.com/ansible-collections/kubernetes.core/pull/230).
- k8s - Inventory source migrated from Ansible 2.9 to Kubernetes collection.
- k8s - Lookup plugin migrated from Ansible 2.9 to Kubernetes collection.
- k8s - Module migrated from Ansible 2.9 to Kubernetes collection.
- k8s_* - Add support for vaulted kubeconfig and src (https://github.com/ansible-collections/kubernetes.core/pull/193).
- k8s_auth - Module migrated from Ansible 2.9 to Kubernetes collection.
- k8s_config_resource_name - Filter plugin migrated from Ansible 2.9 to Kubernetes collection.
- k8s_exec - New module for executing commands on pods via Kubernetes API (https://github.com/ansible-collections/kubernetes.core/pull/14).
- k8s_exec - Return rc for the command executed (https://github.com/ansible-collections/kubernetes.core/pull/158).
- k8s_info - Module migrated from Ansible 2.9 to Kubernetes collection.
- k8s_log - New module for retrieving pod logs (https://github.com/ansible-collections/kubernetes.core/pull/16).
- k8s_scale - Module migrated from Ansible 2.9 to Kubernetes collection.
- k8s_service - Module migrated from Ansible 2.9 to Kubernetes collection.
- kubectl - Connection plugin migrated from Ansible 2.9 to Kubernetes collection.
- openshift - Inventory source migrated from Ansible 2.9 to Kubernetes collection.
netbox.netbox
- nb_inventory - Add
dns_nameoption that addsdns_nameto the host whenTrueand device has a primary IP address. (#394) - nb_inventory - Add
statusas agroup_byoption. (398) - nb_inventory - Move around
extracted_primary_ipto allow forconfig_contextorcustom_fieldto overwite. (#377) - nb_inventory - Services are now a list of integers due to NetBox 2.10 changes. (#396)
- nb_lookup - Allow ID to be passed in and use
.getinstead of.filter. (#376) - nb_lookup - Allow
api_endpointandtokento be found via env. (#391)
ovirt.ovirt
- cluster_upgrade - Migrate role (https://github.com/oVirt/ovirt-ansible-collection/pull/94).
- disaster_recovery - Migrate role (https://github.com/oVirt/ovirt-ansible-collection/pull/134).
- engine_setup - Migrate role (https://github.com/oVirt/ovirt-ansible-collection/pull/69).
- hosted_engine_setup - Migrate role (https://github.com/oVirt/ovirt-ansible-collection/pull/106).
- image_template - Migrate role (https://github.com/oVirt/ovirt-ansible-collection/pull/95).
- infra - Migrate role (https://github.com/oVirt/ovirt-ansible-collection/pull/92).
- manageiq - Migrate role (https://github.com/oVirt/ovirt-ansible-collection/pull/97).
- ovirt_system_option_info - Add new module (https://github.com/oVirt/ovirt-ansible-collection/pull/206).
- repositories - Migrate role (https://github.com/oVirt/ovirt-ansible-collection/pull/96).
- shutdown_env - Migrate role (https://github.com/oVirt/ovirt-ansible-collection/pull/112).
- vm_infra - Migrate role (https://github.com/oVirt/ovirt-ansible-collection/pull/93).
servicenow.servicenow
- add new tests (find with no result, search many)
- add related tests
- add support for ServiceNOW table api display_value exclude_reference_link and suppress_pagination_header
- use new API for pysnow >=0.6.0
Removed Features
community.docker
- docker_container - no longer returns
ansible_facts(https://github.com/ansible-collections/community.docker/pull/1). - docker_container - the default of
networks_cli_compatiblechanged totrue(https://github.com/ansible-collections/community.docker/pull/1). - docker_container - the unused option
trust_image_contenthas been removed (https://github.com/ansible-collections/community.docker/pull/1). - docker_image -
state=buildhas been removed. Usepresentinstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_image - the
container_limits,dockerfile,http_timeout,nocache,rm,path,buildargs,pullhave been removed. Use the corresponding suboptions ofbuildinstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_image - the
forceoption has been removed. Use the more specificforce_*options instead (https://github.com/ansible-collections/community.docker/pull/1). - docker_image - the
sourceoption is now mandatory (https://github.com/ansible-collections/community.docker/pull/1). - docker_image - the
use_tlsoption has been removed. Usetlsandvalidate_certsinstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_image - the default of the
build.pulloption changed tofalse(https://github.com/ansible-collections/community.docker/pull/1). - docker_image_facts - this alias is on longer availabe, use
docker_image_infoinstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_network - no longer returns
ansible_facts(https://github.com/ansible-collections/community.docker/pull/1). - docker_network - the
ipam_optionsoption has been removed. Useipam_configinstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_service - no longer returns
ansible_facts(https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm -
state=inspecthas been removed. Usedocker_swarm_infoinstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service - the
constraintsoption has been removed. Useplacement.constraintsinstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service - the
limit_cpuandlimit_memoryoptions has been removed. Use the corresponding suboptions inlimitsinstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service - the
log_driverandlog_driver_optionsoptions has been removed. Use the corresponding suboptions inlogginginstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service - the
reserve_cpuandreserve_memoryoptions has been removed. Use the corresponding suboptions inreservationsinstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service - the
restart_policy,restart_policy_attempts,restart_policy_delayandrestart_policy_windowoptions has been removed. Use the corresponding suboptions inrestart_configinstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service - the
update_delay,update_parallelism,update_failure_action,update_monitor,update_max_failure_ratioandupdate_orderoptions has been removed. Use the corresponding suboptions inupdate_configinstead (https://github.com/ansible-collections/community.docker/pull/1). - docker_volume - no longer returns
ansible_facts(https://github.com/ansible-collections/community.docker/pull/1). - docker_volume - the
forceoption has been removed. Userecreateinstead (https://github.com/ansible-collections/community.docker/pull/1).
community.general
-
All Google cloud modules and plugins have now been migrated away from this collection. They can be found in either the community.google or google.cloud collections. If you use ansible-base 2.10 or newer, redirections have been provided.
If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (
community.general.gce_img→community.google.gce_img) and make sure to install the community.google or google.cloud collections as appropriate. -
All Kubevirt modules and plugins have now been migrated from community.general to the community.kubevirt Ansible collection. If you use ansible-base 2.10 or newer, redirections have been provided.
If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (
community.general.kubevirt_vm→community.kubevirt.kubevirt_vm) and make sure to install the community.kubevirt collection. -
All
dockermodules and plugins have been removed from this collection. They have been migrated to the community.docker collection. If you use ansible-base 2.10 or newer, redirections have been provided.If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (
community.general.docker_container→community.docker.docker_container) and make sure to install the community.docker collection. -
All
hetznermodules have been removed from this collection. They have been migrated to the community.hrobot collection. If you use ansible-base 2.10 or newer, redirections have been provided.If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (
community.general.hetzner_firewall→community.hrobot.firewall) and make sure to install the community.hrobot collection. -
All
postgresqlmodules have been removed from this collection. They have been migrated to the community.postgresql collection.If you use ansible-base 2.10 or newer, redirections have been provided. If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (
community.general.postgresql_info→community.postgresql.postgresql_info) and make sure to install the community.postgresql collection. - The Google cloud inventory script
gce.pyhas been migrated to thecommunity.googlecollection. Install thecommunity.googlecollection in order to continue using it. -
The
hashi_vaultlookup plugin has been removed from this collection. It has been migrated to the community.hashi_vault collection. If you use ansible-base 2.10 or newer, redirections have been provided.If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (
community.general.hashi_vault→community.hashi_vault.hashi_vault) and make sure to install the community.hashi_vault collection. -
The
occonnection plugin has been removed from this collection. It has been migrated to the community.okd collection. If you use ansible-base 2.10 or newer, redirections have been provided.If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (
community.general.oc→community.okd.oc) and make sure to install the community.okd collection. - The deprecated
actionablecallback plugin has been removed. Use theansible.builtin.defaultcallback plugin withdisplay_skipped_hosts = noanddisplay_ok_hosts = nooptions instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
foremanmodule has been removed. Use the modules from the theforeman.foreman collection instead (https://github.com/ansible-collections/community.general/pull/1347) (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
full_skipcallback plugin has been removed. Use theansible.builtin.defaultcallback plugin withdisplay_skipped_hosts = nooption instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
gcdns_recordmodule has been removed. Usegoogle.cloud.gcp_dns_resource_record_setinstead (https://github.com/ansible-collections/community.general/pull/1370). - The deprecated
gcdns_zonemodule has been removed. Usegoogle.cloud.gcp_dns_managed_zoneinstead (https://github.com/ansible-collections/community.general/pull/1370). - The deprecated
gcemodule has been removed. Usegoogle.cloud.gcp_compute_instanceinstead (https://github.com/ansible-collections/community.general/pull/1370). - The deprecated
gcp_backend_servicemodule has been removed. Usegoogle.cloud.gcp_compute_backend_serviceinstead (https://github.com/ansible-collections/community.general/pull/1370). - The deprecated
gcp_forwarding_rulemodule has been removed. Usegoogle.cloud.gcp_compute_forwarding_ruleorgoogle.cloud.gcp_compute_global_forwarding_ruleinstead (https://github.com/ansible-collections/community.general/pull/1370). - The deprecated
gcp_healthcheckmodule has been removed. Usegoogle.cloud.gcp_compute_health_check,google.cloud.gcp_compute_http_health_checkorgoogle.cloud.gcp_compute_https_health_checkinstead (https://github.com/ansible-collections/community.general/pull/1370). - The deprecated
gcp_target_proxymodule has been removed. Usegoogle.cloud.gcp_compute_target_http_proxyinstead (https://github.com/ansible-collections/community.general/pull/1370). - The deprecated
gcp_url_mapmodule has been removed. Usegoogle.cloud.gcp_compute_url_mapinstead (https://github.com/ansible-collections/community.general/pull/1370). - The deprecated
gcspannermodule has been removed. Usegoogle.cloud.gcp_spanner_databaseand/orgoogle.cloud.gcp_spanner_instanceinstead (https://github.com/ansible-collections/community.general/pull/1370). - The deprecated
github_hooksmodule has been removed. Usecommunity.general.github_webhookandcommunity.general.github_webhook_infoinstead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
katellomodule has been removed. Use the modules from the theforeman.foreman collection instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
na_cdot_aggregatemodule has been removed. Use netapp.ontap.na_ontap_aggregate instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
na_cdot_licensemodule has been removed. Use netapp.ontap.na_ontap_license instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
na_cdot_lunmodule has been removed. Use netapp.ontap.na_ontap_lun instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
na_cdot_qtreemodule has been removed. Use netapp.ontap.na_ontap_qtree instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
na_cdot_svmmodule has been removed. Use netapp.ontap.na_ontap_svm instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
na_cdot_user_rolemodule has been removed. Use netapp.ontap.na_ontap_user_role instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
na_cdot_usermodule has been removed. Use netapp.ontap.na_ontap_user instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
na_cdot_volumemodule has been removed. Use netapp.ontap.na_ontap_volume instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
sf_account_managermodule has been removed. Use netapp.elementsw.na_elementsw_account instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
sf_check_connectionsmodule has been removed. Use netapp.elementsw.na_elementsw_check_connections instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
sf_snapshot_schedule_managermodule has been removed. Use netapp.elementsw.na_elementsw_snapshot_schedule instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
sf_volume_access_group_managermodule has been removed. Use netapp.elementsw.na_elementsw_access_group instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
sf_volume_managermodule has been removed. Use netapp.elementsw.na_elementsw_volume instead (https://github.com/ansible-collections/community.general/pull/1347). - The deprecated
stderrcallback plugin has been removed. Use theansible.builtin.defaultcallback plugin withdisplay_failed_stderr = yesoption instead (https://github.com/ansible-collections/community.general/pull/1347). - The redirect of the
conjur_variablelookup plugin tocyberark.conjur.conjur_variablecollection was removed (https://github.com/ansible-collections/community.general/pull/1346). - The redirect of the
firewalldmodule and thefirewalldmodule_utils to theansible.posixcollection was removed (https://github.com/ansible-collections/community.general/pull/1346). - The redirect to the
community.digitaloceancollection was removed for: thedigital_oceandoc fragment, thedigital_oceanmodule_utils, and the following modules:digital_ocean,digital_ocean_account_facts,digital_ocean_account_info,digital_ocean_block_storage,digital_ocean_certificate,digital_ocean_certificate_facts,digital_ocean_certificate_info,digital_ocean_domain,digital_ocean_domain_facts,digital_ocean_domain_info,digital_ocean_droplet,digital_ocean_firewall_facts,digital_ocean_firewall_info,digital_ocean_floating_ip,digital_ocean_floating_ip_facts,digital_ocean_floating_ip_info,digital_ocean_image_facts,digital_ocean_image_info,digital_ocean_load_balancer_facts,digital_ocean_load_balancer_info,digital_ocean_region_facts,digital_ocean_region_info,digital_ocean_size_facts,digital_ocean_size_info,digital_ocean_snapshot_facts,digital_ocean_snapshot_info,digital_ocean_sshkey,digital_ocean_sshkey_facts,digital_ocean_sshkey_info,digital_ocean_tag,digital_ocean_tag_facts,digital_ocean_tag_info,digital_ocean_volume_facts,digital_ocean_volume_info(https://github.com/ansible-collections/community.general/pull/1346). - The redirect to the
community.mysqlcollection was removed for: themysqldoc fragment, themysqlmodule_utils, and the following modules:mysql_db,mysql_info,mysql_query,mysql_replication,mysql_user,mysql_variables(https://github.com/ansible-collections/community.general/pull/1346). - The redirect to the
community.proxysqlcollection was removed for: theproxysqldoc fragment, and the following modules:proxysql_backend_servers,proxysql_global_variables,proxysql_manage_config,proxysql_mysql_users,proxysql_query_rules,proxysql_replication_hostgroups,proxysql_scheduler(https://github.com/ansible-collections/community.general/pull/1346). - The redirect to the
infinidat.infiniboxcollection was removed for: theinfiniboxdoc fragment, theinfiniboxmodule_utils, and the following modules:infini_export,infini_export_client,infini_fs,infini_host,infini_pool,infini_vol(https://github.com/ansible-collections/community.general/pull/1346). - conjur_variable lookup - has been moved to the
cyberark.conjurcollection. A redirection is active, which will be removed in version 2.0.0 (https://github.com/ansible-collections/community.general/pull/570). - digital_ocean_* - all DigitalOcean modules have been moved to the
community.digitaloceancollection. A redirection is active, which will be removed in version 2.0.0 (https://github.com/ansible-collections/community.general/pull/622). - infini_* - all infinidat modules have been moved to the
infinidat.infiniboxcollection. A redirection is active, which will be removed in version 2.0.0 (https://github.com/ansible-collections/community.general/pull/607). - iptables_state - the
ANSIBLE_ASYNC_DIRenvironment is no longer supported, use theasync_dirshell option instead (https://github.com/ansible-collections/community.general/pull/1371). - logicmonitor - the module has been removed in 1.0.0 since it is unmaintained and the API used by the module has been turned off in 2017 (https://github.com/ansible-collections/community.general/issues/539, https://github.com/ansible-collections/community.general/pull/541).
- logicmonitor_facts - the module has been removed in 1.0.0 since it is unmaintained and the API used by the module has been turned off in 2017 (https://github.com/ansible-collections/community.general/issues/539, https://github.com/ansible-collections/community.general/pull/541).
- memcached cache plugin - do not import
CacheModule``s directly. Use ``ansible.plugins.loader.cache_loaderinstead (https://github.com/ansible-collections/community.general/pull/1371). - mysql_* - all MySQL modules have been moved to the
community.mysqlcollection. A redirection is active, which will be removed in version 2.0.0 (https://github.com/ansible-collections/community.general/pull/633). - proxysql_* - all ProxySQL modules have been moved to the
community.proxysqlcollection. A redirection is active, which will be removed in version 2.0.0 (https://github.com/ansible-collections/community.general/pull/624). - redis cache plugin - do not import
CacheModule``s directly. Use ``ansible.plugins.loader.cache_loaderinstead (https://github.com/ansible-collections/community.general/pull/1371). - xml - when
content=attribute, theattributeoption is ignored (https://github.com/ansible-collections/community.general/pull/1371).
community.network
-
All FortiOS modules and plugins have been removed from this collection. They have been migrated to the community.fortios collection. If you use ansible-base 2.10 or newer, redirections have been provided.
If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (
community.network.fmgr_device→community.fortios.fmgr_device) and make sure to install thecommunity.fortioscollection. -
All
nsomodules have been removed from this collection. They have been migrated to the cisco.nso collection. If you use ansible-base 2.10 or newer, redirections have been provided.If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (
community.network.nso_config→cisco.nso.nso_config) and make sure to install thecisco.nsocollection. -
All
routerosmodules and plugins have been removed from this collection. They have been migrated to the community.routeros collection. If you use ansible-base 2.10 or newer, redirections have been provided.If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (
community.network.routeros_command→community.routeros.command) and make sure to install the community.routeros collection. - The
cp_publishmodule has been removed from this collection. It was a duplicate ofcheck_point.mgmt.cp_mgmt_publishin the check_point.mgmt collection. If you use ansible-base 2.10 or newer, redirections have been provided. If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (community.network.cp_publish→check_point.mgmt.cp_mgmt_publish) and make sure to install the check_point.mgmt collection. -
The
fortimanagerhttpapi plugin has been removed from this collection. It was a duplicate of the one in the fortinet.fortimanager collection. If you use ansible-base 2.10 or newer, a redirection has been provided.If you use Ansible 2.9 and installed this collection, you need to adjust the FQCNs (
community.network.fortimanager→fortinet.fortimanager.fortimanager) and make sure to install thefortinet.fortimanagercollection. - The dependency on the
check_point.mgmtcollection has been removed. If you depend on that installingcommunity.networkalso installscheck_point.mgmt, you have to make sure to installcheck_point.mgmtexplicitly. - The deprecated Pluribus Networks modules
pn_cluster,pn_ospf,pn_ospfarea,pn_show,pn_trunk,pn_vlag,pn_vlan,pn_vrouter,pn_vrouterbgp,pn_vrouterif,pn_vrouterlbifhave been removed (https://github.com/ansible-collections/community.network/pull/176). - The deprecated modules
panos_admin,panos_admpwd,panos_cert_gen_ssh,panos_check,panos_commit,panos_dag,panos_dag_tags,panos_import,panos_interface,panos_lic,panos_loadcfg,panos_match_rule,panos_mgtconfig,panos_nat_rule,panos_object,panos_op,panos_pg,panos_query_rules,panos_restart,panos_sag,panos_security_rule,panos_sethave been removed. Use modules from the paloaltonetworks.panos collection instead (https://github.com/ansible-collections/community.network/pull/176). - The redirect to the
mellanox.onyxcollection was removed for: theonyxcliconf plugin, terminal plugin, module_utils, action plugin, doc fragment, and the following modules:onyx_aaa,onyx_bfd,onyx_bgp,onyx_buffer_pool,onyx_command,onyx_config,onyx_facts,onyx_igmp,onyx_igmp_interface,onyx_igmp_vlan,onyx_interface,onyx_l2_interface,onyx_l3_interface,onyx_linkagg,onyx_lldp,onyx_lldp_interface,onyx_magp,onyx_mlag_ipl,onyx_mlag_vip,onyx_ntp,onyx_ntp_servers_peers,onyx_ospf,onyx_pfc_interface,onyx_protocol,onyx_ptp_global,onyx_ptp_interface,onyx_qos,onyx_snmp,onyx_snmp_hosts,onyx_snmp_users,onyx_syslog_files,onyx_syslog_remote,onyx_traffic_class,onyx_username,onyx_vlan,onyx_vxlan,onyx_wjh(https://github.com/ansible-collections/community.network/pull/175). - onyx - all onyx modules and plugins have been moved to the mellanox.onyx collection. Redirects have been added that will be removed in community.network 2.0.0 (https://github.com/ansible-collections/community.network/pull/83).
f5networks.f5_modules
- Removed arp_state parameter from the bigip_virtual_address module
Deprecated Features
cisco.nxos
- Deprecated
nxos_bgpandnxos_bgp_neighbormodules in favor ofnxos_bgp_globalresource module. - Deprecated
nxos_interface_ospfin favor ofnxos_ospf_interfacesResource Module. - Deprecated
nxos_smuin favour ofnxos_rpmmodule. - The
nxos_ospf_vrfmodule is deprecated bynxos_ospfv2andnxos_ospfv3Resource Modules.
community.aws
- ec2_vpc_igw_info - After 2022-06-22 the
convert_tagsparameter default value will change fromFalsetoTrueto match the collection standard behavior (https://github.com/ansible-collections/community.aws/pull/318).
community.docker
- docker_container - currently
published_portscan contain port mappings next to the special valueall, in which case the port mappings are ignored. This behavior is deprecated for community.docker 2.0.0, at which point it will either be forbidden, or this behavior will be properly implemented similar to how the Docker CLI tool handles this (https://github.com/ansible-collections/community.docker/issues/8, https://github.com/ansible-collections/community.docker/pull/60).
community.general
- The
gluster_heal_info,gluster_peerandgluster_volumemodules have migrated to the gluster.gluster collection. Ansible-base 2.10.1 adjusted the routing target to point to the modules in that collection, so we will remove these modules in community.general 3.0.0. If you use Ansible 2.9, or use FQCNscommunity.general.gluster_*in your playbooks and/or roles, please update them to use the modules fromgluster.glusterinstead. - The ldap_attr module has been deprecated and will be removed in a later release; use ldap_attrs instead.
- django_manage - the parameter
liveserverrelates to a no longer maintained third-party module for django. It is now deprecated, and will be remove in community.general 3.0.0 (https://github.com/ansible-collections/community.general/pull/1154). - proxmox - the default of the new
proxmox_default_behavioroption will change fromcompatibilitytono_defaultsin community.general 4.0.0. Set the option to an explicit value to avoid a deprecation warning (https://github.com/ansible-collections/community.general/pull/850). - proxmox_kvm - the default of the new
proxmox_default_behavioroption will change fromcompatibilitytono_defaultsin community.general 4.0.0. Set the option to an explicit value to avoid a deprecation warning (https://github.com/ansible-collections/community.general/pull/850). - syspatch - deprecate the redundant
applyargument (https://github.com/ansible-collections/community.general/pull/360). - xbps - the
forceoption never had any effect. It is now deprecated, and will be removed in 3.0.0 (https://github.com/ansible-collections/community.general/pull/568).
community.hashi_vault
- hashi_vault -
VAULT_ADDRenvironment variable for optionurlwill have its precedence lowered in 1.0.0; useANSIBLE_HASHI_VAULT_ADDRto intentionally override a config value (https://github.com/ansible-collections/community.hashi_vault/issues/8). - hashi_vault -
VAULT_AUTH_METHODenvironment variable for optionauth_methodwill be removed in 2.0.0, useANSIBLE_HASHI_VAULT_AUTH_METHODinstead (https://github.com/ansible-collections/community.hashi_vault/issues/17). - hashi_vault -
VAULT_ROLE_IDenvironment variable for optionrole_idwill be removed in 2.0.0, useANSIBLE_HASHI_VAULT_ROLE_IDinstead (https://github.com/ansible-collections/community.hashi_vault/issues/20). - hashi_vault -
VAULT_SECRET_IDenvironment variable for optionsecret_idwill be removed in 2.0.0, useANSIBLE_HASHI_VAULT_SECRET_IDinstead (https://github.com/ansible-collections/community.hashi_vault/issues/20). - hashi_vault -
VAULT_TOKEN_FILEenvironment variable for optiontoken_filewill be removed in 2.0.0, useANSIBLE_HASHI_VAULT_TOKEN_FILEinstead (https://github.com/ansible-collections/community.hashi_vault/issues/15). - hashi_vault -
VAULT_TOKEN_PATHenvironment variable for optiontoken_pathwill be removed in 2.0.0, useANSIBLE_HASHI_VAULT_TOKEN_PATHinstead (https://github.com/ansible-collections/community.hashi_vault/issues/15).
community.network
- Deprecate connection=local support for network platforms using persistent framework (https://github.com/ansible-collections/community.network/pull/120).
community.vmware
- vmware_host_firewall_manager - the creation of new rule with no
allowed_ipentry in theallowed_hostsdictionary won’t be allowed after 2.0.0 release.
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/porting_guides/porting_guide_3.html