mirror of
https://github.com/ansible/ansible-documentation.git
synced 2026-03-27 13:28:51 +07:00
Add Ansible 12.0.0a3 porting guide. (#2613)
This commit is contained in:
@@ -646,6 +646,29 @@ Values formerly represented by that type will now appear as a tagged ``str`` ins
|
||||
Special handling in plugins is no longer required to access the contents of these values.
|
||||
|
||||
|
||||
No implicit conversion of non-string dict keys
|
||||
----------------------------------------------
|
||||
|
||||
In previous versions, ``ansible-core`` relied on Python's ``json.dumps`` to implicitly convert ``int``, ``float``, ``bool`` and ``None`` dictionary keys to strings in various scenarios, including returning of module results.
|
||||
For example, a module was allowed to contain the following code:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
oid = 123
|
||||
d = {oid: "value"}
|
||||
module.exit_json(return_value=d)
|
||||
|
||||
Starting with this release, modules must explicitly convert any non-string keys to strings (for example, by using the ``str()`` Python function) before passing dictionaries to the ``AnsibleModule.exit_json()`` method of ``ansible-core``. The above code must be changed as follows:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
oid = 123
|
||||
d = {str(oid): "value"}
|
||||
module.exit_json(return_value=d)
|
||||
|
||||
If you encounter ``"[ERROR]: Task failed: Module failed: Key of type '<NON-STRING>' is not JSON serializable by the 'module_legacy_m2c' profile.``, it indicates that the module that is used in the task does not perform the required key conversion.
|
||||
|
||||
|
||||
Command Line
|
||||
============
|
||||
|
||||
@@ -661,7 +684,16 @@ No notable changes
|
||||
Modules
|
||||
=======
|
||||
|
||||
No notable changes
|
||||
* With the changes to the templating system it is no longer possible to use the ``async_status`` module's ``started`` and ``finished`` integer properties as values in conditionals as booleans are required. It is recommended to use ``started`` and ``finished`` test plugins instead, for example:
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- async_status:
|
||||
jid: '{{ registered_task_result.ansible_job_id }}'
|
||||
register: job_result
|
||||
until: job_result is finished
|
||||
retries: 5
|
||||
delay: 10
|
||||
|
||||
|
||||
Modules removed
|
||||
@@ -741,6 +773,137 @@ Networking
|
||||
|
||||
No notable changes
|
||||
|
||||
Porting Guide for v12.0.0a3
|
||||
===========================
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
dellemc.openmanage
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- idrac_diagnostics - Issue(285322) - This module doesn't support export of diagnostics file to HTTP and HTTPS share via SOCKS proxy.
|
||||
- idrac_firmware - Issue(279282) - This module does not support firmware update using HTTP, HTTPS, and FTP shares with authentication on iDRAC8.
|
||||
- ome_smart_fabric_uplink - Issue(186024) - The module supported by OpenManage Enterprise Modular, however it does not allow the creation of multiple uplinks of the same name. If an uplink is created using the same name as an existing uplink, then the existing uplink is modified.
|
||||
|
||||
Breaking Changes
|
||||
----------------
|
||||
|
||||
vmware.vmware
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
- drop support for ansible 2.15 since it is EOL https://github.com/ansible-collections/vmware.vmware/issues/103
|
||||
- updated minimum pyVmomi version to 8.0.3.0.1 https://github.com/ansible-collections/vmware.vmware/issues/56
|
||||
|
||||
Major Changes
|
||||
-------------
|
||||
|
||||
community.postgresql
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- the collection does not test against Python 2 and starts accepting content written in Python 3 since collection version 4.0.0 (https://github.com/ansible-collections/community.postgresql/issues/829).
|
||||
|
||||
dellemc.openmanage
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- idrac_gather_facts - This role is enhanced to support iDRAC10.
|
||||
- idrac_lifecycle_controller_job_status_info - This module is enhanced to support iDRAC10.
|
||||
- idrac_system_info - This module is enhanced to support iDRAC10.
|
||||
|
||||
vmware.vmware
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
- cluster modules - Add identifying information about the cluster managed to the output of cluster modules
|
||||
- folder_paths - Throw an error when a relative folder path is provided and the datacenter name is not provided
|
||||
- module_utils/argument_spec - make argument specs public so other collections can use them https://github.com/ansible-collections/vmware.vmware/issues/144
|
||||
- module_utils/clients - make client utils public so other collections can use them https://github.com/ansible-collections/vmware.vmware/issues/144
|
||||
- update query file to include cluster module queries
|
||||
|
||||
Removed Features
|
||||
----------------
|
||||
|
||||
ansible.windows
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
- win_domain - Removed deprecated module, use ``microsoft.ad.domain`` instead
|
||||
- win_domain_controller - Removed deprecated module, use ``microsoft.ad.domain_controller`` instead
|
||||
- win_domain_membership - Removed deprecated module, use ``microsoft.ad.membership`` instead
|
||||
- win_feature - Removed deprecated return value ``restart_needed`` in ``feature_result``, use ``reboot_required`` instead
|
||||
- win_updates - Removed deprecated return value ``filtered_reason``, use ``filtered_reasons`` instead
|
||||
|
||||
community.postgresql
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- postgresql_info - the db alias has been removed in ``community.postgresql 4.0.0``. Please use the ``login_db`` option instead (https://github.com/ansible-collections/community.postgresql/issues/801).
|
||||
- postgresql_lang - the module has been removed in ``community.postgresql 4.0.0``. Please use the ``community.postgresql.postgresql_ext`` module instead (https://github.com/ansible-collections/community.postgresql/issues/561).
|
||||
- postgresql_privs - the ``password`` argument has been removed in ``community.postgresql 4.0.0``. Use the ``login_password`` argument instead (https://github.com/ansible-collections/community.postgresql/issues/408).
|
||||
- postgresql_user - the ``priv`` argument has been removed in ``community.postgresql 4.0.0``. Please use the ``community.postgresql.postgresql_privs`` module to grant/revoke privileges instead (https://github.com/ansible-collections/community.postgresql/issues/493).
|
||||
|
||||
community.windows
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
- win_domain_computer - Removed deprecated module, use ``microsoft.ad.computer`` instead
|
||||
- win_domain_group - Removed deprecated module, use ``microsoft.ad.group`` instead
|
||||
- win_domain_group_membership - Removed deprecated module, use ``microsoft.ad.membership`` instead
|
||||
- win_domain_object_info - Removed deprecated module, use ``microsoft.ad.object_info`` instead
|
||||
- win_domain_ou - Removed deprecated module, use ``microsoft.ad.ou`` instead
|
||||
- win_domain_user - Removed deprecated module, use ``microsoft.ad.user`` instead
|
||||
- win_lineinfile - Removed deprecated return value ``backup``, use ``backup_file`` instead
|
||||
- win_xml - Removed deprecated, and undocumented, return value ``backup``, use ``backup_file`` instead
|
||||
|
||||
vmware.vmware
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
- vm_list_group_by_clusters - Tombstone module in favor of vmware.vmware.vm_list_group_by_clusters_info
|
||||
|
||||
Deprecated Features
|
||||
-------------------
|
||||
|
||||
Ansible-core
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- Passing a ``warnings` or ``deprecations`` key to ``exit_json`` or ``fail_json`` is deprecated. Use ``AnsibleModule.warn`` or ``AnsibleModule.deprecate`` instead.
|
||||
- plugins - Accessing plugins with ``_``-prefixed filenames without the ``_`` prefix is deprecated.
|
||||
|
||||
community.postgresql
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- postgresql modules = the ``login``, ``unix_socket`` and ``host`` aliases are deprecated and will be removed in ``community.postgresql 5.0.0``, use the ``login_user``, ``login_unix_socket`` and ``login_host`` arguments instead.
|
||||
- postgresql_set - the module has been deprecated and will be removed in ``community.postgresql 5.0.0``. Please use the ``community.postgresql.postgresql_alter_system`` module instead (https://github.com/ansible-collections/community.postgresql/issues/823).
|
||||
|
||||
community.windows
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
- win_audit_policy_system - Deprecated module and will be redirected to ``ansible.windows.win_audit_policy_system``. Use ``ansible.windows.win_audit_policy_system`` instead as the redirection will be removed in 4.0.0
|
||||
- win_audit_rule - Deprecated module and will be redirected to ``ansible.windows.win_audit_rule``. Use ``ansible.windows.win_audit_rule`` instead as the redirection will be removed in 4.0.0
|
||||
- win_auto_logon - Deprecated module and will be redirected to ``ansible.windows.win_auto_logon``. Use ``ansible.windows.win_auto_logon`` instead as the redirection will be removed in 4.0.0
|
||||
- win_certificate_info - Deprecated module and will be redirected to ``ansible.windows.win_certificate_info``. Use ``ansible.windows.win_certificate_info`` instead as the redirection will be removed in 4.0.0
|
||||
- win_computer_description - Deprecated module and will be redirected to ``ansible.windows.win_computer_description``. Use ``ansible.windows.win_computer_description`` instead as the redirection will be removed in 4.0.0
|
||||
- win_credential - Deprecated module and will be redirected to ``ansible.windows.win_credential``. Use ``ansible.windows.win_credential`` instead as the redirection will be removed in 4.0.0
|
||||
- win_dhcp_lease - Deprecated module and will be redirected to ``ansible.windows.win_dhcp_lease``. Use ``ansible.windows.win_dhcp_lease`` instead as the redirection will be removed in 4.0.0
|
||||
- win_dns_record - Deprecated module and will be redirected to ``ansible.windows.win_dns_record``. Use ``ansible.windows.win_dns_record`` instead as the redirection will be removed in 4.0.0
|
||||
- win_dns_zone - Deprecated module and will be redirected to ``ansible.windows.win_dns_zone``. Use ``ansible.windows.win_dns_zone`` instead as the redirection will be removed in 4.0.0
|
||||
- win_eventlog - Deprecated module and will be redirected to ``ansible.windows.win_eventlog``. Use ``ansible.windows.win_eventlog`` instead as the redirection will be removed in 4.0.0
|
||||
- win_feature_info - Deprecated module and will be redirected to ``ansible.windows.win_feature_info``. Use ``ansible.windows.win_feature_info`` instead as the redirection will be removed in 4.0.0
|
||||
- win_file_compression - Deprecated module and will be redirected to ``ansible.windows.win_file_compression``. Use ``ansible.windows.win_file_compression`` instead as the redirection will be removed in 4.0.0
|
||||
- win_firewall - Deprecated module and will be redirected to ``ansible.windows.win_firewall``. Use ``ansible.windows.win_firewall`` instead as the redirection will be removed in 4.0.0
|
||||
- win_hosts - Deprecated module and will be redirected to ``ansible.windows.win_hosts``. Use ``ansible.windows.win_hosts`` instead as the redirection will be removed in 4.0.0
|
||||
- win_hotfix - Deprecated module and will be redirected to ``ansible.windows.win_hotfix``. Use ``ansible.windows.win_hotfix`` instead as the redirection will be removed in 4.0.0
|
||||
- win_http_proxy - Deprecated module and will be redirected to ``ansible.windows.win_http_proxy``. Use ``ansible.windows.win_http_proxy`` instead as the redirection will be removed in 4.0.0
|
||||
- win_iis_virtualdirectory - Deprecated module, use ``microsoft.iis.virtual_directory`` instead as the module will be removed in 4.0.0
|
||||
- win_iis_webapplication - Deprecated module, use ``microsoft.iis.web_application`` instead instead as the module will be removed in 4.0.0
|
||||
- win_iis_webapppool - Deprecated module, use ``microsoft.iis.web_app_pool`` instead instead as the module will be removed in 4.0.0
|
||||
- win_iis_webbinding - Deprecated module, use ``microsoft.iis.website`` instead instead as the module will be removed in 4.0.0
|
||||
- win_iis_website - Deprecated module, use ``microsoft.iis.website`` instead instead as the module will be removed in 4.0.0
|
||||
- win_inet_proxy - Deprecated module and will be redirected to ``ansible.windows.win_inet_proxy``. Use ``ansible.windows.win_inet_proxy`` instead as the redirection will be removed in 4.0.0
|
||||
- win_listen_ports_facts - Deprecated module and will be redirected to ``ansible.windows.win_listen_ports_facts``. Use ``ansible.windows.win_listen_ports_facts`` instead as the redirection will be removed in 4.0.0
|
||||
- win_mapped_drive - Deprecated module and will be redirected to ``ansible.windows.win_mapped_drive``. Use ``ansible.windows.win_mapped_drive`` instead as the redirection will be removed in 4.0.0
|
||||
- win_product_facts - Deprecated module and will be redirected to ``ansible.windows.win_product_facts``. Use ``ansible.windows.win_product_facts`` instead as the redirection will be removed in 4.0.0
|
||||
- win_region - Deprecated module and will be redirected to ``ansible.windows.win_region``. Use ``ansible.windows.win_region`` instead as the redirection will be removed in 4.0.0
|
||||
- win_route - Deprecated module and will be redirected to ``ansible.windows.win_route``. Use ``ansible.windows.win_route`` instead as the redirection will be removed in 4.0.0
|
||||
- win_timezone - Deprecated module and will be redirected to ``ansible.windows.win_timezone``. Use ``ansible.windows.win_timezone`` instead as the redirection will be removed in 4.0.0
|
||||
- win_user_profile - Deprecated module and will be redirected to ``ansible.windows.win_user_profile``. Use ``ansible.windows.win_user_profile`` instead as the redirection will be removed in 4.0.0
|
||||
|
||||
Porting Guide for v12.0.0a2
|
||||
===========================
|
||||
|
||||
|
||||
Reference in New Issue
Block a user