Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ contents:
case "$STATUS" in
up|down|dhcp4-change|dhcp6-change)
logger -s "NM resolv-prepender triggered by ${1} ${2}."

# Ensure resolv.conf exists before we try to run podman
cp /var/run/NetworkManager/resolv.conf /etc/resolv.conf

NAMESERVER_IP=$(/usr/bin/podman run --rm \
--authfile /var/lib/kubelet/config.json \
--net=host \
Expand All @@ -26,9 +30,6 @@ contents:
sed -e "/^search/d" \
-e "/Generated by/c# Generated by KNI resolv prepender NM dispatcher script\nsearch $DOMAIN\nnameserver $NAMESERVER_IP" \
/var/run/NetworkManager/resolv.conf > /etc/resolv.tmp
else
logger -s "NM resolv-prepender: Couldn't find a Virtual IP, just updating resolv.conf"
cp /var/run/NetworkManager/resolv.conf /etc/resolv.tmp
fi
# Only leave the first 3 nameservers in /etc/resolv.conf
sed -i ':a $!{N; ba}; s/\(^\|\n\)nameserver/\n# nameserver/4g' /etc/resolv.tmp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,17 @@ contents:
case "$STATUS" in
up|down|dhcp4-change|dhcp6-change)
logger -s "NM resolv-prepender triggered by ${1} ${2}."

# Ensure resolv.conf exists before we try to run podman
cp /var/run/NetworkManager/resolv.conf /etc/resolv.conf

NAMESERVER_IP="{{.Infra.Status.PlatformStatus.OpenStack.NodeDNSIP}}"
DOMAIN="{{.EtcdDiscoveryDomain}}"
if [[ -n "$NAMESERVER_IP" ]]; then
logger -s "NM resolv-prepender: Prepending 'nameserver $NAMESERVER_IP' to /etc/resolv.conf (other nameservers from /var/run/NetworkManager/resolv.conf)"
sed -e "/^search/d" \
-e "/Generated by/c# Generated by OpenStack resolv prepender NM dispatcher script\nsearch $DOMAIN\nnameserver $NAMESERVER_IP" \
/var/run/NetworkManager/resolv.conf > /etc/resolv.tmp
else
logger -s "NM resolv-prepender: Couldn't find a Virtual IP, just updating resolv.conf"
cp /var/run/NetworkManager/resolv.conf /etc/resolv.tmp
fi
# Only leave the first 3 nameservers in /etc/resolv.conf
sed -i ':a $!{N; ba}; s/\(^\|\n\)nameserver/\n# nameserver/4g' /etc/resolv.tmp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ contents:
case "$STATUS" in
up|down|dhcp4-change|dhcp6-change)
logger -s "NM resolv-prepender triggered by ${1} ${2}."

# Ensure resolv.conf exists before we try to run podman
cp /var/run/NetworkManager/resolv.conf /etc/resolv.conf

NAMESERVER_IP=$(/usr/local/bin/non_virtual_ip \
"{{.Infra.Status.PlatformStatus.VSphere.APIServerInternalIP}}" \
"{{.Infra.Status.PlatformStatus.VSphere.IngressIP}}")
Expand All @@ -25,9 +29,6 @@ contents:
sed -e "/^search/d" \
-e "/Generated by/c# Generated by KNI resolv prepender NM dispatcher script\nsearch $DOMAIN\nnameserver $NAMESERVER_IP" \
/var/run/NetworkManager/resolv.conf > /etc/resolv.tmp
else
logger -s "NM resolv-prepender: Couldn't find a Virtual IP, just updating resolv.conf"
cp /var/run/NetworkManager/resolv.conf /etc/resolv.tmp
fi
mv -f /etc/resolv.tmp /etc/resolv.conf
;;
Expand Down