ZFS-backed block devices may contain just the bare device name and
not have extra options like `,size=foo`, `,format=qcow2` etc. This
breaks an assumption in existing regex (which expects a comma).
Support such device strings and add a couple of testcases to validate.
* Add proxmox_nic module
Add proxmox_nic module to manage NIC's on Qemu(KVM) VM's in a Proxmox VE
cluster.
Update proxmox integration tests and add tests for proxmox_nic module.
This partially solves https://github.com/ansible-collections/community.general/issues/1964#issuecomment-790499397
and allows for adding/updating/deleting network interface cards after
creating/cloning a VM.
The proxmox_nic module will keep MAC-addresses the same when updating a
NIC. It only changes when explicitly setting a MAC-address.
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add check_mode and implement review comments
- check_mode added
- some documentation updates
- when MTU is set, check if the model is virtio, else fail
- trunks can now be provided as list of ints instead of vlanid[;vlanid...]
* Make returns on update_nic and delete_nic more readable
Co-authored-by: Felix Fontein <felix@fontein.de>
* Increase readability on update_nic and delete_nic
* Implement check in get_vmid
- get_vmid will now fail when multiple vmid's are returned as proxmox
doesn't guarantee uniqueness
- remove an unused import
- fix a typo in an error message
* Add some error checking to get_vmid
- get_vmid will now return the error message when proxmoxer fails
- get_vmid will return the vmid directly instead of a list of one
- Some minor documentation updates
* Warn instead of fail when setting mtu on unsupported nic
- When setting the MTU on an unsupported NIC model (virtio is the only
supported model) this module will now print a warning instead of
failing.
- Some minor documentation updates.
* Take advantage of proxmox_auth_argument_spec
Make use of proxmox_auth_argument_spec from plugins/module_utils/proxmox.py
This provides some extra environment fallbacks.
* Add blank line to conform with pep8
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed elements for many lists
* added changelog fragment
* Removed verbose types in description - still missing formatting and properly documenting dicts
* Add plugin_paths parameter to terraform module.
The list `plugin_paths` is used in the init phase of terraform by setting
the `-plugin-dir` command line argument to a path that contains
terraform plugins. When the `-plugin-dir` argument is set, the plugin
discovery and auto-download of terraform is disabled. This is useful when
running terraform in automation environments for testing where the production
endpoints are strictly controlled or on air-gapped networks and you need
to control the versions of plugins available.
* Added `elements: path` to `plugin_paths` parameter documentation in terraform.py
* added changelog fragment
* Update changelogs/fragments/2308-terraform-add-plugin_paths-parameter.yaml
use double back-ticks vice single
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Add version added to documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Add markup around URL in documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
remove `required=False` and `default=None` from module argument spec, as that is the default behavior and redundant
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Added directory structure info to documentation and examples sections.
* Update plugins/modules/cloud/misc/terraform.py
grammatical fix
Co-authored-by: Felix Fontein <felix@fontein.de>
* grammar fix to description.
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* fixed udm_dns_zone
* fixed udm_dns_record
* removed lines from ignore files
* added changelog fragment
* moved the list elements fix to minor_changes
* linode_v4: add support for `private_ip` option.
* linode_v4: remove `required` attribute from `private_ip` parameter.
* linode_v4: add changelog fragment.
* linode_v4: add PR link to changelog fragment.
Co-authored-by: Amin Vakil <info@aminvakil.com>
* linode_v4: add the `version_added` attribute to the `private_ip` section of module documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* linode_v4: improve styling of `private_ip` docs
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix for Terraform 0.15
removed the append of variables in terraform validate because this is deprecated in Terraform 0.15. See: https://github.com/hashicorp/terraform/blob/v0.15/CHANGELOG.md >> The -var and -var-file options are no longer available on terraform validate. These were deprecated and have had no effect since Terraform v0.12
* Create terraform-validate.yaml
* Update and rename terraform-validate.yaml to 2246-terraform-validate.yaml
* Update changelogs/fragments/2246-terraform-validate.yaml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update terraform.py
remove `-force` add `-auto-approve` on destroy as described in issue #2247
* Update and rename 2246-terraform-validate.yaml to 2246-terraform.yaml
* Update 2246-terraform.yaml
* add a function which check the used tf version
* add a function which check the used tf version
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* add version return to function
* changed it to pass sanity check
* change variable name
* changed to a more specialized data types
* remove use_unsafe_shell=True
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* add description
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Rainer Leber <rainer.leber@sva.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed cdrom parameter
* fixed networks and custom_params parameters
* fixed disks parameter
* fixed remaining parameters
* removed plugins/modules/cloud/xenserver/xenserver_guest.py from ignore list
* comments from PR
* comments from PR
* more adjustments from the PR
* using get_bin_path() on atomic modules
* added changelog fragment
* Update changelogs/fragments/2144-atomic_get_bin_path.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix type information for vmadm.resolvers
* Update changelogs/fragments/2135-vmadm-resolvers-type-fix.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* opennebula: add one_template module
A basic module for maintaining VM templates which should be flexible enough
for most needs ...
* fixup! opennebula: add one_template module
* fixup! fixup! opennebula: add one_template module
* added purge as optional module parameter
* Adding changelog fragment
* Adding version to documentation for purge
Co-authored-by: Felix Fontein <felix@fontein.de>
* Updating changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adding tags as module parameter
* Added changelog fragment
* Correcting typo in changelog fragment
* Correcting punctuation in docs
* Including version to tags parameter description
Co-authored-by: Felix Fontein <felix@fontein.de>
* Correct tag validation and parsing logic condition
Original test was for key and not value
Co-authored-by: Felix Fontein <felix@fontein.de>
* Improving usability with default null behavior
* Removing default case and related unneccessary complexity
* Display regex in tags description as code
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/cloud/smartos/smartos_image_info.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_scaling_group.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cdb_user.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax.py
* Tidy up sanity checks ignore lines modules (batch 8)
* added changelog fragment
* rolled back removal of parameter from rax.py
* Removed requirement for password
* Updated documentation for password
* Adding changelog fragment
* Update changelogs/fragments/1999-proxmox-fix-issue-1955.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/cloud/heroku/heroku_collaborator.py
* fixed validation-modules for plugins/modules/cloud/linode/linode_v4.py
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_provider.py
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_policies.py
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_alert_profiles.py
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_tags.py
* fixed validation-modules for plugins/modules/cloud/opennebula/one_host.py
* fixed validation-modules for plugins/modules/cloud/opennebula/one_image_info.py
* fixed validation-modules for plugins/modules/cloud/opennebula/one_vm.py
* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_lb.py
* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_compute.py
* fixed validation-modules for plugins/modules/remote_management/oneview/oneview_network_set_info.py
* fixed validation-modules for plugins/modules/remote_management/oneview/oneview_ethernet_network_info.py
* fixed validation-modules for plugins/modules/remote_management/oneview/oneview_datacenter_info.py
* fixed validation-modules for plugins/modules/remote_management/oneview/oneview_enclosure_info.py
* Tidy up sanity checks ignore lines modules (batch 7)
* added changelog fragment
* Missed a couple of lines in ingnore-2.11.txt
* fixed validation-modules for plugins/modules/cloud/packet/packet_volume_attachment.py
* Adjusted ignore files and changelog for packet_volume_attachment.py
* Rolled back ignore line for linode module
* Update plugins/modules/cloud/opennebula/one_image_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixes from the PR
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox_kvm: trivial patch for Github issue #1875
* proxmox_kvm: add a changelog fragment
* Update changelogs/fragments/1895-proxmox-kvm-fix-issue-1875.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox_storage_info: new module
Simple info module dedicated to the retrieval of information about the
storages available on a Proxmox VE cluster.
* Update plugins/modules/cloud/misc/proxmox_storage_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/proxmox_storage_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/proxmox_storage_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/proxmox_storage_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/proxmox_storage_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox_kvm: undefined local variable status
* proxmox_kvm: Add a changelog fragment
* Update changelogs/fragments/1847-proxmox-kvm-fix-status.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox_kvm: fix the RETURN document
* proxmox_kvm: fix name variable when state=current
The variable name is not always defined as the module can be called with
just a vmid.
Before:
> "msg": "VM None with vmid = 118 is stopped"
After:
> "msg": "VM test-instance with vmid = 118 is stopped"
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/callback/hipchat.py
* fixed validation-modules for plugins/connection/lxc.py
* fixed validation-modules for plugins/modules/cloud/lxc/lxc_container.py
* fixed validation-modules for plugins/modules/monitoring/statusio_maintenance.py
* fixed validation-modules for plugins/modules/system/alternatives.py
* fixed validation-modules for plugins/modules/system/beadm.py
* fixed validation-modules for plugins/modules/system/cronvar.py
* fixed validation-modules for plugins/modules/system/dconf.py
* fixed validation-modules for plugins/modules/system/interfaces_file.py
* fixed validation-modules for plugins/modules/system/java_cert.py
* fixed validation-modules for plugins/modules/system/lvg.py
* fixed validation-modules for plugins/modules/system/lvol.py
* fixed validation-modules for plugins/modules/system/parted.py
* fixed validation-modules for plugins/modules/system/timezone.py
* fixed validation-modules for plugins/modules/web_infrastructure/rundeck_acl_policy.py
* Tidy up all pylint:blacklisted-name sanity checks ignore lines
* Missed one in statusio_maintenace.py
* fixed validation-modules for plugins/modules/system/filesystem.py
* Missed one in gconftool2.py
* Missed one in alternatives.py
* Using dummies now
* fixed indentation
* Made all the changes about replacing _ with dummy
* Rollback bug fixed
* Rollback bug fixed, part II
* added changelog fragment
* Improved changelog frag message per PR
* added ``merge_profile`` parameter to merge configurations from the play to an existing profile
* add fragment
* cosmetic changes
Co-authored-by: Frank Dornheim <“dornheim@posteo.de@users.noreply.github.com”>
* fixed validation-modules for plugins/modules/storage/netapp/na_ontap_gather_facts.py
* fixed validation-modules for plugins/modules/source_control/gitlab/gitlab_runner.py
* fixed validation-modules for plugins/modules/packaging/os/redhat_subscription.py
* fixed validation-modules for plugins/modules/notification/twilio.py
* fixed validation-modules for plugins/modules/notification/slack.py
* fixed validation-modules for plugins/modules/notification/sendgrid.py
* fixed validation-modules for plugins/modules/notification/rocketchat.py
* fixed validation-modules for plugins/modules/notification/office_365_connector_card.py
* fixed validation-modules for plugins/modules/notification/nexmo.py
* fixed validation-modules for plugins/modules/notification/mail.py
* fixed validation-modules for plugins/modules/net_tools/omapi_host.py
* fixed validation-modules for plugins/modules/net_tools/nsupdate.py
* fixed validation-modules for plugins/modules/net_tools/dnsimple.py
* fixed validation-modules for plugins/modules/monitoring/pagerduty.py
* fixed validation-modules for plugins/modules/monitoring/librato_annotation.py
* fixed validation-modules for plugins/modules/identity/onepassword_info.py
* fixed validation-modules for plugins/modules/identity/keycloak/keycloak_client.py
* fixed validation-modules for plugins/modules/files/xml.py
* fixed validation-modules for plugins/modules/cloud/softlayer/sl_vm.py
* fixed validation-modules for plugins/modules/cloud/smartos/vmadm.py
* fixed validation-modules for plugins/modules/cloud/pubnub/pubnub_blocks.py
* fixed validation-modules for plugins/modules/cloud/packet/packet_device.py
* fixed validation-modules for plugins/modules/cloud/lxd/lxd_container.py
* fixed validation-modules for plugins/module_utils/oracle/oci_utils.py
* fixed validation-modules for plugins/doc_fragments/oracle_creatable_resource.py
* Tidy up validate-modules:parameter-list-no-elements for some modules
* fixed validation-modules for plugins/modules/monitoring/statusio_maintenance.py
* Fixed pending issues from CI validation
* Fixed xml module elements for add_children & set_children
* added changelog fragment
* typo
* fix wording in changelog frag
* don't add args if set to 'no_defaults'
* never add force even if false, will require archive parameter other which is not implemented
* remove trailing whitespace
* add changelog fragment
* Update changelogs/fragments/1783-proxmox-kvm-fix-args-500-error.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added VMID to all returns
Also added in the docs promised return of MAC and devices when state ==
current.
Fixes: #1641
* Revert devices and mac as get_vminfo works differently then I expected
* Added status output to a few more calls
* Update RETURNS docs
* Remove vmid where it is not available
* Added changelog fragment
* Update changelogs/fragments/1715-proxmox_kvm-add-vmid-to-returns.yml
You're right, this message is way better then mine.. :-)
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_alert_policy.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_blueprint_package.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_firewall_policy.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_loadbalancer.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_modify_server.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_publicip.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_server_snapshot.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_server.py
* Tidy up validate-modules ignores for cloud/centurylink modules
* added changelog fragment per PR
* Update targets for CI for devel branch; move some targets to stable-2.10.
* Skipping test on RHEL 8.3 (it is already skipped on RHEL 8.2).
* Linting.
* Shut 2.9/2.10 pylint complaints up.
* only set param features when variable is not empty
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Topper Harly <topperharly@gmx.net>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix a bunch of potential security issues (secret leaking).
* oneandone_server was already ok.
* Add more parameters for pagerduty_alert.
* Add more no_log=True.
* Fixing return code not showing the command that fails in terraform.
* Update changelogs/fragments/1632-using_check_rc_in_terraform.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix reconfigure option
If `init_reconfigure` is true, the init fails because it is run as:
`terraform init -input=false - r e c o n f i g u r e`
* changelog fragment
* typo
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove kubevirt and set up redirects to community.kubevirt
This also removes the dependency on community.kubernetes which fixes
https://github.com/ansible-collections/community.general/issues/354.
* Update changelogs/fragments/1317-kubevirt-migration-removal.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/1317-kubevirt-migration-removal.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add missed redirects
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove Google cloud plugins migrated to community.google
* Remove another symlink
* Fix typo for community.general version
* Update changelogs/fragments/1319-google-migration-removal.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/1319-google-migration-removal.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add fragment for inventory script
* fix yaml formatting
* adjust past relnotes in accordance with removal of google plugins
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fresh branch to try this again
* Fix typo
* Fix sanity error
* Redid some tests, not sure if this works...
* Re-fixed documentation
* Fixed linter
* Update layout
* Processed feedback
* Processed feedback
* Added check_mode
* Run test with check mode
* Fix layout
* Fix more layout
* Fixed last sanity errors (for now)
* Check mode is not a module arg..
* Fix sanity-error
* Reworked check_mode and adapted tests
* Added extra test to also run through remove logic, added message for check_mode to show output is different, grabbed magicmock from different library to fix py2 errors
* Remove unused function
* Processed feedback
* Processed feedback
* Processed feedback
* proxmox{,_kvm,_template}: import auth doc fragment
* proxmox{,_kvm}: new common doc_fragment
Share the parameters `pool`, `vmid` and `node`.
* proxmox_template: sync node description
* changelog_framgent
* Fixed validate-modules:mutually_exclusive-unknown for plugins/modules/packaging/os/redhat_subscription.py
* fixed validation-modules for plugins/modules/cloud/lxd/lxd_container.py
* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_network_interface_address.py
* fixed validation-modules for plugins/modules/cloud/opennebula/one_host.py
* fixed validation-modules for plugins/modules/cloud/opennebula/one_image_info.py
* fixed validation-modules for plugins/modules/cloud/opennebula/one_image.py
* fixed validation-modules for plugins/modules/cloud/opennebula/one_service.py
* fixed validation-modules for plugins/modules/cloud/opennebula/one_vm.py
* fixed validation-modules for plugins/modules/net_tools/cloudflare_dns.py
* fixed validation-modules for plugins/modules/net_tools/ip_netns.py
* fixed validation-modules for plugins/modules/net_tools/ipinfoio_facts.py
* fixed validation-modules for plugins/modules/net_tools/netcup_dns.py
* fixed validation-modules for plugins/modules/remote_management/wakeonlan.py
* added types to plugins/modules/remote_management/stacki/stacki_host.py but still cannot remove ignore line
* added a couple of FIXME comments
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_provider.py
* fixed validation-modules for plugins/modules/notification/rocketchat.py
* fixed validation-modules for plugins/modules/monitoring/bigpanda.py
* fixed validation-modules for plugins/modules/identity/keycloak/keycloak_client.py
* fixed validation-modules for plugins/modules/identity/keycloak/keycloak_clienttemplate.py
* fixed validation-modules for plugins/modules/cloud/univention/udm_user.py
* fixed validation-modules for plugins/modules/cloud/univention/udm_group.py
* fixed validation-modules for plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py
* fixed validation-modules for plugins/modules/cloud/smartos/imgadm.py
* fixed validation-modules for plugins/modules/cloud/profitbricks/profitbricks_nic.py
* fixed validation-modules for plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py
* Tidy up validate-modules ignores no-default-for-required-parameter + couple of other cases
* Added changelog frag
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_alert_policy.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_firewall_policy.py
* fixed validation-modules for plugins/modules/cloud/lxd/lxd_profile.py
* Typos and small fixes
* fixed validation-modules for plugins/modules/net_tools/ldap/ldap_passwd.py
* Typos and small fixes, part 2
* Fixes from PR comments
* Update plugins/modules/cloud/profitbricks/profitbricks_nic.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Rolled back the mutually-exclusive-unknown in redhat_subscription
* Update changelogs/fragments/1423-valmod_multiple_cases.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Tidy up validate-modules ignores doc-required-mismatch
* Tidy up validate-modules ignores doc-required-mismatch - update on 2.11
* Fixed chengelog frag
* rolledback removal of parameter from cloud/smartos/vmadm.py
* removed changelog frag for the rollback
* Update plugins/modules/cloud/smartos/vmadm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Revert "removed changelog frag for the rollback"
This reverts commit 56a02ead3b.
* suggestion from PR
* yet another PR suggestion
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/cloud/lxc/lxc_container.py
* fixed validation-modules for plugins/modules/cloud/smartos/vmadm.py
* fixed validation-modules for plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py
* fixed validation-modules for plugins/modules/cloud/univention/udm_dns_record.py
* fixed validation-modules for plugins/modules/cloud/univention/udm_dns_zone.py
* fixed validation-modules for plugins/modules/cloud/lxc/lxc_container.py
* fixed validation-modules for plugins/modules/cloud/univention/udm_user.py
* fixed validation-modules for plugins/modules/clustering/etcd3.py
* fixed validation-modules for plugins/modules/clustering/znode.py
* fixed validation-modules for plugins/modules/remote_management/hpilo/hpilo_boot.py
* fixed validation-modules for plugins/modules/remote_management/ipmi/ipmi_boot.py
* fixed validation-modules for plugins/modules/remote_management/ipmi/ipmi_power.py
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_provider.py
* fixed validation-modules for plugins/modules/remote_management/stacki/stacki_host.py
* fixed validation-modules for plugins/modules/cloud/univention/udm_share.py
* Removed validate-modules:doc-choices-do-not-match-spec from ignore files
* fixed alias samba_inherit_permissions in udm_share.py
* Rolled back a couple of lines
* Removed duplicate key in docs
* Rolled back a couple of troublesome lines
* Removed no-longer necessary ignore lines
* Removed no-longer necessary ignore lines on 2.11 as well
* Removed no-longer necessary ignore lines on 2.9 this time
* fixed validation-modules for plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py
* fixed validation-modules for plugins/modules/cloud/univention/udm_share.py
* fixed validation-modules for plugins/modules/net_tools/nios/nios_host_record.py
* fixed validation-modules for plugins/modules/storage/zfs/zfs_facts.py
* fixed validation-modules for plugins/modules/storage/zfs/zpool_facts.py
* Tidy up validate-modules ignores nonexistent-parameter-documented
* Adjustments per the PR
* Removed no longer needed ignore line for udm_share.py
* fixed validation-modules for plugins/modules/cloud/profitbricks/profitbricks_datacenter.py
* fixed validation-modules for plugins/modules/cloud/profitbricks/profitbricks_nic.py
* fixed validation-modules for plugins/modules/cloud/profitbricks/profitbricks.py
* fixed validation-modules for plugins/modules/cloud/profitbricks/profitbricks_volume_attachments.py
* fixed validation-modules for plugins/modules/cloud/profitbricks/profitbricks_volume.py
* Tidy up validate-modules ignores for cloud/profitbricks modules
* CI errors for 2.9
* proxmox: create a common base
Add a doc_fragment to share the documentation regarding authentication
parameters (api_host, api_user, api_password, api_token_id,
api_token_secret as well as the lone validate_certs).
Add a module_utils to hold common code such as the argument spec (again
related to authentication paramters), a helper function to convert from
Proxmox boolean representation to python and the base class
ProxmoxAnsible.
For now it only handles the connection to Proxmox VE API but more can be
added in the future.
To check if everything is well in place add three new modules:
proxmox_{domain,group,user}_info.
And finaly tests these new modules.
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add tests/integration/targets/proxmox/aliases
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_aa_policy.py
fixed validation-modules for plugins/modules/cloud/centurylink/clc_alert_policy.py
fixed validation-modules for plugins/modules/cloud/centurylink/clc_firewall_policy.py
fixed validation-modules for plugins/modules/cloud/centurylink/clc_blueprint_package.py
fixed validation-modules for plugins/modules/cloud/centurylink/clc_group.py
fixed validation-modules for plugins/modules/cloud/centurylink/clc_loadbalancer.py
fixed validation-modules for plugins/modules/cloud/centurylink/clc_modify_server.py
fixed validation-modules for plugins/modules/cloud/centurylink/clc_publicip.py
fixed validation-modules for plugins/modules/cloud/centurylink/clc_server.py
fixed validation-modules for plugins/modules/cloud/centurylink/clc_server_snapshot.py
* Tidy up validate-modules ignores for cloud/centurylink modules
* Update plugins/modules/cloud/centurylink/clc_firewall_policy.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_firewall_policy.py
* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_load_balancer.py
* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_monitoring_policy.py
* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_private_network.py
* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_public_ip.py
* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_server.py
* Tidy up validate-modules ignores for cloud/oneandone modules
* Update plugins/modules/cloud/oneandone/oneandone_server.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/cloud/atomic/atomic_container.py
* fixed validation-modules for plugins/modules/cloud/oracle/oci_vcn.py
* fixed validation-modules for plugins/modules/cloud/heroku/heroku_collaborator.py
* fixed validation-modules for plugins/modules/cloud/docker/docker_stack.py
* fixed validation-modules for plugins/modules/cloud/pubnub/pubnub_blocks.py
* fixed validation-modules for plugins/modules/cloud/huawei/hwc_ecs_instance.py
* fixed validation-modules for plugins/modules/cloud/huawei/hwc_vpc_port.py
* fixed validation-modules for plugins/modules/cloud/huawei/hwc_vpc_subnet.py
* fixed validation-modules for plugins/modules/cloud/ovh/ovh_ip_failover.py
* fixed validation-modules for plugins/modules/cloud/ovh/ovh_ip_loadbalancing_backend.py
* fixed validation-modules for plugins/modules/cloud/softlayer/sl_vm.py
* fixed validation-modules for plugins/modules/cloud/misc/proxmox_kvm.py
* fixed validation-modules for plugins/modules/cloud/misc/proxmox_template.py
* fixed validation-modules for plugins/modules/cloud/misc/terraform.py
* fixed validation-modules for plugins/modules/cloud/memset/memset_dns_reload.py
* fixed validation-modules for plugins/modules/cloud/memset/memset_memstore_info.py
* fixed validation-modules for plugins/modules/cloud/memset/memset_server_info.py
* fixed validation-modules for plugins/modules/cloud/memset/memset_zone_domain.py
* fixed validation-modules for plugins/modules/cloud/memset/memset_zone.py
* fixed validation-modules for plugins/modules/cloud/memset/memset_zone_record.py
* fixed validation-modules for plugins/modules/cloud/linode/linode.py
* fixed validation-modules for plugins/modules/cloud/linode/linode_v4.py
* fixed validation-modules for plugins/doc_fragments/dimensiondata.py
* fixed validation-modules for plugins/modules/cloud/dimensiondata/dimensiondata_network.py
* fixed validation-modules for plugins/modules/cloud/dimensiondata/dimensiondata_vlan.py
* fixed validation-modules for plugins/modules/cloud/xenserver/xenserver_guest_info.py
* fixed validation-modules for plugins/modules/cloud/xenserver/xenserver_guest_powerstate.py
* Tidy up validate-modules ignores for varied cloud modules
- loking at the count of ignore lines, worked from the lower numbers up
* rolled back line for docker_container, removed two extraneous for xenserver
* rolled back lins for linode in 2.9
Provides an alternative authentication method to the password.
The token validity is only tested during the first request after the
instantiation of `ProxmoxAPI`, thus the presence of a call to
`proxmox.version.get()` in `proxmox_template`.
Example:
- name: Ensure test-vm is created
proxmox_kvm:
api_host: prx-test
api_user: tleguern@pve
api_token_id: api-pve-test
api_token_secret: fad3db3d-b335-ee15-9fb0-ea1bf70128db
node: prx-test-01
name: test-vm
...
* proxmox_kvm: pool parameter not supported by API on update
* added changelog fragment
* format fix and pull request link added
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add support for StackScripts to Linode v4 module
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* add changelog fragment
* Add stackscript to example
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/cloud/google/gcdns_record.py
* fixed validation-modules for plugins/modules/cloud/google/gcdns_zone.py
* fixed validation-modules for plugins/modules/cloud/google/gce_eip.py
* fixed validation-modules for plugins/modules/cloud/google/gce_img.py
* fixed validation-modules for plugins/modules/cloud/google/gce_instance_template.py
* fixed validation-modules for plugins/modules/cloud/google/gce_labels.py
* fixed validation-modules for plugins/modules/cloud/google/gce_lb.py
* fixed validation-modules for plugins/modules/cloud/google/gce_mig.py
* fixed validation-modules for plugins/modules/cloud/google/gce_net.py
* fixed validation-modules for plugins/modules/cloud/google/gce_pd.py
* fixed validation-modules for plugins/modules/cloud/google/gce_snapshot.py
* fixed validation-modules for plugins/modules/cloud/google/gce_tag.py
* fixed validation-modules for plugins/modules/cloud/google/gcp_backend_service.py
* fixed validation-modules for plugins/modules/cloud/google/gcp_forwarding_rule.py
* fixed validation-modules for plugins/modules/cloud/google/gcp_healthcheck.py
* fixed validation-modules for plugins/modules/cloud/google/gcp_target_proxy.py
* fixed validation-modules for plugins/modules/cloud/google/gcpubsub_info.py
* fixed validation-modules for plugins/modules/cloud/google/gcpubsub.py
* fixed validation-modules for plugins/modules/cloud/google/gcp_url_map.py
* fixed validation-modules for plugins/modules/cloud/google/gcspanner.py
* fixed validation-modules for plugins/modules/cloud/google/gc_storage.py
* adjust parameter description in gce_eip.py
* fixed validation-modules for plugins/modules/cloud/google/gce.py
* removed extra type definition
* reformatted long lines
* Tidy up validate-modules ignores for cloud/google modules
* gc_storage.py: fixed parameter to be overwrite and alias force, instead of the other way around
* rolled back a number of ignore lines that ansible 2.9 believes to defy sanity
* gce_instance_template.py: the metadata parameter brings no definition whatsoever in argument_spec, causing a number of problems. Rolling back for now.
* Fixes on docs from the PR
* add a warning when ansible_label is not found on a secret. addresses #30
* Update changelogs/fragments/31-docker-secret.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Backported from 22ba76b4e9
* lxc_container: fix the type of the 'container_config' parameter
* lxc_container: specify the type of elements in 'container_config'
* lxc_container: improve the documentation of the container_config option
* lxc_container: add changelogs fragment for PR 216
* lxc_container: update changelogs fragment for PR 216
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/doc_fragments/rackspace.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cbs.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cbs_attachments.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cdb_database.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cdb.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cdb_user.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_clb_nodes.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_clb.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_clb_ssl.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_dns.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_dns_record.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_facts.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_files.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_files_objects.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_identity.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_keypair.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_meta.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_mon_alarm.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_mon_check.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_mon_entity.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_mon_notification_plan.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_mon_notification.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_network.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_queue.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_scaling_group.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_scaling_policy.py
* Enabling validation-modules for rackspace modules
* Removed test in rax.py
* Added markup to items in list
* rax_monm_check.py: moved choices doc to description for check_type
As the argument_spec does not contain the "choices" spec, adjusting that in the docs
* rax_monm_check.py: a number of things missing in docs, fixed
* Add support for extra options for terraform init
* Add missing var declaration
* feat: add changelog fragment
* feat: switch from an init_extra_args global option to an init_reconfigure specific option
* Update changelogs/fragments/823-terraform_init_reconfigure.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove hard-coded defaults
* Remove hard-coded defaults in proxmox.py
* Add changelog
* Remove defaults in proxmox docs
* Remove more default values
* Remove defaults in doc proxmox_kvm
* Restore default=True to onboot
* Add unspecified back to format
* correct changelog format and grammar
Co-authored-by: Felix Fontein <felix@fontein.de>
* improve changelog
* Fix changelog formatting
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix changelog formatting
* Deprecate before behaviour change
* Change changelog
* Remove unnecessary ignored sanity tests, fix
* Fix
* Better mention it too often than too little :)
* Deprecate in version 4.0.0 instead of 2.0.0
* Fix changelog
* Fix
* Remove none values
* Improve documentation as suggessted by felixfontein
* fix changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove default value in force in proxmox_kvm
* Add description to force in proxmox_kvm
Co-authored-by: Felix Fontein <felix@fontein.de>
* docker_login: fix internal config file storage to handle credentials for more than one registry
* Improve setup for docker registry.
* Add second registry frontend. Add tests for #1118.
* Fix cleanup.
* Allow setting format to null (None)
* Use string instead of None for consistency
* Add changelog
* Update changelogs/fragments/1028-proxmox-kvm-linked-clone.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/proxmox_kvm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Substitute 'unspecified' format with None
Co-authored-by: Lukasz Rzasik <lukasz.rzasik@dreamlab.net>
Co-authored-by: Felix Fontein <felix@fontein.de>
* 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
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>.
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>.
* Fix terraform changed status detection test (#561)
* Add changelog fragment
* Update changelogs/fragments/563-update-terraform-status-test.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Revert "Remove entries of modules that no longer exist." partially.
This reverts commit c1e1b37da4.
* Revert "The _info module is in google.cloud."
This reverts commit 26f5c84924.
* Revert "Remove modules that were moved to the google.cloud collection according to ansible/ansible's ansible_builtin_runtime.yml."
This reverts commit a1442ccc35.
* Fix FQCNs in examples and module references.
* Add changelog fragment.
* Update ignore.txt.
* Remove bad lines.
* use Config MacAddress by default instead of Networks
* use Config MacAddress by default instead of Networks - fix typo
* #564 docker_container macaddress - add changelog fragment
* dont start the service it parameter stopped is true
* add missing changelog fragment
* fix formatting of the changelog fragment
* add condition to disallow the usage of stopped and restarted at the same time
* fix changelog
* Add vpc_uuid option to droplet creation
* Include new vpc_uuid option digital_ocean_droplet
* Remove required, add type for vpc_uuid
Co-authored-by: Felix Fontein <felix@fontein.de>
* Create changelog fragment file
* Include version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adjust deprecation versions.
* Remove redirects that are already made in ansible/ansible's ansible_builtin_runtime.yml
* Remove modules that were moved to the google.cloud collection according to ansible/ansible's ansible_builtin_runtime.yml.
* The _info module is in google.cloud.
* The gcp doc_fragment is a copy of the one in google.cloud and is only used by one lookup. Mark as deprecated/internal.
* Remove entries of modules that no longer exist.
* Update ignore.txt.
* Try to fix test.
* Remove debug output.
* Add version_added: 1.0.0 for all new features added before pre-ansible-base.
* Add version_added: 1.0.0 for all new features.
* Next release will be 0.2.0
* Fix error.
* Remove unnecessary warnings.
To remove a scaleway compute node, one needs to stop it first. This is
handled internally within the module by shutting down before removing.
Shutting down the node transitions it to a "stopping" state, which is
not the "stopped" state we expect. We thus need the transition to
complete so that we can put it in the actual target state (absent, i.e.
delete it).
The mechanism for waiting for such transitions today is controlled by
module parameters, with default to not being enabled at all, which
includes the transition from ([running] -(stopping)-> [stopped]).
Without this chage, in case of a running node, we would shut it down
(transition it to "stopping"), not wait for it complete the transition,
realize that it's not yet stopped and issue a second shut down command
to the api. This would fail with a 400 Bad Request error, "already
stopped".
Reference: https://github.com/ansible/ansible/issues/45740
Reported-by: zwindler
* Un-remove wrongly removed ovirt modules and adjust deprecation to Ansible 2.14 (regular 4 version deprecation cycle).
* Update sanity-2.10.txt
* Vendor dependencies from ovirt.ovirt as deprecated, and remove dependency on ovirt.ovirt.
* Use ovirt_facts doc_fragment, and don't add _ovirt_info doc_fragment.
* add description and hookscript parameters to proxmox LXC container
* fix pep8 E128
* Update plugins/modules/cloud/misc/proxmox.py
Co-Authored-By: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/cloud/misc/proxmox.py
Co-Authored-By: Andrew Klychkov <aaklychkov@mail.ru>
* add example for proxmox hookscript and description
* add changelogs fragment for PR #245
* set hookscript type
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Add copy of ipaddress.py from ansible.netcommon, use that one in non-network modules.
* Copy required functions from ansible.netcommon. Simpler than using compat.ipaddress to do this.
* Fix ovirt collection name (ovirt.ovirt_collection, not ovirt.ovirt).
* Fix kubernetes module_utils references.
* Fix broken f5 imports on community.general side. The imports in that collection are still broken and will still cause failures.
* Fix Cisco ACI and MSO modules imports.
* Fix check_point.mgmt dependency, fix imports.
* Fix fortimanager imports.
* Fix cisco intersight imports.
* Fix ovirt module docs fragments.
* Fix usage of _ in unit tests to avoid sanity failures.
* Fix Cisco module docs fragments.
* Fix netapp.ontap module docs fragment name.
* Fix documentation.
* Fix some boilerplate (the ones not mentioned in ignore.txt).