Am mai multe roluri, după cum urmează: haproxy, java, nginx, tomcat
âââ ansible-test-host.yml
âââ hapoxi
âââ java
âââ myplaybook.yml
âââ nginx
âââ pisica
Registrul de bază este: myplaybook.yml
si arata ca mai jos:
---
- gazde: test-local
conexiune: locală
vars:
java_version: „1.8.0”
roluri:
- java
Deci, cerința mea depinde de rolurile specificate java/tomcat/nginx etc. Am un fișier șablon de populat. Spunem că logica mea este să fac după cum urmează:
dacă
rol == java apoi în template.j2 Trebuie să setez `JAVA_TOOL_OPTIONS= -Xmx10g -Xms5g`
elif
rol == tomcat apoi în template.j2 Trebuie să setez `JAVA_OPTS= -Xmx10g -Xms5g`
altfel
NIMIC
endif
Am și alte scenarii care stau la baza de sortat, dar dacă primesc baza, pot să o fac.
Ce am încercat în rol java main.yml este aici
---
# fișier de sarcini pentru java
- nume: scoateți variabilele magice „ansible_”.
depanare:
mesaj: [
„ansible_role_names = {{ ansible_role_names | default({}) }}”,
„ansible_dependent_role_names = {{ ansible_dependent_role_names }}”,
"ansible_play_role_names = {{ ansible_play_role_names | default([]) | join(',') }}"
]
- nume: set de fapte
set_fact:
DEFAULT_VAR: >
{% if "{{ ansible_play_role_names | default([]) | join(',') }}" == "java" %}
JAVA_TOOL_OPTIONS
{% elif "{{ ansible_play_role_names | default([]) | join(',') }}" == 'tomcat' %}
CATALINA_OPTS
{% altfel %}
NIMIC
{% endif %}
- nume: scoateți var-a personalizată1
depanare:
mesaj: >
{% if "{{ ansible_play_role_names | default([]) | join(',') }}" == "java" %}
JAVA_TOOL_OPTIONS
{% altfel %}
NIMIC
{% endif %}
- nume: scoateți varul meu personalizat - echo
depanare:
msg: „{{ DEFAULT_VAR }}”
Ieșirea mea este ca
SARCINA [java: scoateți variabilele magice „ansible_”] **************************************** *************
ok: [127.0.0.1] => {
"msg": [
"ansible_role_names = ['java']",
„ansible_dependent_role_names = []”,
„ansible_play_role_names = java”
]
}
SARCINA [java: set facts] ******************************************** ************************************
ok: [127.0.0.1]
SARCINA [java: scoateți var-a personalizată1] **************************************** ************************
ok: [127.0.0.1] => {
"msg": " NIMIC \n"
}
SARCINA [java: scoateți varul personalizat - echo] **************************************** ************************
ok: [127.0.0.1] => {
"msg": " NIMIC \n"
}
JOACĂ RECAPITULARE ************************************************ ********************************************
127.0.0.1: ok=5 schimbat=0 inaccesibil=0 eșuat=0 omis=0 salvat=0 ignorat=0
Vă rugăm să ajutați cu indicații pentru a realiza acest lucru.