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

Change Proxmox agent argument to string. #5107

Merged
merged 3 commits into from Aug 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions changelogs/fragments/5107-proxmox-agent-argument.yaml
@@ -0,0 +1,2 @@
minor_changes:
- proxmox_kvm - allow ``agent`` argument to be a string (https://github.com/ansible-collections/community.general/pull/5107).
16 changes: 13 additions & 3 deletions plugins/modules/cloud/misc/proxmox_kvm.py
Expand Up @@ -25,7 +25,9 @@
agent:
description:
- Specify if the QEMU Guest Agent should be enabled/disabled.
reitermarkus marked this conversation as resolved.
Show resolved Hide resolved
type: bool
- Since community.general 5.5.0, this can also be a string instead of a boolean.
This allows to specify values such as C(enabled=1,fstrim_cloned_disks=1).
type: str
args:
description:
- Pass arbitrary arguments to kvm.
Expand Down Expand Up @@ -809,6 +811,7 @@

from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.common.text.converters import to_native
from ansible.module_utils.parsing.convert_bool import boolean


def parse_mac(netstr):
Expand Down Expand Up @@ -960,7 +963,14 @@ def create_vm(self, vmid, newid, node, name, memory, cpu, cores, sockets, update
kwargs.update(kwargs[k])
del kwargs[k]

# Rename numa_enabled to numa. According the API documentation
try:
# The API also allows booleans instead of e.g. `enabled=1` for backward-compatibility.
kwargs['agent'] = boolean(kwargs['agent'], strict=True)
except TypeError:
# Not something that Ansible would parse as a boolean.
pass

# Rename numa_enabled to numa, according the API documentation
if 'numa_enabled' in kwargs:
kwargs['numa'] = kwargs['numa_enabled']
del kwargs['numa_enabled']
Expand Down Expand Up @@ -1040,7 +1050,7 @@ def main():
module_args = proxmox_auth_argument_spec()
kvm_args = dict(
acpi=dict(type='bool'),
agent=dict(type='bool'),
agent=dict(type='str'),
args=dict(type='str'),
autostart=dict(type='bool'),
balloon=dict(type='int'),
Expand Down