* proxmox_kvm: remove redundant parameters
The functions start_vm() and stop_vm() receive four common parameters:
module, proxmox, vm and vmid.
The last too are redundant so keep only vm.
I also took the opportunity to remove extra API calls to proxmox.nodes()
by assigning its return value to a variable.
* proxmox_kvm: remove extra calls to status.current
The get_vm() function already returns an array of properties containing
the status so remove extra API calls to retrieve this information.
Example:
[{''netin'': 177232, ''name'': ''test-instance'', ''maxcpu'': 1, ''node'': ''prx-01'', ''disk'': 0, ''template'': 0, ''uptime'': 267, ''cpu'': 0.0410680030805531, ''diskread'': 165294744, ''maxdisk'': 10737418240, ''vmid'': 42, ''status'': ''running'', ''id'': ''qemu/42'', ''maxmem'': 536870912, ''diskwrite'': 18528256, ''netout'': 2918, ''type'': ''qemu'', ''mem'': 160284950}]
* proxmox_kvm: kill VZ_TYPE global variable
It reduces readability without providing much values nowadays.
* proxmox_kvm: simplify vmid generation
Forgotten suggestion from Felix Fontein in PR#811.
* proxmox_kvm: add changelog fragment for PR#934
(cherry picked from commit 02e80c610b)
* bring Manager power cmds to parity with System power commands
* add changelog fragment
* Update changelogs/fragments/903-enhance-redfish-manager-reset-actions.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit e382044e42)
Co-authored-by: Bill Dodd <billdodd@gmail.com>
As per https://learn.hashicorp.com/tutorials/vault/namespaces, setting VAULT_NAMESPACE env var is a completely supported mechanism to make all vault command use said namespace, so hashi_vault lookup function should do the same.
Co-authored-by: Holt Wilkins <hwilkins@palantir.com>
(cherry picked from commit 1a5702cf21)
Co-authored-by: holtwilkins <5665043+holtwilkins@users.noreply.github.com>
* Proper error when python-xml is missing
* use missing_required_lib to output error
* Add changelog
(cherry picked from commit 09d89da0ab)
Co-authored-by: Amin Vakil <info@aminvakil.com>
* proxmox_kvm: new function wait_for_task() (#831)
Allows some factorization of redundant code in stop_vm(), start_vm(),
create_vm() and main().
This new function also waits one extra second after a successful task execution as the API can be a bit ahead of Proxmox.
Before:
TASK [ansible-role-proxmox-instance : Ensure test-instance is created]
changed: [localhost]
TASK [ansible-role-proxmox-instance : Ensure test-instance is updated]
fatal: [localhost]: FAILED! => changed=false
msg: VM test-instance does not exist in cluster.
After:
TASK [ansible-role-proxmox-instance : Ensure test-instance is created]
changed: [localhost]
TASK [ansible-role-proxmox-instance : Ensure test-instance is updated]
changed: [localhost]
With suggestions from Felix Fontein <felix@fontein.de>.
(cherry picked from commit 9a5fe4c9af)
* Update plugins/modules/cloud/misc/proxmox_kvm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* add ts option to slack module to allow editing messages
* add version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
* use correct API URL when updating
* add changelog fragment
* add diff/changed support for updating slack messages
* add an example on how to edit a message
* rename ts to message_id
* use the changed variable where possible
* correct conversation.history url
* proper formatting in documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* add channel to example
* correct conversation history url
* allow channel to start with C0
* fetch_url does not construct query parameters
* add missing argument
* return more data when nothing has changed
* use urlencode to construct query string
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 6d60d3fa7f)
Co-authored-by: Andreas Lutro <anlutro@gmail.com>
* add a custom module for managing group membership in gitlab
* add integration test & modify the module
* modify the module
* modify the module
* remove whitespace
* add aliases file & modify the module
* minor and suggested modifications
* suggested modifications
* more minor modifications
* modified the module to use gitlabAuth
* removed api_url from the doc
* remove api_token
* add update access level for an existing user
* remove access level if statement
(cherry picked from commit 905239f530)
Co-authored-by: Zainab Alsaffar <za5775@rit.edu>
Since the module unconditionally issues ALTER statements in order to
observe their effect on the postgres catalog - to determine whether the
privileges have changes - a rollback is thus advisable when in fact
nothing has changed.
fix#885
(cherry picked from commit 2b3c8f4582)
Co-authored-by: Georg Sauthoff <mail@georg.so>
* postgresql_privs: allow lowercased PUBLIC role
* add changelog fragment
* improve CI
* fix changelog fragment
(cherry picked from commit bfdb76e60d)
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Fix get_installed_versions: correctly parse "default" version.
gem query output of
bundler (default: 2.1.4, 1.17.2)
Gets parsed as:
['default:', '1.17.2']
Fix this by skipping "default: " if present in the list of versions - by adding
it as an optional part of the regex, grouped as a non-capturing group to keep
the index of existing group.
This now correctly parses the above input as
['2.1.4:', '1.17.2']
Fixes#782
* Fix gem get_installed_versions (cont): add changelog fragment
* Update changelogs/fragments/783-fix-gem-installed-versions.yaml as per suggestion
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 6dc98c08fd)
Co-authored-by: Vlad Mencl <vladimir.mencl@reannz.co.nz>
Issue: 824
Co-authored-by: Scott Seekamp <sseekamp@digitalocean.com>
(cherry picked from commit d7ec65c19c)
Co-authored-by: Scott Seekamp <sylgeist@risei.net>
When the `vmid` parameter is not supplied and the module can only rely on
name look-up an early failure can happen if the targeted VM doesn't exist.
In this case a task execution with the parameter `state` set to `absent`
will actually fail instead of being considered ok.
This patch introduces a deferred error-checking for non-existent VMs
by assigning the value -1 to the `vmid` parameter, allowing the actual
verification to be performed in the right code paths.
Is also help to differentiate between a non-existent `vmid` or non-existent
VM `name`.
Previously:
TASK [ansible-role-proxmox-instance : Remove instance-test]
changed: [localhost]
...
TASK [ansible-role-proxmox-instance : Remove instance-test]
fatal: [localhost]: FAILED! => changed=false
msg: VM instance-test does not exist in cluster.
Now:
TASK [ansible-role-proxmox-instance : Remove instance-test]
ok: [localhost]
...
TASK [ansible-role-proxmox-instance : Remove instance-test]
ok: [localhost]
Update changelogs/fragments/811-proxmox-kvm-state-absent.yml
With suggestions from Felix Fontein <felix@fontein.de>.
(cherry picked from commit 73f8338980)
Co-authored-by: Tristan Le Guern <tleguern@bouledef.eu>
* Specify device for Pushover notification
New parameter: device
Example:
- community.general.pushover:
msg: '{{ inventory_hostname }} has been lost somewhere'
app_token: wxfdksl
user_key: baa5fe97f2c5ab3ca8f0bb59
device: admins-iPhone
delegate_to: localhost
Using the Pushover API, you can specify a device where the message should be delivered to. Instead of notifying all devices (the default), the message is sent only to the specified device. Multiple devices can be given separated by a comma.
This change is downwards compatible: omitting the device key sends the message to all devices (as before).
* Added changelog fragments file for pushover
File format as specified in https://docs.ansible.com/ansible/devel/community/development_process.html#changelogs-how-to.
* Added version_added information
As suggested by Felix (thanks!).
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit bf41ddc8ef)
Co-authored-by: Bernd Arnold <wopfel@gmail.com>
* Fix for casks with @ in the name
* Add changelog fragment
* Update changelogs/fragments/homebrew-cask-at-symbol-fix.yaml
Period required at the end of changelog entry
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Use double backticks
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
(cherry picked from commit 8f2b2d9dc6)
Co-authored-by: Brandon Boles <bb@zbeba.com>
* pkg5: wrap 'to modify' package list
Moved from https://github.com/ansible/ansible/pull/56378
* Add changelog fragment.
* Correct markup.
* Update changelogs/fragments/789-pkg5-wrap-to-modify-package-list.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit d4e9b7575c)
Co-authored-by: Peter Oliver <github.com@mavit.org.uk>
* Fix deprecation of callables.
* Fix various sanity errors.
* Revert callback_type -> type transform.
* Fix stat_result times: these are float according to https://github.com/python/typeshed/blob/master/stdlib/3/os/__init__.pyi
* Apply suggestions from code review
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
(cherry picked from commit 7cf472855c)
Co-authored-by: Felix Fontein <felix@fontein.de>
* Set LMDB_PURE to prevent lmdb install trying to patch a system library.
* Fix name.
(cherry picked from commit b36f77515c)
Co-authored-by: Felix Fontein <felix@fontein.de>
* Work around old pip versions which install yanked packages.
* Try II
* Proper approach.
* Avoid too old version being installed.
(cherry picked from commit 38996b7544)
Co-authored-by: Felix Fontein <felix@fontein.de>
* This commit adds proxmox inventory module and proxmox_snap for snapshot management
* Fixed pylint errors
* Missed this one..
* This should fix the doc errors
* Remove proxmox_snap to allow for single module per PR
* Changes as suggested by felixfontein in #535
* Reverted back to AnsibleError as module.fail_json broke it. Need to investigate further
* Made importerror behave similar to docker_swarm and gitlab_runner
* FALSE != False
* Added myself as author
* Added a requested feature from a colleague to also sort VMs based on their running state
* Prevent VM templates from being added to the inventory
* Processed feedback
* Updated my email and included version
* Processed doc feedback
* More feedback processed
* Shortened this line of documentation, it is a duplicate and it was causing a sanity error (> 160 characters)
* Added test from PR #736 to check what needs to be changed to make it work
* Changed some tests around
* Remove some tests, first get these working
* Disabled all tests, except the one I am hacking together now
* Added mocker, still trying to figure this out
* Am I looking in the right direction?
* Processed docs feedback
* Fixed bot feedback
* Removed all other tests, started with basic ones (borrowed from cobbler)
* Removed all other tests, started with basic ones (borrowed from cobbler)
* Removed all other tests, started with basic ones (borrowed from cobbler)
* Removed init_cache test as it is implemented on a different way in the original foreman/satellite inventory (and thus also this one)
* This actually passes! Need to check if I need to add asserts as well
* Made bot happy again?
* Added some assertions
* Added note about PVE API version
* Mocked only get_json, the rest functions as-is
* Fixed sanity errors
* Fixed version bump (again...) ;-)
* Processed feedback
(cherry picked from commit 73be912bf7)
Co-authored-by: Jeffrey van Pelt <jeff@vanpelt.one>
* Adding types to sysupgrade documentation
* Apply suggestions from code review
* Adding installurl flag. Changing wording in example.
* Use None for installurl by default
* Changing word case in description
* sysupgrade: use module structure recommended by Ansible unit test docs
* Adding unit test for sysupgrade
Signed-off-by: Andrew Klaus <andrew@aklaus.ca>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 2aabf5e62b)