Puncte:0

Ansible - cum să faci bucla prin serviciile prezente în fișierul de inventar

drapel vn

winapp.example.comBună ziua, Am un fișier de inventar care conține atât serverele de aplicații Windows, serverele web și numai serviciile respective care trebuie oprite sau repornite. Cerința este ca numai anumite servicii să fie oprite pentru un grup de gazde. Pentru ex. gazdele appserver ar trebui să utilizeze servicii sub appservers:vars

Apreciez ajutorul tau !!!

Fișierul Inventory\hosts.ini conține

[servere de aplicații]
winapp1.example.com
winapp2.example.com

[servere de aplicații:vars]
  Servicii:
    - WorkflowService
    - Serviciul de configurare
    - Serviciu de sincronizare
    - ParentConfigurationService

[slaveappservers]
winslvapp1.example.com
winslvapp2.example.com

[slaveappservers:vars]
  Servicii:
    - Serviciu de sincronizare
    - ParentConfigurationService

[servere web] 
webser1.ent.wfb.bank.corp

[servere web:vars]
  Servicii:
    - WorkflowService
    - Serviciu de sincronizare
    - ParentConfigurationService

[allservers:copii]
servere de aplicație
slaveappservers
servere web

service_stop.yml

---
- nume: SHRP service stop Demo
  gazde: toate
  gather_facts: false

  sarcini:
  - nume: întrerupeți un serviciu
    win_service:
      nume: „{{ item }}”
      stare: oprit
    buclă: 
      - "{{ Servicii }}"
Puncte:1
drapel cn

Ai deja o soluție. Definiți o variabilă cu același nume, dar grupați valori specifice. Folosiți acel nume variabil în piesele care pot rula în ambele grupuri.

Există mai multe sintaxe pentru a obține valori specifice grupului.

  • Definirea unei variabile în inventar pentru un grup
  • În fișierele group_vars adiacente playbook-ului sau inventarului.
  • O expresie de căutare sau un dict indexat după numele grupului.

Al tău este un exemplu din primul.

drapel vn
Am crezut că am oferit un nume de variabilă ca „servicii” pentru a-l face comun între grupuri. Cu setările de mai sus primesc o eroare când jocul este executat ca „servicii” nedefinite. Apreciez ajutorul tau !!!
John Mahowald avatar
drapel cn
Vă rugăm să vă editați întrebarea pentru a adăuga eroarea.
drapel vn
Am același cod menționat mai sus și când am rulat playbook-ul, am primit următoarea eroare. { "msg": "Date nevalide transmise la „buclă”, necesită o listă, am primit în schimb: servicii. Sugestie: Dacă ați trecut o listă/dict de un singur element, încercați să adăugați wishlist=True la invocarea dvs. de căutare sau utilizați q /query în loc de căutare.", „_ansible_no_log”: nul }

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.