Browse Source

Updated version of dereulenspiegel.alfred

Till Klocke 9 years ago
parent
commit
4c0d7940d6

+ 5 - 1
galaxy-roles/dereulenspiegel.alfred/README.md

@@ -19,6 +19,10 @@ alfred_version | 2015.0 | The version of alfred to install
 alfred_source_url | http://downloads.open-mesh.org/batman/stable/sources/alfred/alfred-{{alfred_version}}.tar.gz | The URL to download alfred from
 alfred_gps | true | Wether to build alfred-gpsd
 alfred_vis | true | Wether to build batadv-vis
+alfred_batman_interface | bat0 | The Batman interface alfred will use. Use 'none' to disable the batman-adv based best server selection.
+alfred_interface | bat0 | The interface alfred will use
+alfred_batadv_vis_interface | bat0 | Interface for batadv-vis if alfred_vis is true
+alfred_master_mode | false | Wether alfred should run master mode or not
 
 
 Dependencies
@@ -33,7 +37,7 @@ Simply depend on this role
 
     - hosts: servers
       roles:
-         - { role: dereulenspiegel.alfred, alfred_gps: false }
+         - { role: dereulenspiegel.alfred, alfred_gps: false, alfred_interface: alfred0 }
 
 License
 -------

+ 5 - 1
galaxy-roles/dereulenspiegel.alfred/defaults/main.yml

@@ -3,4 +3,8 @@
 alfred_version: 2015.0
 alfred_source_url: http://downloads.open-mesh.org/batman/stable/sources/alfred/alfred-{{alfred_version}}.tar.gz
 alfred_gps: true
-alfred_vis: true
+alfred_vis: true
+alfred_batman_interface: bat0
+alfred_interface: bat0
+alfred_batadv_vis_interface: bat0
+alfred_master_mode: false

+ 1 - 1
galaxy-roles/dereulenspiegel.alfred/meta/.galaxy_install_info

@@ -1 +1 @@
-{install_date: 'Thu Aug 13 15:07:39 2015', version: v1.0}
+{install_date: 'Sat Aug 15 13:26:35 2015', version: v1.1}

+ 30 - 1
galaxy-roles/dereulenspiegel.alfred/tasks/main.yml

@@ -29,4 +29,33 @@
 - name: Compile and install alfred
   shell: "make {{alfred_config_gps|default('')}} {{alfred_config_vis|default('')}} && make {{alfred_config_gps|default('')}} {{alfred_config_vis|default('')}} install"
   args:
-    chdir: /usr/src/alfred-{{alfred_version}}
+    chdir: /usr/src/alfred-{{alfred_version}}
+
+- name: Install init script and defaults for alfred
+  template: src="{{item.src}}" dest="{{item.dest}}" mode="{{item.mode}}"
+  with_items:
+  - src: alfred.init.j2
+    dest: /etc/init.d/alfred
+    mode: "u=rwx,g=r,o=r"
+  - src: alfred.default.j2
+    dest: /etc/default/alfred
+    mode: "u=rw,g=r,o=r"
+
+- name: Install init script and defaults for batadv-vis
+  when: alfred_vis is defined and alfred_vis
+  template: src="{{item.src}}" dest="{{item.dest}}" mode="{{item.mode}}"
+  with_items:
+  - src: batadv-vis.init.j2
+    dest: /etc/init.d/batadv-vis
+    mode: "u=rwx,g=r,o=r"
+  - src: batadv-vis.default.j2
+    dest: /etc/default/batadv-vis
+    mode: "u=rw,g=r,o=r"
+
+
+- name: Start and enable alfred
+  service: name=alfred state=started enabled=yes
+
+- name: Start and enable batadv-vis service
+  when: alfred_vis is defined and alfred_vis
+  service: name=batadv-vis state=started enabled=yes

+ 16 - 0
galaxy-roles/dereulenspiegel.alfred/templates/alfred.default.j2

@@ -0,0 +1,16 @@
+#
+# /etc/default/alfred
+#
+
+# Additional command line options
+DAEMON_OPTS="{{alfed_daemon_opts|default('')}}"
+
+# Enable master mode (0/1)
+MASTER={% if alfred_master_mode is defined and alfred_master_mode %}1{% else %}0{% endif %}
+
+# Interface for A.L.F.R.E.D. to listen on. Has to be specified.
+INTERFACE={{alfred_interface}}
+
+# Specify the batman-adv interface configured on the system (default: bat0).
+# Use 'none' to disable the batman-adv based best server selection.
+BATMANIF={{alfred_batman_interface}}

+ 63 - 0
galaxy-roles/dereulenspiegel.alfred/templates/alfred.init.j2

@@ -0,0 +1,63 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          alfred
+# Required-Start:    $remote_fs $network
+# Required-Stop:     $remote_fs $network
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: A.L.F.R.E.D
+### END INIT INFO
+
+# Author: Nils Schneider <nils@nilsschneider.net>
+
+PATH=/sbin:/bin
+DESC="A.L.F.R.E.D"
+NAME=alfred
+DAEMON=/usr/local/sbin/$NAME
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+OPTIONS=""
+UMASK=0117
+
+[ -x "$DAEMON" ] || exit 0
+
+# Source defaults.
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ -n "$INTERFACE" ] && OPTIONS="$OPTIONS -i $INTERFACE"
+[ -n "$BATMANIF" ] && OPTIONS="$OPTIONS -b $BATMANIF"
+[ "$MASTER" = "1" ] && OPTIONS="$OPTIONS -m"
+[ -n "$DAEMON_OPTS" ] && OPTIONS="$OPTIONS $DAEMON_OPTS"
+
+. /lib/lsb/init-functions
+
+case "$1" in
+  start)
+        log_daemon_msg "Starting $DESC" "$NAME"
+        start-stop-daemon --start --quiet --pidfile "$PIDFILE" \
+                --umask $UMASK --make-pidfile \
+                --background --exec "$DAEMON" --oknodo \
+                -- $OPTIONS
+        log_end_msg $?
+        ;;
+  stop)
+        log_daemon_msg "Stopping $DESC" "$NAME"
+        start-stop-daemon --stop --quiet --pidfile "$PIDFILE" \
+                --retry 1 --oknodo
+        log_end_msg $?
+        ;;
+  restart|force-reload)
+        $0 stop
+        sleep 1
+        $0 start
+        ;;
+  status)
+        status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+        ;;
+  *)
+        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
+        exit 1
+        ;;
+esac
+
+exit $?

+ 6 - 0
galaxy-roles/dereulenspiegel.alfred/templates/batadv-vis.default.j2

@@ -0,0 +1,6 @@
+#
+# /etc/default/batadv-vis
+#
+
+# Specify the batman-adv interface configured on the system (default: bat0).
+BATMANIF={{alfred_batadv_vis_interface}}

+ 59 - 0
galaxy-roles/dereulenspiegel.alfred/templates/batadv-vis.init.j2

@@ -0,0 +1,59 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          batadv-vis
+# Required-Start:    $remote_fs $network alfred
+# Required-Stop:     $remote_fs $network alfred
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: batadv-vis
+### END INIT INFO
+
+# Author: Nils Schneider <nils@nilsschneider.net>
+
+PATH=/sbin:/bin
+DESC="batadv-vis"
+NAME=batadv-vis
+DAEMON=/usr/local/sbin/$NAME
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+GROUP=alfred
+OPTIONS="-s"
+
+[ -x "$DAEMON" ] || exit 0
+
+# Source defaults.
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ -n "$BATMANIF" ] && OPTIONS="$OPTIONS -i $BATMANIF"
+
+. /lib/lsb/init-functions
+
+case "$1" in
+  start)
+        log_daemon_msg "Starting $DESC" "$NAME"
+        start-stop-daemon --start --quiet --pidfile "$PIDFILE" \
+                --make-pidfile --background \
+                --exec "$DAEMON" --oknodo -- $OPTIONS
+        log_end_msg $?
+        ;;
+  stop)
+        log_daemon_msg "Stopping $DESC" "$NAME"
+        start-stop-daemon --stop --quiet --pidfile "$PIDFILE" \
+                --retry 1 --oknodo
+        log_end_msg $?
+        ;;
+  restart|force-reload)
+        $0 stop
+        sleep 1
+        $0 start
+        ;;
+  status)
+        status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+        ;;
+  *)
+        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
+        exit 1
+        ;;
+esac
+
+exit $?

+ 63 - 0
galaxy-roles/dereulenspiegel.alfred/templates/simple_init.j2

@@ -0,0 +1,63 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          alfred
+# Required-Start:    $remote_fs $network
+# Required-Stop:     $remote_fs $network
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: A.L.F.R.E.D
+### END INIT INFO
+
+# Author: Nils Schneider <nils@nilsschneider.net>
+
+PATH=/sbin:/bin
+DESC="{{item.description}}"
+NAME={{item.name}}
+DAEMON={{item.daemon_path}}$NAME
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+OPTIONS=""
+UMASK=0117
+
+[ -x "$DAEMON" ] || exit 0
+
+# Source defaults.
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ -n "$INTERFACE" ] && OPTIONS="$OPTIONS -i $INTERFACE"
+[ -n "$BATMANIF" ] && OPTIONS="$OPTIONS -b $BATMANIF"
+[ "$MASTER" = "1" ] && OPTIONS="$OPTIONS -m"
+[ -n "$DAEMON_OPTS" ] && OPTIONS="$OPTIONS $DAEMON_OPTS"
+
+. /lib/lsb/init-functions
+
+case "$1" in
+  start)
+        log_daemon_msg "Starting $DESC" "$NAME"
+        start-stop-daemon --start --quiet --pidfile "$PIDFILE" \
+                --umask $UMASK --make-pidfile \
+                --background --exec "$DAEMON" --oknodo \
+                -- $OPTIONS
+        log_end_msg $?
+        ;;
+  stop)
+        log_daemon_msg "Stopping $DESC" "$NAME"
+        start-stop-daemon --stop --quiet --pidfile "$PIDFILE" \
+                --retry 1 --oknodo
+        log_end_msg $?
+        ;;
+  restart|force-reload)
+        $0 stop
+        sleep 1
+        $0 start
+        ;;
+  status)
+        status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+        ;;
+  *)
+        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
+        exit 1
+        ;;
+esac
+
+exit $?

+ 10 - 0
galaxy-roles/dereulenspiegel.alfred/test/integration/alfred_all/serverspec/alfred_spec.rb

@@ -16,4 +16,14 @@ end
 describe file('/usr/local/sbin/batadv-vis') do
   it { should exist }
   it { should be_executable }
+end
+
+describe file('/etc/init.d/alfred') do
+  it { should exist }
+  it { should be_executable }
+end
+
+describe file('/etc/init.d/batadv-vis') do
+  it { should exist }
+  it { should be_executable }
 end

+ 4 - 0
galaxy-roles/dereulenspiegel.alfred/test/integration/alfred_pure/serverspec/test_spec.rb

@@ -20,4 +20,8 @@ end
 
 describe package('libgps-dev') do
   it { should_not be_installed }
+end
+
+describe file('/etc/init.d/batadv-vis') do
+  it { should_not exist }
 end

+ 1 - 0
requirements.yml

@@ -17,6 +17,7 @@
 
 - src: dereulenspiegel.alfred
   path: galaxy-roles
+  version: v1.1
 
 - src: dereulenspiegel.alfred-json
   path: galaxy-roles