Seite wählen

NETWAYS Blog

Ansible – Use Blocks and Rescue Errors

Ansible is a widely used and powerful open-source configuration and deployment management tool. It can be used for simple repetitive daily tasks or complex application deployments, therefore Ansible is able to cover mostly any situation.

Since version 2.0.0 Ansible introduced the usage of blocks, they provide the possibility to group or rescue failed tasks.
On blocks we can assign most directives which are available for any other task at block level, only loops aren’t available.

- name: Update Systems
  hosts: all
  tasks:
    - name: execute this block only for rhel family hosts
      block:
        - name: install epel repository
          yum:
            name: epel-release
            state: present

        - name: install updates
          yum:
            name: '*'
            state: latest
            exclude: kernel*

      when: ansible_os_family == 'RedHat'
      become: true

When we try to deploy applications, sometimes we need to test connections or if requirements are met. When those tasks fail caused by the negative test result, the playbook by default fails and therefore stops.
To force Ansible to execute all other tasks, we could use the directive ignore_failed: true and checking the return value for any other depending task.

With blocks this is easily solved, by using rescue to catch the error and force a particular tasks to run.
The always will make sure that the listed tasks get executed.


- name: rescue my errors
  hosts: localhost
  tasks:
    - name: Try to reach host
      block:
        - name: "[Try reach DNS] Check Connection over DNS"
          command: ping client01.demo.local -c 2
          register: output
      rescue:
        - name: "[Rescue failed DNS] Check Connection over IP"
          command: ping 192.168.33.1 -c 2
          register: output
      always:
        - debug:
            var: output

To handle more than one rescue statement, the block can be simply used in the rescue section, like in the following example.


  - name: Try to execute skript
    block:
      - name: Check Connection over DNS
        command: ping nclient01.demo.local -c 2
        register: output
    rescue:
      - name: "this will fail"
        block:
          - name: it will be false
            command: /bin/false
            register: output
        rescue:
          - name: "this works"
            command: ping 192.168.33.1 -c 2
            register: output

Try to reduce ignored tasks in failed state with rescue blocks, this reduces the confusion of users when inspecting the output.
As second advice try to reduce code duplication by grouping tasks with similar directives.

Check out our Blog for more awesome posts and if you need help with Ansible send us a message or sign up for one of our trainings!

Thilo Wening
Thilo Wening
Manager Consulting

Thilo hat bei NETWAYS mit der Ausbildung zum Fachinformatiker, Schwerpunkt Systemadministration begonnen und unterstützt nun nach erfolgreich bestandener Prüfung tatkräftig die Kollegen im Consulting. In seiner Freizeit ist er athletisch in der Senkrechten unterwegs und stählt seine Muskeln beim Bouldern. Als richtiger Profi macht er das natürlich am liebsten in der Natur und geht nur noch in Ausnahmefällen in die Kletterhalle.

HW group Ares – pünktlich zum Sommer günstiger

hw group ares gsm thermometer e mail sms
Erfreuliche Neuigkeiten! Das Ares gibt es jetzt in allen Ausführungen im Schnitt 25% günstiger. Das ist doch mal eine Ansage.
Was macht das Ares und wozu ist es gut?
Das Ares von HW group ist ein autarkes Monitoring-System. Dort können Sie beliebige Sensoren und Kontakte anschließen. Mittels eingebautem SIM-Schacht machen Sie sich von drahtgebundenen Anbindungen wie Netzwerk oder Internet unabhängig. Das Ares eignet sich also ideal als Standalone-Lösung für die Überwachung von Umweltparametern im Rechenzentrum / Serverraum, in Laboren, in Ferienhäusern usw.
Mittels einer großen Anzahl von verfügbaren und kompatiblen Sensoren, ist nahezu jeder Anwendungsfall überwachbar.
Nachfolgend haben wir Ihnen einmal ein paar Beispiele zusammen gefasst:

Wie funktioniert das Ares?
Eigentlich ganz einfach: Nach der Lieferung konfigurieren Sie das Gerät initial via USB mit den gewünschten Alarmkontakten, Schwellwerten, Intervallen etc. Dann können Sie das Gerät schon am Standort Ihrer Wahl mit den dazugehörigen Sensoren aufbauen. Für den Betrieb des Ares benötigen Sie noch eine Standard-SIM. Je nach Anwendungsfall ist eine SMS-Flat oder Datenflat (bei Nutzung des SensDesk-Portals) empfehlenswert.
Wird nun ein vordefinierter Schwellwert überschritten, ein Kontakt geschlossen oder fällt der Strom aus, so werden die von Ihnen konfigurierten Alarmkontakte auf dem von Ihnen gewählten Weg alarmiert.
Zwischenabfragen sind jederzeit möglich, einfach die SIM im Gerät anrufen und der Anrufer bekommt die aktuellen Messwerte via SMS zurück. Natürlich können Sie auch die aktuellen Messwerte säuberlich geordnet im kostenfreien SensDesk-Portal betrachten. Damit Ihr Ares mit dem SensDesk-Portal funktioniert, müssen Sie dies bei der Ersteinrichtung mit berücksichtigen.
Über das SensDesk-Portal können Sie jederzeit die Einstellungen des Gerätes ändern, ohne es erneut über USB konfigurieren zu müssen. Dies eignet sich natürlich hervorragend, sollten einmal Alarmkontakte oder Schwellwerte geändert werden.
Wie funktioniert die Überwachung der Stromversorgung?
Ein großer Vorteil gegenüber anderer Produkten auf dem Markt, ist die Überwachung der Stromversorgung vom Ares. Durch die integrierte USV wird bei einem Stromausfall zuverlässig der Verlust des Stromnetzes alarmiert. Die Messungen gehen auch normal weiter, so lange, bis die USV leer ist. Sobald die Energieversorgung wieder hergestellt ist, so tritt das Ares seinen normalen Dienst wieder an und informiert über die Rückkehr zum Normalzustand. In unseren Tests hat die USV mit einem Sensor und der engmaschigen Übermittlung der Messwerte an das SensDesk-Portal noch 2 Stunden gehalten.
Wo wird das Ares eingesetzt?
Unserer Erfahrung nach haben Kunden mit dem Ares schon folgende Anwendungsfälle realisiert

  • Überwachung von Ferienwohnungen
  • Überwachung von Vorlauftemperaturen
  • Zutrittsüberwachung bei Gebäuden
  • Überwachung von Kühlschränken (auch medizinischer Bereich)
  • Überwachung von Humidoren
  • Überwachung von Weinschränken
  • Überwachung von Serverräumen
  • Überwachung von Lebensmittellagern
  • Überwachung von Windrädern
  • Überwachung von Bussen, LKW, Fahrzeugen (Stromversorgung muss nicht über das Netzteil erfolgen. Stromversorgung ist auch via Industrieklemme (9-30V) möglich)

Welche Ares gibt es?
Im wesentlichen gibt es nur das Ares12 und das Ares14, sie unterscheiden sich in der Anzahl der maximal anschließbaren Sensoren. Die folgende Übersicht erleichtert die unterschiedlichen Funktionsumfänge zu verstehen.
Ares_Compare
 
Wo kann man das Ares kaufen?
Das Ares gibt es bei uns im Online-Store, aktuell zu folgenden Konditionen:

Neu im NETWAYS-Online-Store: HWgroup Poseidon2 3266

Poseidon2-3266_main_600568_1024
Und wieder gibt es ein neues Produkt im NETWAYS-Online Shop. Da inzwischen das HW group Poseidon 3266 nicht mehr erhältlich ist, haben wir nun auch ganz frisch bei uns im Shop das HW group Poseidon2 3266.
Dies sieht nicht nur viel besser aus als sein Vorgänger, sondern kann auch noch viel mehr – die wichtigsten Änderungen einmal zusammengetragen:

  • robustes und kompaktes Vollmetallgehäuse (vorher Kunststoff)
  • Stromversorgung nun über Netzteil oder Industrieklemme (vorher nur Netzteil)
  • Stromversorgung für 2 Sensoren (z. B. Rauch) (neues Feature)
  • bis zu 8 Sensoren / 4 potentialfreie Kontakte (vorher max. 5 Sensoren)
  • Unterstützung von 1-Wire Uni Sensoren (neues Feature)
  • integrierter Datalogger bis 250 000 Einträge (neues Feature)
  • Anschluss an HWgroup SMS-Gateway (neues Feature)
  • 5 E-Mail Alarmkontakte (vorher 4)
  • Email via SMTP TLS (neu)
  • periodische E-Mail Reports (neu)
  • E-Mail Alarm Reminder (neu)
  • HWgroup Push-Protokoll für Sensdesk Portal, mehr Infos hier (neu)
  • Arbeitstemperatur (-35°C bis 85°C), vorher 0°C bis 65°C
  • Montage für Hutschiene, Rack oder normale Aufstellung geeignet

Mehr Informationen, noch mehr Bilder, Preise und sogar eine Online-Demo gibt es auf der Produktseite!
Fragen zum Produkt? Beratung gewünscht? Sehr gerne!