1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Proxmox inventory plugin - Fix tags parsing (#4378)

* Proxmox inventory plugin - Fix tags parsing

  * In some cases the Proxmox API returns a tags string that consists in
    a single space. The Proxmox inventory plugin parsed that into a
    single, empty tag. Stripping the initial string then checking
    whether it actually contains something fixes that.
  * Do not call `_to_safe` on the concatenation of a known safe string
    and a string that was already made safe.

* Changelog fragment for Proxmox inventory plugin tags fix

* Proxmox inventory plugin - Include link to PR in fragment

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
Emmanuel Benoît 2022-03-24 07:09:25 +01:00 committed by GitHub
parent cb30eb2d30
commit 622895fb55
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View file

@ -0,0 +1,4 @@
---
bugfixes:
- proxmox inventory plugin - fixed the ``tags_parsed`` field when Proxmox
returns a single space for the ``tags`` entry (https://github.com/ansible-collections/community.general/pull/4378).

View file

@ -323,8 +323,10 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
# Additional field containing parsed tags as list # Additional field containing parsed tags as list
if config == 'tags': if config == 'tags':
parsed_key = self.to_safe('%s%s' % (key, "_parsed")) stripped_value = value.strip()
properties[parsed_key] = [tag.strip() for tag in value.split(",")] if stripped_value:
parsed_key = key + "_parsed"
properties[parsed_key] = [tag.strip() for tag in stripped_value.split(",")]
# The first field in the agent string tells you whether the agent is enabled # The first field in the agent string tells you whether the agent is enabled
# the rest of the comma separated string is extra config for the agent # the rest of the comma separated string is extra config for the agent