From 87a07e81a96d86d11deab6a81d59239c96f7c042 Mon Sep 17 00:00:00 2001 From: Olivier Bourdon Date: Thu, 19 Apr 2018 11:05:39 +0200 Subject: [PATCH] Fix interface method change (#38996) --- lib/ansible/modules/system/interfaces_file.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/ansible/modules/system/interfaces_file.py b/lib/ansible/modules/system/interfaces_file.py index 73660832d7..d062b735c7 100755 --- a/lib/ansible/modules/system/interfaces_file.py +++ b/lib/ansible/modules/system/interfaces_file.py @@ -302,6 +302,14 @@ def setInterfaceOption(module, lines, iface, option, raw_value, state): def addOptionAfterLine(option, value, iface, lines, last_line_dict, iface_options): + # Changing method of interface is not an addition + if option == 'method': + for ln in lines: + if ln.get('line_type', '') == 'iface': + ln['line'] = re.sub(ln.get('params', {}).get('method', '') + '$', value, ln.get('line')) + ln['params']['method'] = value + return lines + last_line = last_line_dict['line'] prefix_start = last_line.find(last_line.split()[0]) suffix_start = last_line.rfind(last_line.split()[-1]) + len(last_line.split()[-1])