Wpis z mikrobloga

#informatyka #devopsiarz #devops
Czy zna się tu ktoś na wykorzystaniu ról w Ansiblu?
Mam w folderze z rolą o nazwie X 2 foldery: tasks i vars.
W obu folderach jest plik main.yaml.
/Tasks/main.yaml zawiera kilka zadań wykorzystujących zmienne.
/Vars/main.yaml zawiera zmienne, są to 3 tablice z różnymi wartościami i jedna pusta tablica, która musiałem zadeklarować żeby móc potem sobie w niej zbierać nazwy plików.
Problem jest taki że po wywołaniu Playbooka pierwszy task przechodzi normalnie (wykorzystuje jedna z tablic ktora ma dane) a drugi się wywala (ten używa pustej tablicy i ją wypełnia przy pomocy set_facts) krzycząc że task zawiera zmienna która nie istnieje.

Już mi się kończą pomysły jak to obejść. Ma ktoś jakiś pomysł co może być nie tak?
  • 5
Sęk w tym że to wszystko jest wywoływane z pipeline'a w Jenkinsie. Początkowo varsy miałem w tym mainie w folderze tasks ale krzyczał że mu się to nie podoba. Po przeniesieniu do folderu vars nie dziala. Jak lokalnie miałem to wszystko w jednym playbooku to hulało aż miło.
@JohnTheRevelator: a daj wartości w głównym playbooki z których wykonujesz role

---
- name: Playbook
hosts: all
vars: (wpisujesz te z role/vars/mail.yml)
roles:
- twoja_rola

oczywiscie formatowanie na wypok.peel nie działa...

może wywołuje wartość przed jej zdeklarowaniem albo może fact albo hostvar odnosi sie do czegos czego nie ma
@open-alpha: jak mam wszystko w jednym playbooku to wszystko działa. Trochę tak jakby tych varsow nie widział.

Co ciekawe teraz jak przeniosłem te pliki 1:1 tak jak mam na repo na maszynę z Jenkinsem to ten krok który się wywalał bez problemu przechodzi.