Ich möchtewie ist mein ansible condtional gebrochen? Warum funktionieren beide Debug-Anweisungen?
Die „Passwort-Generierung“ Schritt ausführen, um nur, wenn die {{mysql.password}} var ist nicht gleich „random“
Die „Debug-Passwort-Generierung“ Schritt nur ausgeführt werden, wenn Die Passwortgenerierung wurde ausgeführt.
Der "debug Passwort gesetzt wird" Schritt nur ausgeführt werden, wenn das Passwort Erzeugungsschritt
wurde übersprungen Was
Alle Schritte geschieht ausgeführt werden
Meine Dateien
playbook.yml
# tasks file for git_deployment
- name: Generate DB login_password
shell: mkpasswd.pl --length=32
args:
creates: /tmp/.dbpwd
register: dbpwd
when: mysql.password != "random"
- name: debug password genreation
debug: var=dbpwd
when: dbpwd is defined
- name: debug password being set
debug: var=mysql
when: { mysql.password != "random" }
- name: create database
mysql_db:
name: "{{ mysql.db }}"
state: present
betonte textrole-tasks.yml
# tasks file for git_deployment
- name: Generate DB login_password
shell: mkpasswd.pl --length=32
args:
creates: /tmp/.dbpwd
register: dbpwd
when: mysql.password != "random"
- name: debug password genreation
debug: var=dbpwd
when: dbpwd is defined
- name: debug password being set
debug: var=mysql
when: { mysql.password != "random" }
- name: create database
mysql_db:
name: "{{ mysql.db }}"
state: present