From b395bb953ffa6dce0df5275df2b3d00f02a291fc Mon Sep 17 00:00:00 2001
From: Erwan Miran <mirwan666@gmail.com>
Date: Mon, 27 Aug 2018 21:20:57 +0200
Subject: [PATCH] Fix wrong when condition that ends up with jinja error when
 the content of /etc/hosts contains parenthesis

---
 roles/kubernetes/preinstall/tasks/etchosts.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/roles/kubernetes/preinstall/tasks/etchosts.yml b/roles/kubernetes/preinstall/tasks/etchosts.yml
index 57d82c71c..5141d531f 100644
--- a/roles/kubernetes/preinstall/tasks/etchosts.yml
+++ b/roles/kubernetes/preinstall/tasks/etchosts.yml
@@ -30,12 +30,12 @@
 - name: Hosts | Extract existing entries for localhost from hosts file
   set_fact:
     etc_hosts_localhosts_dict: >-
-       {%- set splitted = (item | regex_replace('[ ]+', ' ')|regex_replace('#.+$')|trim).split( ' ') -%}
+       {%- set splitted = (item | regex_replace('[ \t]+', ' ')|regex_replace('#.*$')|trim).split( ' ') -%}
        {{ etc_hosts_localhosts_dict|default({}) | combine({splitted[0]: splitted[1::] }) }}
   with_items: "{{ (etc_hosts_content['content'] | b64decode).split('\n') }}"
   when:
     - etc_hosts_content.content is defined
-    - etc_hosts_localhost_entries.keys()|map('regex_replace', '(.*)', '^\\1 .*') | map('match', item) | list | length > 0
+    - (item|match('^::1 .*') or item|match('^127.0.0.1 .*'))
 
 - name: Hosts | Update target hosts file entries dict with required entries
   set_fact:
-- 
GitLab