aboutsummaryrefslogtreecommitdiffstats
path: root/community/openvswitch/ovsdb-server.initd
blob: 65c3f2ef33e04bd287d592a3ab2ca9e7802ba77f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/sbin/openrc-run
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/openvswitch/files/ovsdb-server-r1,v 1.1 2013/04/08 19:37:58 dev-zero Exp $

description="Open vSwitch database server"

remote_punix=${DB_SOCKET:+"--remote=punix:${DB_SOCKET}"}
remote_db=${REMOTE_DB:+"--remote=${REMOTE_DB}"}
private_key=${PRIVATE_KEY:+"--private-key=${PRIVATE_KEY}"}
certificate=${CERTIFICATE:+"--certificate=${CERTIFICATE}"}
bootstrap_ca_cert=${BOOTSTRAP_CA_CERT:+"--bootstrap-ca-cert=${BOOTSTRAP_CA_CERT}"}

db=${DATABASE:-/etc/openvswitch/conf.db}
dbschema=/usr/share/openvswitch/vswitch.ovsschema

command="/usr/sbin/ovsdb-server"
command_args="
    --pidfile
    --detach
    --monitor
    ${remote_punix}
    ${remote_db}
    ${private_key}
    ${certificate}
    ${bootstrap_ca_cert}
    ${DATABASE}
    ${OPTIONS}"
pidfile="/var/run/openvswitch/ovsdb-server.pid"


depend() {
	need localmount dev
	after bootmisc hwdrivers modules
	before net
	use logger
}

# ovsdb-server is a hard dependency for ovs-vswitchd (to keep them in sync) - to stop the db only:
# /etc/init.d/ovsdb-server --nodeps stop |or| rc-service ovsdb-server -- --nodeps stop

start_pre() {
	checkpath -d "/var/run/openvswitch" -m 0750
	if ! [ -e "$db" ]; then
		ovsdb-tool create $db $dbschema
	elif [ "$(ovsdb-tool needs-conversion $db $dbschema)" = "yes" ]; then
		ovsdb-tool convert $db $dbschema
	fi
}