File: /var/lib/cloud/scripts/peering.sh
#!/bin/sh
for i in $(seq 1 10); do
VPC_PEERING_ENABLED=$(curl -fs --connect-timeout 5 169.254.169.254/metadata/v1/features/vpc_peering_enabled)
if [ $? -ne 0 ]; then
sleep 5
continue
fi
if [ "${VPC_PEERING_ENABLED}" != "true" ]; then
exit 0
fi
VPC_GATEWAY_IP=$(curl -fs --connect-timeout 5 169.254.169.254/metadata/v1/interfaces/private/0/ipv4/gateway)
if [ $? -ne 0 ]; then
sleep 5
continue
fi
ip route replace 192.168.0.0/16 via "${VPC_GATEWAY_IP}" dev eth1 mtu 1500 metric 101 && \
ip route replace 10.0.0.0/8 via "${VPC_GATEWAY_IP}" dev eth1 mtu 1500 metric 101 && \
ip route replace 172.16.0.0/12 via "${VPC_GATEWAY_IP}" dev eth1 mtu 1500 metric 101;
if [ $? -eq 0 ]; then
exit 0
fi
sleep 5
done
exit 1