Skip to content

Commit

Permalink
Fix regex match for getting primary interface
Browse files Browse the repository at this point in the history
Added retry for sync issues
  • Loading branch information
jayanthvn committed Dec 8, 2020
1 parent de21195 commit 157d356
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions scripts/init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,25 @@

set -euxo pipefail

get_metadata()
{
attempts=60
false
while [ "${?}" -gt 0 ]; do
if [ "${attempts}" -eq 0 ]; then
echo "Failed to get metdata"
exit 1
fi
meta=$(curl -H "X-aws-ec2-metadata-token: ${2}" http://169.254.169.254/latest/meta-data/${1})
if [ "${?}" -gt 0 ]; then
let attempts--
sleep 0.5
false
fi
done
echo "$meta"
}

PLUGIN_BINS="loopback portmap bandwidth aws-cni-support.sh"

for b in $PLUGIN_BINS; do
Expand All @@ -23,9 +42,11 @@ done

# Configure rp_filter
echo "Configure rp_filter loose... "

TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 60")
HOST_IP=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/local-ipv4)
PRIMARY_IF=$(ip -4 -o a | grep "$HOST_IP/" | awk '{print $2}')
HOST_IP=$(get_metadata 'local-ipv4' $TOKEN)
PRIMARY_MAC=$(get_metadata 'mac' $TOKEN)
PRIMARY_IF=$(ip -o link show | grep -F "link/ether $PRIMARY_MAC" | awk -F'[ :]+' '{print $2}')
sysctl -w "net.ipv4.conf.$PRIMARY_IF.rp_filter=2"
cat "/proc/sys/net/ipv4/conf/$PRIMARY_IF/rp_filter"

Expand Down

0 comments on commit 157d356

Please sign in to comment.