#!/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