From e5ce3bcedf2f501cf7febab3e116c131de309a46 Mon Sep 17 00:00:00 2001 From: Derek Higgins Date: Fri, 22 Nov 2013 13:59:40 +0000 Subject: [PATCH] Adding a geard element geard is a python implementation of the gearman broker. The intention is to use it to broker tripleo ci jobs. Change-Id: Iec1889edee7641449cda7e0a8770062c564c3d97 --- elements/geard/README.md | 4 +++ elements/geard/element-deps | 2 ++ elements/geard/install.d/44-geard | 12 ++++++++ .../pre-configure.d/97-gearman-iptables | 30 +++++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 elements/geard/README.md create mode 100644 elements/geard/element-deps create mode 100755 elements/geard/install.d/44-geard create mode 100755 elements/geard/os-refresh-config/pre-configure.d/97-gearman-iptables diff --git a/elements/geard/README.md b/elements/geard/README.md new file mode 100644 index 000000000..97189ce1d --- /dev/null +++ b/elements/geard/README.md @@ -0,0 +1,4 @@ +Element to install gear and run geard + +geard is a python implementation of the gearman protocol server +https://pypi.python.org/pypi/gear diff --git a/elements/geard/element-deps b/elements/geard/element-deps new file mode 100644 index 000000000..6fee94ec1 --- /dev/null +++ b/elements/geard/element-deps @@ -0,0 +1,2 @@ +os-svc-install +os-refresh-config diff --git a/elements/geard/install.d/44-geard b/elements/geard/install.d/44-geard new file mode 100755 index 000000000..a1cd186b0 --- /dev/null +++ b/elements/geard/install.d/44-geard @@ -0,0 +1,12 @@ +#!/bin/bash +set -eux + +install-packages python-virtualenv + +mkdir -p /opt/stack/venvs +virtualenv /opt/stack/venvs/gear + +/opt/stack/venvs/gear/bin/pip install gear + +useradd gear +os-svc-daemon -n geard -u gear -c geard -- -d diff --git a/elements/geard/os-refresh-config/pre-configure.d/97-gearman-iptables b/elements/geard/os-refresh-config/pre-configure.d/97-gearman-iptables new file mode 100755 index 000000000..cb1adb477 --- /dev/null +++ b/elements/geard/os-refresh-config/pre-configure.d/97-gearman-iptables @@ -0,0 +1,30 @@ +#!/bin/bash +set -eu + +OK=/opt/stack/gearman-iptables.ok + +if [ -e $OK ] ; then + exit 0 +fi + +DISTRO=`lsb_release -si` || true + +if [[ "Fedora" = $DISTRO ]]; then + + # Check if the iptables service is active + if systemctl is-active iptables.service ; then + IPT_FILE=/etc/sysconfig/iptables + if [ -f $IPT_FILE ]; then + iptables-restore < $IPT_FILE + fi + + # Gearman server + iptables -I INPUT -p tcp --dport 4730 -j ACCEPT + + iptables-save > $IPT_FILE + + fi + +fi + +touch $OK