mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-04-07 03:03:08 +00:00
fix handling of config options that share the same prefix
container_config:
- "lxc.network.ipv4.gateway=auto"
- "lxc.network.ipv4=192.0.2.1"
might try to override lxc.network.ipv4.gateway in the second entry as both
start with "lxc.network.ipv4".
use a regular expression to find a line that contains (optional) whitespace
and an = after the key.
Signed-off-by: Evgeni Golov <evgeni@golov.de>
This commit is contained in:
@@ -424,6 +424,8 @@ lxc_container:
|
||||
sample: True
|
||||
"""
|
||||
|
||||
import re
|
||||
|
||||
try:
|
||||
import lxc
|
||||
except ImportError:
|
||||
@@ -748,9 +750,10 @@ class LxcContainerManagement(object):
|
||||
key = key.strip()
|
||||
value = value.strip()
|
||||
new_entry = '%s = %s\n' % (key, value)
|
||||
keyre = re.compile(r'%s(\s+)?=' % key)
|
||||
for option_line in container_config:
|
||||
# Look for key in config
|
||||
if option_line.startswith(key):
|
||||
if keyre.match(option_line):
|
||||
_, _value = option_line.split('=', 1)
|
||||
config_value = ' '.join(_value.split())
|
||||
line_index = container_config.index(option_line)
|
||||
|
||||
Reference in New Issue
Block a user