This fixes adding of dns address to
/etc/docker/daemon.json to always use infra's ip address
instead of possibly using it's hostname.
Also similar change is done in handling of
/etc/resolv.conf in infrastructure.yml.
Ip address is specified by the "cluster_ip" variable placed on a host.
Inventory specifies ip for everything except resource server (just for consistency).
Change-Id: I2baa3f4c7d69b8dff109b5f8ae984134caf2af7d
Issue-ID: OOM-1573
Signed-off-by: Michal Zegan <m.zegan@samsung.com>
 && pip3 install --no-cache-dir \
   ansible==$ansible_version \
   jmespath \
+  netaddr \
 && apk del build-dependencies && rm -rf /var/cache/apk/*
 
 ENV ANSIBLE_HOST_KEY_CHECKING false
 
   tasks:
     - name: Setup resolv.conf
       lineinfile:
-        line: "nameserver {{ hostvars[groups.infrastructure[0]].ansible_host }}"
+        line: "nameserver {{ hostvars[groups.infrastructure[0]].cluster_ip }}"
         path: /etc/resolv.conf
         state: present
         insertbefore: BOF
 
       hosts:
         infrastructure-server:
           ansible_host: 10.8.8.13
+          #IP used for communication between infra and kubernetes nodes, must be specified.
+          cluster_ip: 10.8.8.13
 
     # This is group of hosts which are/will be part of Kubernetes cluster.
     kubernetes:
       hosts:
         kubernetes-node-1:
           ansible_host: 10.8.8.19
+          #ip of the node that it uses for communication with k8s cluster.
+          cluster_ip: 10.8.8.19
 
     nfs-server:
       hosts:
 
   json_add:
     path: /etc/docker/daemon.json
     key: dns
-    value: "{{ hostvars[groups.infrastructure[0]].ansible_default_ipv4.address }}"
+    value: "{{ hostvars[groups.infrastructure[0]].cluster_ip }}"
   notify:
     - Restart Docker