Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Proxmox Snapshot Restoring #4377

Merged
merged 14 commits into from
Apr 25, 2022
Merged

Conversation

EinDev
Copy link
Contributor

@EinDev EinDev commented Mar 18, 2022

SUMMARY

Allows the restoration of a proxmox snapshot
ISSUE TYPE

Feature Pull Request

COMPONENT NAME

This Change allows restoring a snapshot in Proxmox
ADDITIONAL INFORMATION

This is the result of #4375
I did not mark snapname as required, as it has a default value and the behaviour didn't change. Or should i still mark it as required?

@ansibullbot
Copy link
Collaborator

@ansibullbot ansibullbot added cloud feature This issue/PR relates to a feature request module module new_contributor Help guide this first time contributor plugins plugin (any type) labels Mar 18, 2022
Copy link
Collaborator

@felixfontein felixfontein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You still have to adjust the documentation of snapname.

plugins/modules/cloud/misc/proxmox_snap.py Outdated Show resolved Hide resolved
@felixfontein felixfontein added check-before-release PR will be looked at again shortly before release and merged if possible. backport-4 labels Mar 18, 2022
@EinDev
Copy link
Contributor Author

EinDev commented Mar 18, 2022

You still have to adjust the documentation of snapname.

I did not mark snapname as required, as it has a default value and the behaviour didn't change. Or should i still mark it as required?

@felixfontein
Copy link
Collaborator

I did not mark snapname as required, as it has a default value and the behaviour didn't change. Or should i still mark it as required?

No need to make it required, but you should document what it is used for. Right now the documentation says Name of the snapshot that has to be created..

@EinDev
Copy link
Contributor Author

EinDev commented Mar 18, 2022

@felixfontein Alright, sorry. I have adjusted the documentation. Thank you for your patience

@ansibullbot ansibullbot added needs_ci This PR requires CI testing to be performed. Please close and re-open this PR to trigger CI needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR and removed needs_ci This PR requires CI testing to be performed. Please close and re-open this PR to trigger CI needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR labels Mar 19, 2022
Copy link
Collaborator

@felixfontein felixfontein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides this, looks good! If nobody complains, I'll merge in a week.

@EinDev
Copy link
Contributor Author

EinDev commented Apr 11, 2022

If you create a virtualenv with andebox and ansible (ansible-core should suffice for this case), you should be able to activate it and simply run:

(venv) $ andebox test -- units --docker default --python 3.8 tests/unit/plugins/modules/cloud/misc/test_proxmox_snap.py -v

Thank you for the tip, but your solution did not work out for me. As you do not have issues enabled in your repo, i just post the error message here, but to ensure we are not misusing this thread i suggest you contact me here.

collection = community.general
directory  = /tmp/andebox.ovf03rzv/ansible_collections/community/general
Removing temporary directory: /tmp/andebox.ovf03rzv/ansible_collections/community/general
Traceback (most recent call last):
  File "/home/myuser/.local/bin/andebox", line 52, in <module>
    main()
  File "/home/myuser/.local/bin/andebox", line 46, in main
    box.run()
  File "/home/myuser/.local/bin/andebox", line 40, in run
    action.run(args)
  File "/home/myuser/.local/lib/python3.8/site-packages/andeboxlib/actions/ansibletest.py", line 38, in run
    rc = subprocess.call(["ansible-test"] + args.ansible_test_params, cwd=collection_dir)
  File "/usr/lib/python3.8/subprocess.py", line 340, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.8/subprocess.py", line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1704, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: 'ansible-test'

Regarding the original answer (@felixfontein): Thank you very much. I will try to find help there :)

@EinDev
Copy link
Contributor Author

EinDev commented Apr 12, 2022

Update: I managed to get it working by just (un-)installing the pip package for ansible a few times. I will begin adding unit test(s?) now.

Also notice that the proxmox_* modules require the installation of a specific python package for proxmox called proxmoxer.

Absolutely, but as far as i see the current tests do not represent a real use case because of this:
A SystemExit Exception gets raised, but gets catched and ignored.

Is it possible to include the proxmoxer package and directly test the resulting http request? From a technical standpoint yes - but that would require the proxmoxer installed in the ansible-test environment.

Is that possible or possibly unwanted?

@felixfontein
Copy link
Collaborator

Absolutely, but as far as i see the current tests do not represent a real use case because of this: A SystemExit Exception gets raised, but gets catched and ignored.

I'm not sure what we should do with that exception other than ignoring it? If the exception isn't raised, something went wrong. If the exception is raised, we need to read the stdout and interpret it as JSON, and look at the results.

Is it possible to include the proxmoxer package and directly test the resulting http request? From a technical standpoint yes - but that would require the proxmoxer installed in the ansible-test environment.

That's possible. The unit tests for the GitLab modules do that for example. (Making sure that proxmoxer is installed requires it to be added to tests/unit/requirements.txt.)

@ansibullbot ansibullbot added tests tests unit tests/unit and removed stale_ci CI is older than 7 days, rerun before merging labels Apr 13, 2022
@EinDev
Copy link
Contributor Author

EinDev commented Apr 13, 2022

I've added the unit tests for restoring the snapshot now, but please check it. I hope this is what you want.
I was just a bit confused about an exception, but didn't realize that it was a exception showing the success in this case.

I'm still new to testing, so please don't expect a lot ;)

@ansibullbot ansibullbot added the stale_ci CI is older than 7 days, rerun before merging label Apr 21, 2022
@ansibullbot ansibullbot removed the stale_ci CI is older than 7 days, rerun before merging label Apr 24, 2022
@EinDev
Copy link
Contributor Author

EinDev commented Apr 24, 2022

I do not have any time planned for this anymore. It works for me, the tests work for me.
I just added this PR because i wanted to share my improvement, if you do not accept it it is fine. It would be a shame though ;)

I will close this PR now, if you feel like you want to merge/improve it feel free to reopen it :)

@EinDev EinDev closed this Apr 24, 2022
@felixfontein
Copy link
Collaborator

I'm not sure why you don't simply commit suggestion #4377 (comment) ? I would have merged it with the two suggestions (one of which you already commited a few minutes ago) applied.

@EinDev EinDev reopened this Apr 24, 2022
@EinDev
Copy link
Contributor Author

EinDev commented Apr 24, 2022

I'm sorry, i must have overseen that. Thanks for the heads up :)

Copy link
Collaborator

@felixfontein felixfontein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will merge tomorrow if nobody complains by then.

Copy link
Collaborator

@russoz russoz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@felixfontein felixfontein removed the check-before-release PR will be looked at again shortly before release and merged if possible. label Apr 25, 2022
@felixfontein felixfontein merged commit dbad1e0 into ansible-collections:main Apr 25, 2022
@patchback
Copy link

patchback bot commented Apr 25, 2022

Backport to stable-4: 💚 backport PR created

✅ Backport PR branch: patchback/backports/stable-4/dbad1e0f1123cbb8694fa6571770176c394fe711/pr-4377

Backported as #4571

🤖 @patchback
I'm built with octomachinery and
my source is open — https://github.com/sanitizers/patchback-github-app.

patchback bot pushed a commit that referenced this pull request Apr 25, 2022
* Allow restoring of snapshots

* Fix formatting

* Add documentation for new feature

* Revert unrelated reformatting

* Add documentation for snapshot change

* Remove redundant multiple call to status API

* Remove unneccesary indent

* Add documentation for timeout fix

* Update changelog fragment to reflect real changes

Co-authored-by: Felix Fontein <[email protected]>

* Update changelog fragment to reflect real changes

Co-authored-by: Felix Fontein <[email protected]>

* Add Tests for Snapshot rollback

* Update tests/unit/plugins/modules/cloud/misc/test_proxmox_snap.py

Co-authored-by: Felix Fontein <[email protected]>

* Update changelogs/fragments/4377-allow-proxmox-snapshot-restoring.yml

Co-authored-by: Felix Fontein <[email protected]>

* Update plugins/modules/cloud/misc/proxmox_snap.py

Co-authored-by: Felix Fontein <[email protected]>

Co-authored-by: Felix Fontein <[email protected]>
(cherry picked from commit dbad1e0)
@felixfontein
Copy link
Collaborator

@EinDev thanks for your contribution!
@Thulium-Drake @russoz thanks for reviewing!

felixfontein pushed a commit that referenced this pull request Apr 25, 2022
* Allow restoring of snapshots

* Fix formatting

* Add documentation for new feature

* Revert unrelated reformatting

* Add documentation for snapshot change

* Remove redundant multiple call to status API

* Remove unneccesary indent

* Add documentation for timeout fix

* Update changelog fragment to reflect real changes

Co-authored-by: Felix Fontein <[email protected]>

* Update changelog fragment to reflect real changes

Co-authored-by: Felix Fontein <[email protected]>

* Add Tests for Snapshot rollback

* Update tests/unit/plugins/modules/cloud/misc/test_proxmox_snap.py

Co-authored-by: Felix Fontein <[email protected]>

* Update changelogs/fragments/4377-allow-proxmox-snapshot-restoring.yml

Co-authored-by: Felix Fontein <[email protected]>

* Update plugins/modules/cloud/misc/proxmox_snap.py

Co-authored-by: Felix Fontein <[email protected]>

Co-authored-by: Felix Fontein <[email protected]>
(cherry picked from commit dbad1e0)

Co-authored-by: Timon Michel <[email protected]>
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request May 14, 2022
v5.7.1

Minor Changes
-------------

- The version of fortinet.fortios has been rolled back to 2.1.4 (from 2.1.5) to address a syntax error pending a new release of
the collection


v5.7.0

Major Changes
-------------

community.postgresql
~~~~~~~~~~~~~~~~~~~~

- postgresql_user - the ``priv`` argument has been deprecated and will be removed in ``community.postgresql 3.0.0``. Please use the ``postgresql_privs`` module to grant/revoke privileges instead (ansible-collections/community.postgresql#212).

fortinet.fortios
~~~~~~~~~~~~~~~~

- Support FortiOS 7.0.2, 7.0.3, 7.0.4, 7.0.5.

Minor Changes
-------------

ansible.utils
~~~~~~~~~~~~~

- 'consolidate' filter plugin added.

cloud.common
~~~~~~~~~~~~

- Move the content of README_ansible_turbo.module.rst in the main README.md to get visibility on Ansible Galaxy.

community.dns
~~~~~~~~~~~~~

- Prepare collection for inclusion in an Execution Environment by declaring its dependencies (ansible-collections/community.dns#93).

community.docker
~~~~~~~~~~~~~~~~

- Prepare collection for inclusion in an Execution Environment by declaring its dependencies. The ``docker_stack*`` modules are not supported (ansible-collections/community.docker#336).
- current_container_facts - add detection for GitHub Actions (ansible-collections/community.docker#336).
- docker_container - support returning Docker container log output when using Docker's ``local`` logging driver, an optimized local logging driver introduced in Docker 18.09 (ansible-collections/community.docker#337).

community.general
~~~~~~~~~~~~~~~~~

- alternatives - add ``state`` parameter, which provides control over whether the alternative should be set as the active selection for its alternatives group (ansible-collections/community.general#4543, ansible-collections/community.general#4557).
- atomic_container - minor refactoring (ansible-collections/community.general#4567).
- clc_alert_policy - minor refactoring (ansible-collections/community.general#4556).
- clc_group - minor refactoring (ansible-collections/community.general#4556).
- clc_loadbalancer - minor refactoring (ansible-collections/community.general#4556).
- clc_server - minor refactoring (ansible-collections/community.general#4556).
- cmd_runner module util - reusable command runner with consistent argument formatting and sensible defaults (ansible-collections/community.general#4476).
- datadog_monitor - support new datadog event monitor of type `event-v2 alert` (ansible-collections/community.general#4457)
- filesystem - add support for resizing btrfs (ansible-collections/community.general#4465).
- lxd_container - adds ``project`` option to allow selecting project for LXD instance (ansible-collections/community.general#4479).
- lxd_profile - adds ``project`` option to allow selecting project for LXD profile (ansible-collections/community.general#4479).
- nmap inventory plugin - add ``sudo`` option in plugin in order to execute ``sudo nmap`` so that ``nmap`` runs with elevated privileges (ansible-collections/community.general#4506).
- nomad_job - minor refactoring (ansible-collections/community.general#4567).
- nomad_job_info - minor refactoring (ansible-collections/community.general#4567).
- packet_device - minor refactoring (ansible-collections/community.general#4567).
- packet_sshkey - minor refactoring (ansible-collections/community.general#4567).
- packet_volume - minor refactoring (ansible-collections/community.general#4567).
- profitbricks - minor refactoring (ansible-collections/community.general#4567).
- proxmox - minor refactoring (ansible-collections/community.general#4567).
- proxmox inventory plugin - add token authentication as an alternative to username/password (ansible-collections/community.general#4540).
- proxmox inventory plugin - parse LXC configs returned by the proxmox API (ansible-collections/community.general#4472).
- proxmox_snap - add restore snapshot option (ansible-collections/community.general#4377).
- proxmox_snap - fixed timeout value to correctly reflect time in seconds. The timeout was off by one second (ansible-collections/community.general#4377).
- redfish_command - add ``IndicatorLedOn``, ``IndicatorLedOff``, and ``IndicatorLedBlink`` commands to the Systems category for controling system LEDs (ansible-collections/community.general#4084).
- seport - minor refactoring (ansible-collections/community.general#4471).
- smartos_image_info - minor refactoring (ansible-collections/community.general#4567).
- terraform - adds ``terraform_upgrade`` parameter which allows ``terraform init`` to satisfy new provider constraints in an existing Terraform project (ansible-collections/community.general#4333).
- udm_group - minor refactoring (ansible-collections/community.general#4556).
- udm_share - minor refactoring (ansible-collections/community.general#4556).
- vmadm - minor refactoring (ansible-collections/community.general#4567).
- webfaction_app - minor refactoring (ansible-collections/community.general#4567).
- webfaction_db - minor refactoring (ansible-collections/community.general#4567).
- xfconf - added missing value types ``char``, ``uchar``, ``int64`` and ``uint64`` (ansible-collections/community.general#4534).

community.grafana
~~~~~~~~~~~~~~~~~

- Remove requirement for `ds_type` and `ds_url` parameters when deleting a datasource
- add `grafana` action group in `meta/runtime.yml` to support for module group defaults
- refactor grafana_notification_channel module

community.hrobot
~~~~~~~~~~~~~~~~

- Prepare collection for inclusion in an Execution Environment by declaring its dependencies (ansible-collections/community.hrobot#45).

community.zabbix
~~~~~~~~~~~~~~~~

- all modules - prepare for deprecation of distutils LooseVersion.
- collection - Add dependencies to other collections. This helps Ansible Galaxy automatically downloading collections that this collection relies on to run.
- connection.httpapi (plugin) - add initial httpapi connection plugin.
- httpapi.jsonrpc (plugin) - add initial httpapi for future handling of json-rpc.
- new module zabbix authentication for configuring global authentication settings in Zabbix Server's Settings section of GUI.
- new module zabbix_autoregister for configuring global autoregistration settings in Zabbix Server's Settings section of GUI.
- new module zabbix_housekeeping for configuring global housekeeping settings in Zabbix Server's Settings section of GUI.
- test_zabbix_host_info - fix Template/Group names for 5.4
- test_zabbix_screen - disable testing for screen in 5.4 (deprecated)
- zabbix_action - additional fixes to make module work with Zabbix 6.0 (ansible-collections/community.zabbix#664)
- zabbix_action - module ported to work with Zabbix 6.0 (ansible-collections/community.zabbix#648, ansible-collections/community.zabbix#653)
- zabbix_agent - Check if 'firewalld' exist and is running when handler is executed.
- zabbix_agent - Install the correct Python libxml2 package on SLES15
- zabbix_agent - Move inclusion of the apache.yml tasks to later stage during execution of role.
- zabbix_agent - Prepare for Zabbix 6.0.
- zabbix_agent - Specify a minor version with zabbix_agent_version_minor for RH systems.
- zabbix_agent - There was no way to configure a specific type for the macro.
- zabbix_agent - Use multiple aliases in the configuration file with ``zabbix_agent_zabbix_alias`` or ``zabbix_agent2_zabbix_alias``.
- zabbix_maintenance - added new module parameter `tags`, which allows configuring Problem Tags on maintenances.
- zabbix_proxy - Prepare for Zabbix 6.0.
- zabbix_proxy - Specify a minor version with zabbix_proxy_version_minor for RH systems.
- zabbix_proxy - Support for Sangoma and treat it like a RHEL system.
- zabbix_server - Check the 'zabbix_server_install_database_client' variable in RedHat tasks.
- zabbix_server - Prepare for Zabbix 6.0.
- zabbix_server - Specify a minor version with zabbix_server_version_minor for RH systems.
- zabbix_user - change alias property to username (changed in 5.4) (alias is now an alias for username)
- zabbix_user_info - change alias property to username (changed in 5.4) (alias is now an alias for username)
- zabbix_web - Change format ENCRYPTION, VERIFY_HOST from string to boolean.
- zabbix_web - Specify a minor version with zabbix_web_version_minor for RH systems.

f5networks.f5_modules
~~~~~~~~~~~~~~~~~~~~~

- bigip_device_info - add UCS creation date to the data gathered
- bigip_virtual_server - add service_down_immediate_action parameter
- bigiq_regkey_license - add addon_keys parameter to the module

netapp.cloudmanager
~~~~~~~~~~~~~~~~~~~

- na_cloudmanager_connector_gcp - when using the user application default credential authentication by running the command gcloud auth application-default login, ``gcp_service_account_path`` is not needed.

netapp.ontap
~~~~~~~~~~~~

- na_ontap_cluster_config role - use na_ontap_login_messages as na_ontap_motd is deprecated.
- na_ontap_debug - report ansible version and ONTAP collection version.
- na_ontap_efficiency_policy - Added REST support.
- na_ontap_export_policy_rule - new option ``ntfs_unix_security`` for NTFS export UNIX security options added.
- na_ontap_lun - Added REST support.
- na_ontap_snapmirror -- Added more descriptive error messages for REST
- na_ontap_snapshot_policy - Added REST support to the na_ontap_snapshot_policy module.
- na_ontap_svm - add support for web services (ssl modify) - REST only with 9.8 or later.
- na_ontap_volume - add support for SnapLock - only for REST.
- na_ontap_volume - allow to modify volume after rename.
- na_ontap_volume - new option ``max_files`` to increase the inode count value.
- na_ontap_vserver_create role - support max_volumes option.

netbox.netbox
~~~~~~~~~~~~~

- Add meta information for use in Execution Environments
- Multiple modules - add new parameters added in NetBox 3.2
- nb_inventory - Add site_group as an option
- netbox_front_port and netbox_rear_port - Add label as parameter

sensu.sensu_go
~~~~~~~~~~~~~~

- Added support for ansible 2.13
- Removed support for CentOS 8

t_systems_mms.icinga_director
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Add icinga_serviceset module (https://github.com/T-Systems-MMS/ansible-collection-icinga-director/pull/163)
- Test more ansible versions (https://github.com/T-Systems-MMS/ansible-collection-icinga-director/pull/162)

Deprecated Features
-------------------

community.general
~~~~~~~~~~~~~~~~~

- nmcli - deprecate default hairpin mode for a bridge. This so we can change it to ``false`` in community.general 7.0.0, as this is also the default in ``nmcli`` (ansible-collections/community.general#4334).
- proxmox inventory plugin - the current default ``true`` of the ``want_proxmox_nodes_ansible_host`` option has been deprecated. The default will change to ``false`` in community.general 6.0.0. To keep the current behavior, explicitly set ``want_proxmox_nodes_ansible_host`` to ``true`` in your inventory configuration. We suggest to already switch to the new behavior by explicitly setting it to ``false``, and by using ``compose:`` to set ``ansible_host`` to the correct value. See the examples in the plugin documentation for details (ansible-collections/community.general#4466).

Bugfixes
--------

Ansible-core
~~~~~~~~~~~~

- Ansible.ModuleUtils.SID - Use user principal name as is for lookup in the ``Convert-ToSID`` function - ansible/ansible#77316
- Fix traceback when installing a collection from a git repository and git is not installed (ansible/ansible#77479).
- ansible-test - Correctly detect when running as the ``root`` user (UID 0) on the origin host. The result of the detection was incorrectly being inverted.
- ansible-test - Fix skipping of tests marked ``needs/python`` on the origin host.
- ansible-test - Fix skipping of tests marked ``needs/root`` on the origin host.
- ansible-test compile sanity test - do not crash if a column could not be determined for an error (ansible/ansible#77465).
- hostname - use ``file_get_content()`` to read the file containing the host name in the ``FileStrategy.get_permanent_hostname()`` method. This prevents a ``TypeError`` from being raised when the strategy is used (ansible/ansible#77025).
- script - skip in check mode since the plugin cannot determine if a change will occur.
- shell/command - only skip in check mode if the options `creates` and `removes` are both None.
- winrm - Ensure ``kinit`` is run with the same ``PATH`` env var as the Ansible process

cloud.common
~~~~~~~~~~~~

- fix parameters with aliases not being passed through (ansible-collections/cloud.common#91).
- fix turbo mode loading incorrect module (ansible-collections/cloud.common#102).
- turbo - Ensure we don't call the module with duplicated aliased parameters.

community.dns
~~~~~~~~~~~~~

- Update Public Suffix List.

community.docker
~~~~~~~~~~~~~~~~

- docker connection plugin - make sure that ``docker_extra_args`` is used for querying the Docker version. Also ensures that the Docker version is only queried when needed. This is currently the case if a remote user is specified (ansible-collections/community.docker#325, ansible-collections/community.docker#327).

community.general
~~~~~~~~~~~~~~~~~

- dnsmadeeasy - fix failure on deleting DNS entries when API response does not contain monitor value (ansible-collections/community.general#3620).
- git_branch - remove deprecated and unnecessary branch ``unprotect`` method (ansible-collections/community.general#4496).
- gitlab_group - improve searching for projects inside group on deletion (ansible-collections/community.general#4491).
- gitlab_group_members - handle more than 20 groups when finding a group (ansible-collections/community.general#4491, ansible-collections/community.general#4460, ansible-collections/community.general#3729).
- gitlab_hook - handle more than 20 hooks when finding a hook (ansible-collections/community.general#4491).
- gitlab_project - handle more than 20 namespaces when finding a namespace (ansible-collections/community.general#4491).
- gitlab_project_members - handle more than 20 projects and users when finding a project resp. user (ansible-collections/community.general#4491).
- gitlab_user - handle more than 20 users and SSH keys when finding a user resp. SSH key (ansible-collections/community.general#4491).
- keycloak - fix parameters types for ``defaultDefaultClientScopes`` and ``defaultOptionalClientScopes`` from list of dictionaries to list of strings (ansible-collections/community.general#4526).
- opennebula inventory plugin - complete the implementation of ``constructable`` for opennebula inventory plugin. Now ``keyed_groups``, ``compose``, ``groups`` actually work (ansible-collections/community.general#4497).
- pacman - fixed bug where ``absent`` state did not work for locally installed packages (ansible-collections/community.general#4464).
- pritunl - fixed bug where pritunl plugin api add unneeded data in ``auth_string`` parameter (ansible-collections/community.general#4527).
- proxmox inventory plugin - fix error when parsing container with LXC configs (ansible-collections/community.general#4472, ansible-collections/community.general#4472).
- proxmox_kvm - fix a bug when getting a state of VM without name will fail (ansible-collections/community.general#4508).
- xbps - fix error message that is reported when installing packages fails (ansible-collections/community.general#4438).

community.hrobot
~~~~~~~~~~~~~~~~

- robot inventory plugin - do not crash if a server neither has name or primary IP set. Instead, fall back to using the server's number as the name. This can happen if unnamed rack reservations show up in your server list (ansible-collections/community.hrobot#40, ansible-collections/community.hrobot#47).

community.postgresql
~~~~~~~~~~~~~~~~~~~~

- postgresql_db - get rid of the deprecated psycopg2 connection alias ``database`` in favor of ``dbname`` when psycopg2 is 2.7+ is used (ansible-collections/community.postgresql#194, ansible-collections/community.postgresql#196).

community.proxysql
~~~~~~~~~~~~~~~~~~

- module_utils/mysql.py - Proxysql version suffix may not be an integer (ansible-collections/community.proxysql#96).

community.zabbix
~~~~~~~~~~~~~~~~

- Various modules and plugins - use vendored version of ``distutils.version`` instead of the deprecated Python standard library ``distutils`` (ansible-collections/community.zabbix#603).
- ZapiWrapper (module_utils) - fix only partial zabbix version is returned.
- zabbix_agent - Install Zabbix packages when zabbix_repo == other is used with yum.
- zabbix_agent - Install the Agent for MacOSX sooner than its configuration.
- zabbix_agent - The ``Install gpg key`` task for Debian did not work when a http proxy is configured.
- zabbix_agent - Use the correct URL with correct version.
- zabbix_agent - Use the correct path to determine Zabbix Agent 2 installation on Windows.
- zabbix_agent - Using the correct hostgroup as default now.
- zabbix_agent - fix for the autopsk, incl. tests with Molecule.
- zabbix_host - Added small notification that an user should have read access to get hostgroups overview.
- zabbix_host - adapter changed properties for interface comparisson
- zabbix_maintenance - should now work when creating maintenace on Zabbix 6.0 server
- zabbix_proxy - 'zcat' the zipped sql files to /tmp before executing it.
- zabbix_proxy - Check MySQL version before settings mysql_innodb_default_row_format value.
- zabbix_proxy - Install Zabbix packages when zabbix_repo == other is used with yum.
- zabbix_server - 'zcat' the zipped sql files to /tmp before executing it.
- zabbix_server - Check MySQL version before settings mysql_innodb_default_row_format value.
- zabbix_server - Install Zabbix packages when zabbix_repo == other is used with yum.
- zabbix_template - setting correct null values to fix unintentional changes
- zabbix_web - Added some default variables if the geerlingguys apache role is not used.
- zabbix_web - Specified the correct versions for php.

f5networks.f5_modules
~~~~~~~~~~~~~~~~~~~~~

- bigip_command - fixed a bug that interpreted a pipe symbol inside an input string as pipe used to combine commands
- bigip_device_certificate - adds missing space to tmsh command
- bigip_gtm_wide_ip - fixed inability to change persistence setting on existing wide ip objects

fortinet.fortios
~~~~~~~~~~~~~~~~

- Fix issues in version mismatch logic.
- Fix status issue in fortios_json_generic().
- Fix the issue of inconsistent data types in different schemas.

netapp.cloudmanager
~~~~~~~~~~~~~~~~~~~

- Add check when volume is capacity tiered.
- na_cloudmanager_connector_azure - Fix string formatting error when deleting the connector.

netapp.ontap
~~~~~~~~~~~~

- Fixed ONTAP minor version ignored in checking minimum ONTAP version.
- na_ontap_aggregate - Fixed error in delete aggregate if the ``disk_count`` is less than current disk count.
- na_ontap_autosupport - Fixed `partner_address` not working in REST.
- na_ontap_command - document that a READONLY user is not supported, even for show commands.
- na_ontap_disk_options - ONTAP 9.10.1 returns on/off rather than True/False.
- na_ontap_info - Fixes issue with na_ontap_info failing in 9.1 because of ``job-schedule-cluster``.
- na_ontap_iscsi - Fixed issue with ``start_state`` always being set to stopped when creating an ISCSI.
- na_ontap_iscsi - fixed error starting iscsi service on vserver where Service, adapter, or operation already started.
- na_ontap_lun - Fixed KeyError on options ``force_resize``, ``force_remove`` and ``force_remove_fenced`` in Zapi.
- na_ontap_lun - Fixed ``force_remove`` option silently ignored in REST.
- na_ontap_lun_map - TypeError - '>' not supported between instances of 'int' and 'str '.
- na_ontap_qtree - Fixed issue with ``oplocks`` not being changed during a modify in Zapi.
- na_ontap_qtree - Fixed issue with ``oplocks`` not warning user about not being supported in REST
- na_ontap_snapmirror - Added use_rest condition for the REST support to work when use_rest `always`.
- na_ontap_snapshot - add error message if volume is not found with REST.
- na_ontap_snapshot - fix key error on volume when using REST.
- na_ontap_snapshot_policy - Do not validate parameter when state is ``absent`` and fix KeyError on ``comment``.
- na_ontap_svm - fixed KeyError issue on protocols when vserver is stopped.
- na_ontap_volume - do not attempt to mount volume if current state is offline.
- na_ontap_volume - fix idempotency issue with compression settings when using REST.
- na_ontap_vserver_peer - Added cluster peer accept code in REST.
- na_ontap_vserver_peer - Fixed AttributeError if ``dest_hostname`` or ``peer_options`` not present.
- na_ontap_vserver_peer - Fixed ``local_name_for_peer`` and ``local_name_for_source`` options silently ignored in REST.
- na_ontap_vserver_peer - Get peer cluster name if remote peer exist else use local cluster name.
- na_ontap_vserver_peer - ignore job entry doesn't exist error with REST to bypass ONTAP issue with FSx.
- na_ontap_vserver_peer - report error if SVM peer does not see a peering relationship after create.

netbox.netbox
~~~~~~~~~~~~~

- netbox_contact_group - Fix field description
- netbox_rack - Add location as a query parameter for uniqueness check

New Plugins
-----------

Connection
~~~~~~~~~~

- community.zabbix.httpapi - Use httpapi to run command on network appliances

Httpapi
~~~~~~~

- community.zabbix.jsonrpc - HttpApi Plugin for Zabbix

New Modules
-----------

community.general
~~~~~~~~~~~~~~~~~

Cloud
^^^^^

Lxd
...

- community.general.lxd_project - Manage LXD projects

Monitoring
^^^^^^^^^^

- community.general.alerta_customer - Manage customers in Alerta

community.zabbix
~~~~~~~~~~~~~~~~

- community.zabbix.zabbix_authentication - Update Zabbix authentication
- community.zabbix.zabbix_autoregister - Update Zabbix autoregistration
- community.zabbix.zabbix_housekeeping - Update Zabbix housekeeping

f5networks.f5_modules
~~~~~~~~~~~~~~~~~~~~~

- f5networks.f5_modules.bigip_ltm_global - Manages global LTM settings

t_systems_mms.icinga_director
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- t_systems_mms.icinga_director.icinga_serviceset - Manage servicesets in Icinga2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cloud feature This issue/PR relates to a feature request module module new_contributor Help guide this first time contributor plugins plugin (any type) tests tests unit tests/unit
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants