Support execution of extra script
authorDimitris Aragiorgis <dimara@grnet.gr>
Tue, 25 Feb 2014 10:58:30 +0000 (12:58 +0200)
committerDimitris Aragiorgis <dimara@grnet.gr>
Tue, 25 Feb 2014 10:58:30 +0000 (12:58 +0200)
In case of kvm-ifup, if an extra script (/etc/ganeti/ifup-extra)
exists, execute it before exiting.

An dummy example script is given, that parses instance's tags,
and searches for synnefo:network:<ident>:mail.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>

ifup-extra [new file with mode: 0644]
kvm-vif-bridge

diff --git a/ifup-extra b/ifup-extra
new file mode 100644 (file)
index 0000000..7aa3e3e
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+source /etc/default/snf-network
+source /usr/lib/snf-network/common.sh
+
+# Useful environment vars
+# INTERFACE, INSTANCE, IP, NETWORK_TAGS, MODE, TABLE
+
+ifprefixindex="synnefo:network:$INTERFACE_INDEX:"
+ifprefixname="synnefo:network:$INTERFACE_NAME:"
+ifprefixuuid="synnefo:network:$INTERFACE_UUID:"
+for tag in $TAGS; do
+  tag=${tag#$ifprefixindex}
+  tag=${tag#$ifprefixname}
+  tag=${tag#$ifprefixuuid}
+  case $tag in
+    mail)
+    # Here add iptalbes rule..
+  ;;
+  esac
+done
+
+exit 0
+
index 2e7088e..e83c104 100755 (executable)
@@ -50,4 +50,8 @@ for tag in $NETWORK_TAGS; do
   esac
 done
 
+if [ -x "$IFUP_EXTRA_SCRIPT" ]; then
+  exec $IFUP_EXTRA_SCRIPT "$@"
+fi
+
 exit 0