summaryrefslogtreecommitdiffstats
path: root/anslib/patches/networkmanager-ds-use-openshift-interface.patch
diff options
context:
space:
mode:
Diffstat (limited to 'anslib/patches/networkmanager-ds-use-openshift-interface.patch')
-rw-r--r--anslib/patches/networkmanager-ds-use-openshift-interface.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/anslib/patches/networkmanager-ds-use-openshift-interface.patch b/anslib/patches/networkmanager-ds-use-openshift-interface.patch
new file mode 100644
index 0000000..687be8a
--- /dev/null
+++ b/anslib/patches/networkmanager-ds-use-openshift-interface.patch
@@ -0,0 +1,47 @@
+diff --git a/roles/openshift_node/files/bootstrap.yml b/roles/openshift_node/files/bootstrap.yml
+index ea28064..df95ba3 100644
+--- a/roles/openshift_node/files/bootstrap.yml
++++ b/roles/openshift_node/files/bootstrap.yml
+@@ -8,7 +8,7 @@
+ lines:
+ - regex: ^listen-address
+ state: present
+- line: "listen-address={{ ansible_default_ipv4.address }}"
++ line: "listen-address={{ openshift_dns_ip }}"
+ node_dns:
+ file: /etc/dnsmasq.d/node-dnsmasq.conf
+ lines:
+diff --git a/roles/openshift_node/files/networkmanager/99-origin-dns.sh b/roles/openshift_node/files/networkmanager/99-origin-dns.sh
+index acf3e2f..16129a2 100755
+--- a/roles/openshift_node/files/networkmanager/99-origin-dns.sh
++++ b/roles/openshift_node/files/networkmanager/99-origin-dns.sh
+@@ -43,10 +43,25 @@ if [[ $2 =~ ^(up|dhcp4-change|dhcp6-change)$ ]]; then
+ ######################################################################
+ # couldn't find an existing method to determine if the interface owns the
+ # default route
+- def_route=$(/sbin/ip route list match 0.0.0.0/0 | awk '{print $3 }')
+- def_route_int=$(/sbin/ip route get to ${def_route} | awk '{print $3}')
+- def_route_ip=$(/sbin/ip route get to ${def_route} | awk '{print $5}')
+- if [[ ${DEVICE_IFACE} == ${def_route_int} ]]; then
++ #SDS
++ #def_route=$(/sbin/ip route list match 0.0.0.0/0 | awk '{print $3 }')
++ #def_route_int=$(/sbin/ip route get to ${def_route} | awk '{print $3}')
++ #def_route_ip=$(/sbin/ip route get to ${def_route} | awk '{print $5}')
++ #EDS
++ def_route_ip=$(cat /etc/hosts | grep openshift_dns_ip | awk '{ print $1 }')
++ [ -n "$def_route_ip" ] && def_route_int=$(ip -o addr show | grep ${def_route_ip} | awk '{ print $2 }')
++ if [ -z "$def_route_ip" -o -z "$def_route_int" ]; then
++ def_route=$(/sbin/ip route list match 0.0.0.0/0 | awk '{print $3 }')
++ def_route_int=$(/sbin/ip route get to ${def_route} | awk '{print $3}' | head -n 1)
++ def_route_ip=$(/sbin/ip -f inet addr show dev ${def_route_int} scope global up | grep -Po 'inet \K[\d.]+' | head -n 1)
++ fi
++
++ def_routes=$(/sbin/ip route list match 0.0.0.0/0 | awk '{print $3 }')
++ def_routes_int=$(for r in ${def_routes}; do /sbin/ip route get to ${r} | awk '{print $3}'; done)
++ interfaces="${def_route_int} ${def_routes_int}"
++
++ if [[ "${interfaces}" =~ (^|[[:space:]])${DEVICE_IFACE}($|[[:space:]]) ]]; then
++# if [[ ${DEVICE_IFACE} == ${def_route_int} ]]; then
+ if [ ! -f /etc/dnsmasq.d/origin-dns.conf ]; then
+ cat << EOF > /etc/dnsmasq.d/origin-dns.conf
+ no-resolv