]> git.pld-linux.org Git - packages/lxd.git/blame - lxdbr.init
- ldx bridge must be started before lxd
[packages/lxd.git] / lxdbr.init
CommitLineData
b69d7cd1 1#!/bin/sh
2#
3# Bridge interface setup for LXD
4#
5e23fd35 5# chkconfig: 345 19 81
b69d7cd1 6#
7
8# Source function library
9. /etc/rc.d/init.d/functions
10
11# Get network config
12. /etc/sysconfig/network
13
14# Check that networking is up.
15if is_yes "${NETWORKING}"; then
16 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
17 msg_network_down "lxdbr"
18 exit 1
19 fi
20else
21 exit 0
22fi
23
24[ -f /etc/sysconfig/lxd ] && . /etc/sysconfig/lxd
25
26if [ -z "$BRIDGE_DEV" -o -z "$BRIDGE_IPADDR" ]; then
27 nls "Please configure BRIDGE_IPADDR in /etc/sysconfig/lxd"
a89a534c 28 exit 1
b69d7cd1 29fi
30
31is_bridge_up() {
a89a534c 32 ip addr show $BRIDGE_DEV 2>/dev/null | grep -q $BRIDGE_IPADDR
b69d7cd1 33}
34
35start() {
a89a534c 36 if is_bridge_up; then
7e883ab4 37 nls "lxd bridge %s is already up" "$BRIDGE_DEV"
b69d7cd1 38 return
39 fi
40
41 msg_starting $BRIDGE_DEV
a89a534c 42 busy
b69d7cd1 43
e06ffcb1 44 ip link add dev $BRIDGE_DEV type bridge
a89a534c
ER
45 ip a add $BRIDGE_IPADDR dev $BRIDGE_DEV
46 ip link set up dev $BRIDGE_DEV
b69d7cd1 47
a89a534c 48 if is_bridge_up; then
b69d7cd1 49 ok
50 else
a89a534c
ER
51 fail
52 fi
b69d7cd1 53}
54
55stop() {
a89a534c 56 if ! is_bridge_up; then
7e883ab4 57 nls "lxd bridge %s is already down" "$BRIDGE_DEV"
b69d7cd1 58 return
a89a534c 59 fi
b69d7cd1 60
61 if status --pidfile "/var/run/lxd.pid" lxd lxd >/dev/null; then
4c903bcb 62 nls "lxd bridge cannot be stopped while lxd daemon is running"
a89a534c
ER
63 RETVAL=1
64 return
65 fi
b69d7cd1 66
67 msg_stopping $BRIDGE_DEV
a89a534c
ER
68 ip link set down dev $BRIDGE_DEV
69 ip link del dev $BRIDGE_DEV
b69d7cd1 70 ok
71}
72
73condrestart() {
74 if ! is_bridge_up; then
75 nls "lxd bridge %s is down" $BRIDGE_DEV
76 RETVAL=$1
77 return
78 fi
79
80 stop
81 start
82}
83
7e883ab4 84bridge_status() {
a89a534c
ER
85 local st="down"
86 if ip link show $BRIDGE_DEV >/dev/null; then
87 st="up"
88 RETVAL=1
89 fi
7e883ab4 90 nls "lxd bridge %s is %s" "$BRIDGE_DEV" "$st"
a89a534c
ER
91}
92
b69d7cd1 93RETVAL=0
94# See how we were called.
95case "$1" in
96 start)
97 start
98 ;;
99 stop)
100 stop
101 ;;
102 restart)
103 stop
104 start
105 ;;
106 try-restart)
107 condrestart 0
108 ;;
109 force-reload)
110 condrestart 7
111 ;;
112 status)
7e883ab4 113 bridge_status
b69d7cd1 114 ;;
115 *)
116 msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
117 exit 3
118esac
119
120exit $RETVAL
This page took 0.111239 seconds and 4 git commands to generate.