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