Table of contents
1.
Introduction
2.
Porting Guide for Ansible v3.0.0
2.1.
📌Issues
2.2.
📌Major Changes
2.3.
📌Deprecated Features
3.
Porting Guide for Ansible v3.1.0
3.1.
📌Issues
3.2.
📌Major Changes
3.3.
📌Deprecated Features
4.
Porting Guide for Ansible v3.2.0
4.1.
📌Issues
4.2.
📌Major Changes
4.3.
📌Deprecated Features
5.
Porting Guide for Ansible v3.3.0
5.1.
📌Major Changes
5.2.
📌Deprecated Features
5.3.
Porting Guide for v3.4.0
5.4.
📌Issues
5.5.
📌Major Changes
5.6.
📌Deprecated Features
6.
Frequently Asked Questions
6.1.
What are the cons of Ansible?
6.2.
Is Ansible Using python?
6.3.
How to keep secret data in the Ansible playbook?
6.4.
What are the things Ansible can do?
6.5.
What port does Ansible use?
7.
Conclusion
Last Updated: Mar 27, 2024

Ansible 3 Porting Guide

Author ANKIT MISHRA
0 upvote
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

Ansible is an open-source community project sponsored by Red Hat. Over 85 Ansible Collections are contained in the package known as Ansible 3. The Ansible base is omitted. Instead, it depends on it and specifies a needed version range, such as ansible-base>=2.10.6,2.11, to ensure that the necessary core package is installed without user intervention.

Introduction Image

Ansible 3 and its significant updates will be an exclusive topic of discussion for this blog. Let's get straight into it.

Porting Guide for Ansible v3.0.0

Porting guide version image

📌Issues

🚀dellemc.openmanage

💥Although OpenManage Enterprise Modular supports the establishment of multiple uplinks with the same name, the ome_smart_fabric_uplink module does not. The current uplink is altered when an uplink with the same name as an existing one is formed in Ansible 3.

💥Idrac_lifecycle _controller_job_status_info returns the error if an invalid job id is supplied. This error message does not describe the exact problem with the correct job ID.

💥The firmware update job isn't finished when the iDRAC firmware is updated since the idrac_firmware module finishes running. The job output contains the error message "DRAC WSMAN endpoint returned HTTP code '400' Reason 'Bad Request'". If the target for the iDRAC firmware version is less than the 3.30.30.30, this problem could manifest.

📌Major Changes

🚀cisco.aci

💥For a query operation, change certificate name to name in the aci_aaa_user_certificate module in Ansible 3.

🚀community.general

💥The ome_device_info, idrac_firmware, and the idrac_server_config_profile modules will be transferred to the dellemc.openmanage collection for the community.general 3.0.0. Users using ansible-base 2.10 or newer won't need to make any changes because a redirection will be added in Ansible 3.

💥You must modify your playbooks and roles to use FQCNs beginning with dellemc.openmanage instead of community.general if you use the older Ansible 2.9 and explicitly use the DellEMC modules from this collection mentioned above. For instance, replace community.general.ome device info in a task with dellemc.openmanage.ome device info.

💥Make sure to install the dellemc.openmanage collection if you use ansible-base, manually installed community.general, and rely on the aforementioned DellEMC modules. It will still function if you use FQCNs, such as community.general.ome_device_info rather than ome_device_info, but we still advise adjusting the FQCNs.

🚀community.kubernetes

🚀dellemc.openmanage

💥discarded the preexisting obsolete modules.

💥Ten iDRAC ansible modules have been standardized following Ansible's best practices.

💥OpenManage Enterprise Modular assistance.

🚀kubernetes.core

📌Deprecated Features

🚀cisco.nxos

💥In exchange for the nxos bgp global resource module, the nxos bgp and nxos bgp neighbor modules were deprecated.

💥nxos_interface_ospf has been deprecated in favor of the nxos_ospf_interfaces Resource Module.

💥nxos_smu was deprecated in favor of the nxos_rpm module.

💥The nxos_ospfv2 and nxos_ospfv3 Resource Modules have replaced the nxos_ospf_vrf module.

🚀community.aws

🚀community.docker

🚀community.network

🚀community.vmware

Porting Guide for Ansible v3.1.0

Porting guide version image

📌Issues

🚀Dellemc.openmanage

💥ome_smart_fabric OpenManage Enterprise Modular only supports three design types. However, even in cases where a design type is not supported, the module successfully creates the fabric.

💥The issue with ome_smart_fabric_uplink is, Although OpenManage Enterprise Modular supports the establishment of multiple uplinks with the same name, the ome smart fabric uplink module does not. The current uplink is altered when an uplink with the same name as an existing one is formed.

📌Major Changes

🚀community.docker

💥docker_swarm If a join token is supplied, VALUE_SPECIFIED_IN_NO_LOG_PARAMETER will be used in place of a returned join token with the same value. When this module is called with a join token, be careful not to utilize the join tokens from the return value mindlessly! This significant update is included in a minor release.

📌Deprecated Features

🚀community.crypto

💥acme module_utils - Community.crypto 2.0.0 will remove the deprecated acme module utils. Instead, use the new Python modules in the (acmepackage.ansible_collections.community.crypto.plugins.module_utils.acme)

Porting Guide for Ansible v3.2.0

Porting guide version image

📌Issues

🚀dellemc.openmanage

💥drac_user - There may be outstanding attribute modifications or an ongoing configuration process that prevents the module from performing the import or export operation. Run the task once more after waiting for the job to finish.

💥ome_configuration_compliance_info - The message cannot complete the request because an error may appear when a module crashes. Inform the system administrator if the problem continues.

💥ome_smart_fabric - OpenManage Enterprise Modular only supports three design types. However, even in those cases where a design type is not supported, a fabric is nevertheless successfully created by the module.

💥ome_smart_fabric_uplink - Even though OpenManage Enterprise Modular supports it, the ome_smart_fabric_uplink module does not allow the establishment of multiple uplinks with the same name (issue(186024)). When an uplink with the same name as an existing uplink is formed, the current uplink is changed.

📌Major Changes

🚀community.docker

🚀docker_swarm

💥If a join token is supplied, VALUE_SPECIFIED_IN_NO_LOG_PARAMETER will be used in place of a returned join token with the same value. When this module is called with a join token, be careful not to utilize the join tokens from the return value mindlessly! As a result of the need to address a security problem, this breaking change is included in a minor release.

📌Deprecated Features

🚀community.crypto

💥acme module_utils - the old acme_module_utils in Community.crypto 2.0.0 will remove (ansible collections.community.crypto.plugins.module utils.acme) since it is out of date. 

💥Replace them with the fresh Python modules from the acme package (ansible collections.community.crypto.plugins.module utils.acme.xxx).

Porting Guide for Ansible v3.3.0

Porting guide version image

📌Major Changes

🚀community.mysql

💥The SSL key in the TLS (Transport Layer Security) requires an option in a community known as MySQL user's REQUIRESSL by default. MySQL 2.0.0 and its support will no longer be offered to the community. mysql 3.0.0

📌Deprecated Features

🚀community.vmware module

💥vmware_vmkernel_ip_config - deprecated in the favor of vmware_vmkernel .

🚀f5networks.f5_modules

💥Support for the Python versions earlier than 3.5 is being deprecated

Porting Guide for v3.4.0

Porting guide version image

📌Issues

🚀dellemc.openmanage

💥idrac_user - There may be outstanding attribute modifications or an ongoing configuration process that prevents the module from performing the import or export operation. Run the task once more after waiting for the job to finish.

💥ome_configuration_compliance_info - The message unable to perform the request because an error occurred may appear when a module crashes. Inform the system administrator if the problem continues.

💥ome_smart_fabric - OpenManage Enterprise Modular only supports three design types. However, even in those cases where a design type is not supported, a fabric is nevertheless successfully created by the module.

💥ome_smart_fabric_uplink - Even though OpenManage Enterprise Modular supports it, the ome smart fabric uplink module does not allow the establishment of multiple uplinks with the same name (issue(186024)). The current uplink is altered when an uplink with the same name as an existing one is formed.

📌Major Changes

🚀Ansible-base

💥ansible-test - When Python 2.6 is used, tests run with the centos6, and default test containers now access PyPI through a PyPI proxy container. As a result, Python 2.6 tests can still run successfully even though PyPI no longer provides support for clients who cannot use SNI.

🚀community.postgresql

🚀netapp.ontap

📌Deprecated Features

🚀community.aws module

💥ec2_vpc_endpoint_info - Query option for this has been removed after 2022-12-01

🚀community.docker module

💥The current default "localhost" for the tls hostname is deprecated. This applies to all docker_* modules and plugins, except the docker swarm connection plugin and the docker-compose and Docker stack*' modules.

Also see, How to Check Python Version in CMD

Frequently Asked Questions

What are the cons of Ansible?

Ansible disadvantages include debugging, performance, complex data structures, and control flow. 

Is Ansible Using python?

Although Ansible modules can be written in any language, most of them—including those essential to Ansible's operation—are written in Python. Ansible, by default, thinks your remote system's /usr/bin/python is either Python2, version 2.6 or higher, or Python3, version 3.5 or higher.

How to keep secret data in the Ansible playbook?

See Vault if you want to keep sensitive information in your Ansible content but still publish it with the world or maintain source control. This can be used to sustain verbose output while concealing private data from anyone who might otherwise want to see the output.

What are the things Ansible can do?

Ansible may be used to provide the underlying infrastructure of your environment, virtualized hosts and hypervisors, network devices, and bare metal servers.

What port does Ansible use?

Ansible Tower streams playbook activity and other events to the client browser using port 8080 on the Tower server.

Conclusion

In this article, we have extensively discussed the Ansible 3 Porting Guide.

To read more, see Ansible Interview Questions-1 and Ansible Interview Questions-2.

Refer to our guided paths on Coding Ninjas Studio to learn more about DSA, Competitive Programming, JavaScript, System Design, etc. Enroll in our courses, refer to the mock test and problems; look at the interview experiences and interview bundle for placement preparations.

Happy Learning, Ninjas!

Live masterclass