ansible: mit with_items mit notify-handler

Möchte ich übergeben Sie eine variable, um eine Benachrichtigung handler, kann aber nirgendwo finden werden Sie es hier auf, SO dass die docs oder die Probleme in der github repo, wie es zu tun. Was ich Tue, ist die Bereitstellung von webapps, und wenn Sie den code für eines dieser webapps geändert wird, wird es neu starten soll der Dienst für die webapp.

Vom diese Frage ALSO, habe ich diese zu arbeiten, etwas:

- hosts: localhost
  tasks:
  - name: "task 1"
    shell: "echo {{ item }}"
    register: "task_1_output"
    with_items: [a,b]
  - name: "task 2"
    debug:
      msg: "{{ item.item }}"
    when: item.changed
    with_items: task_1_output.results

(Legen Sie es in test.yml und führen Sie es mit ansible-playbook test.yml -c local.)

Aber dadurch wird das Ergebnis von der ersten Aufgabe und bedingt Schleifen über, die in der zweiten Aufgabe. Mein problem ist, es wird chaotisch, wenn Sie zwei oder mehr Aufgaben, die Notwendigkeit zu informieren, die zweite Aufgabe! Zum Beispiel, starten Sie den Webdienst neu, wenn entweder der code wurde aktualisiert, oder die Konfiguration wurde geändert.

AFAICT, gibt es keine Möglichkeit, übergeben Sie eine variable an eine Prozedur. Das würde sauber für mich zu beheben. Ich fand einige Themen auf github, wo andere Leute das gleiche problem haben, und manche Schreibweisen werden vorgeschlagen, aber keiner von Ihnen wirklich funktionieren.

Einschließlich einer sub-playbook wird nicht funktionieren, weil mit with_items zusammen mit include war veraltet.

In meinem playbooks, ich habe eine site.yml dass die Listen der Rollen, in der Gruppe, dann in der group_vars für diese Gruppe definiere ich die Liste der webapps (einschließlich der Versionen), die installiert werden soll. Dies scheint korrekt zu mir, denn auf diese Weise kann ich mit dem gleichen Textbuch für die Inszenierung und Produktion. Aber vielleicht die einzige Lösung ist, um zu definieren, die Rolle mehrere Male, und duplizieren Sie die Liste der Rollen für die Inszenierung und Produktion.

Also, was ist die Weisheit hier?

InformationsquelleAutor j0057 | 2014-09-05
Schreibe einen Kommentar