Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # networking - configure virtual network devices
- #
- # This task causes virtual network devices that do not have an associated
- # kernel object to be started on boot.
- description "configure virtual network devices"
- emits static-network-up
- emits net-device-up
- emits deconfiguring-networking
- start on (local-filesystems
- and (stopped udevtrigger or container)) or runlevel [2345] or stopped networking RESULT=failed PROCESS=post-stop EXIT_STATUS=100
- stop on unmounted-remote-filesystems
- pre-start script
- if [ "$UPSTART_EVENTS" = "stopped" ] && [ "$UPSTART_JOB" = "networking" ] && [ "$EXIT_STATUS" = "100" ]; then
- exit 0
- fi
- mkdir -p /run/network
- ifup -a
- end script
- post-stop script
- if [ -z "$UPSTART_STOP_EVENTS" ]; then
- echo "Stopping or restarting the networking job is not supported."
- echo "Use ifdown & ifup to reconfigure desired interface."
- exit 100
- fi
- log_warning_msg() {
- echo $*
- }
- # These checks were taken from the Debian ifupdown.networking.init script
- check_network_file_systems() {
- [ -e /proc/mounts ] || return 0
- if [ -e /etc/iscsi/iscsi.initramfs ]; then
- log_warning_msg "not deconfiguring network interfaces: iSCSI root is mounted."
- exit 0
- fi
- while read DEV MTPT FSTYPE REST; do
- case $DEV in
- /dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*)
- log_warning_msg "not deconfiguring network interfaces: network devices still mounted."
- exit 0
- ;;
- esac
- case $FSTYPE in
- nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs)
- log_warning_msg "not deconfiguring network interfaces: network file systems still mounted."
- exit 0
- ;;
- esac
- done < /proc/mounts
- }
- check_network_swap() {
- [ -e /proc/swaps ] || return 0
- while read DEV MTPT FSTYPE REST; do
- case $DEV in
- /dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*)
- log_warning_msg "not deconfiguring network interfaces: network swap still mounted."
- exit 0
- ;;
- esac
- done < /proc/swaps
- }
- check_network_file_systems
- check_network_swap
- # Anything that manages network interfaces *MUST* wait for this event
- initctl emit deconfiguring-networking
- ifdown -a --exclude=lo
- end script
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement