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

lxc_container: fix the type of the 'container_config' parameter (#216) (#1247)

* 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>
(cherry picked from commit 9e51469e01)

Co-authored-by: montag451 <montag451@laposte.net>
This commit is contained in:
patchback[bot] 2020-11-08 13:31:21 +01:00 committed by GitHub
parent 373df2ba68
commit dbb145bc71
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 9 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- lxc_container - fix the type of the ``container_config`` parameter. It is now processed as a list and not a string (https://github.com/ansible-collections/community.general/pull/216).

View file

@ -143,6 +143,8 @@ options:
container_config: container_config:
description: description:
- list of 'key=value' options to use when configuring a container. - list of 'key=value' options to use when configuring a container.
type: list
elements: str
requirements: requirements:
- 'lxc >= 1.0 # OS package' - 'lxc >= 1.0 # OS package'
- 'python >= 2.6 # OS Package' - 'python >= 2.6 # OS Package'
@ -701,14 +703,7 @@ class LxcContainerManagement(object):
with open(container_config_file, 'rb') as f: with open(container_config_file, 'rb') as f:
container_config = to_text(f.read(), errors='surrogate_or_strict').splitlines(True) container_config = to_text(f.read(), errors='surrogate_or_strict').splitlines(True)
# Note used ast literal_eval because AnsibleModule does not provide for parsed_options = [i.split('=', 1) for i in _container_config]
# adequate dictionary parsing.
# Issue: https://github.com/ansible/ansible/issues/7679
# TODO(cloudnull) adjust import when issue has been resolved.
import ast
options_dict = ast.literal_eval(_container_config)
parsed_options = [i.split('=', 1) for i in options_dict]
config_change = False config_change = False
for key, value in parsed_options: for key, value in parsed_options:
key = key.strip() key = key.strip()
@ -1695,7 +1690,8 @@ def main():
type='str' type='str'
), ),
container_config=dict( container_config=dict(
type='str' type='list',
elements='str'
), ),
container_log=dict( container_log=dict(
type='bool', type='bool',