Ansible Playbook für Supervisord
Wie schon ein einige Male erwähnt nutze ich zur Verwaltung meiner Rechner Ansible und in einigen Fällen Supervisord um Hintergrundprozesse zu starten und zu überwachen.
Da für den Bewegungsmelder ein neuer Raspberry mit Supervisord installiert werden musste kam wieder die Grundregel “Beim zweiten Mal automatisieren” zum Zuge.
Hier ein Ansible Playbook das die hier beschriebenen Schritte automatisiert. Nicht optimal wurde eine Möglichkeit eingerichtet Rechner spezifische Supervisord Programme zu verteilen.
---
- name: Installs pip installer
apt: pkg=python-pip state=installed
- name: Install supervisord package.
pip: name=supervisor
- name: create supervisor directory
file: path=/etc/supervisord.d/ state=directory
- name: create supervisor configuration
shell: /usr/local/bin/echo_supervisord_conf > /etc/supervisord.conf
- name: make sure individuelle configs are includes
lineinfile: dest=/etc/supervisord.conf line=""
with_items:
- { line: '[include]' }
- { line: 'files = /etc/supervisord.d/*.conf' }
- name: copy supervisor starter script
copy: src=supervisord dest=/etc/init.d/supervisord mode=0770
- name: enable autostart of supervisord
shell: update-rc.d supervisord defaults
- name: copy supervisor config
copy: src=pi3/buero_motion.conf dest=/etc/supervisord.d/buero_motion.conf
when : inventory_hostname == "pi3"
- name: copy script Openhab variable setzen
copy: src=pi3/DG_B_motion.sh dest=/root/DG_B_motion.sh mode=0700
when: inventory_hostname == "pi3"
- name: copy Überwache Pi GPIO Script
copy: src=pi3/pir_1.py dest=/root/pir_1.py mode=0700
when: inventory_hostname == "pi3"
- name: restart supervisord
service: name=supervisord state=restarted