summaryrefslogtreecommitdiffstats
path: root/fuel/build/f_example_control_bond/puppet/modules/opnfv/files/control-bond
diff options
context:
space:
mode:
Diffstat (limited to 'fuel/build/f_example_control_bond/puppet/modules/opnfv/files/control-bond')
-rw-r--r--fuel/build/f_example_control_bond/puppet/modules/opnfv/files/control-bond90
1 files changed, 90 insertions, 0 deletions
diff --git a/fuel/build/f_example_control_bond/puppet/modules/opnfv/files/control-bond b/fuel/build/f_example_control_bond/puppet/modules/opnfv/files/control-bond
new file mode 100644
index 000000000..bf2930d73
--- /dev/null
+++ b/fuel/build/f_example_control_bond/puppet/modules/opnfv/files/control-bond
@@ -0,0 +1,90 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# stefan.k.berg@ericsson.com
+# jonas.bjurel@ericsson.com
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: control-bond
+# Required-Start: $remote_fs $all
+# Required-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Bonds eth0 and eth1 and changes bridge configuration.
+### END INIT INFO
+
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+VSCTL=/usr/bin/ovs-vsctl
+APPCTL=/usr/bin/ovs-appctl
+
+
+add_control_bond() {
+ logger "Starting addition of control-bond"
+ $VSCTL --may-exist br-fw-admin
+ $VSCTL --may-exist br-mgmt
+ $VSCTL add-bond br-fw-admin bond-control eth0 eth1
+
+ $VSCTL set port br-mgmt tag=66
+ $APPCTL bond/set-active-slave bond-control eth0
+
+ $VSCTL add-port br-fw-admin admin-to-mgmt
+ $VSCTL add-port br-mgmt mgmt-to-admin
+ $VSCTL set interface admin-to-mgmt type=patch
+ $VSCTL set interface mgmt-to-admin type=patch
+
+ $VSCTL set interface admin-to-mgmt options:peer=mgmt-to-admin
+ $VSCTL set interface mgmt-to-admin options:peer=admin-to-mgmt
+
+ $VSCTL set port admin-to-mgmt trunk=66
+ $VSCTL set port mgmt-to-admin trunk=66
+ logger "Finished addition of control-bond"
+}
+
+status_control_bond() {
+ if [ ! -f $VSCTL ]; then
+ return 1
+ else
+ $VSCTL show | grep -q "admin-to-mgmt"
+ return $?
+ fi
+}
+
+case "$1" in
+ start)
+ status_control_bond
+ if [ $? -eq 0 ]; then
+ exit 0
+ else
+ add_control_bond
+ fi
+ ;;
+ restart|reload|force-reload)
+ echo "Error: argument '$1' not supported" >&2
+ exit 3
+ ;;
+ status)
+ status_control_bond
+ if [ $? -eq 0 ]; then
+ echo "The control-bond is enabled"
+ exit 0
+ else
+ echo "The control-bond is disabled"
+ exit 1
+ fi
+
+ ;;
+ stop)
+ echo "Stop is not supported"
+ exit 0
+ ;;
+ *)
+ echo "Usage: $0 start|status" >&2
+ exit 3
+ ;;
+esac