ansible-edda/playbooks/roles/services/setup/user/templates/veth/ifupdown.d/00-interface

36 lines
947 B
Plaintext
Raw Normal View History

#!/usr/bin/env bash
if [ ${MODE} == "start" ]
then
set -ue
elif [ ${MODE} == "stop" ]
then
set -u
else
echo "$(basename ${0}): mode must be one of either 'start' or 'stop'" 1>&2
exit 1
fi
case ${PHASE} in
"pre-up")
/usr/bin/mkdir -p /run/netns
/usr/bin/ln -sfTv /proc/$(cat {{ services_service_user_containers }}/pidfile)/ns/net /run/netns/{{ services_service_user_name }}
/usr/sbin/ip link add name ${IFACE} type veth peer name veth0 netns {{ services_service_user_name }}
;;
"post-up")
if ! /usr/sbin/ip link set dev ${IFACE} master {{ services_service_bridge_name }}
then
/usr/sbin/ip link set dev ${IFACE} down
fi
;;
"pre-down")
/usr/sbin/ip link set dev ${IFACE} nomaster
;;
"post-down")
/usr/sbin/ip link delete dev ${IFACE}
/usr/bin/rm /run/netns/{{ services_service_user_name }}
;;
esac