Puncte:1

Șirul criptat în linie Ansible-Vault aruncă o eroare

drapel cn

Am probleme cu șirurile criptate inline în Ansible/Ansible-vault.

Stochez parola Ansible Vault într-un fișier și am un fișier de configurare local care o declară:

[implicit]
vault_password_file = ./my_vault_pass

Deoarece am deja definit un fișier de parolă_seif, îmi creez variabila criptată cu următoarea comandă:

ansible-vault șir de criptare --stdin-name „nume utilizator”

Când vi se cere, introduc valoarea pe care vreau să o criptez și CTRL-D de două ori fără să apăs pe Enter. Apoi iau rezultatul acelei comenzi și înlocuiesc definiția variabilei cu ea.

Fișierul meu tasks/main.yml se termină așa [exprimat]

---
- nume: clonează șablonul
  vmware_guest:
    Nume gazdă: 1.2.3.4
    nume de utilizator: !vault |
          $ANSIBLE_VAULT;1.1;AES256
          63353665383934386565306639633734366666303465306364323761323938383433643133313933
          3939356663626465303465646265653731626463386261610a306361343436613030336639303533
          6461333732633235393331393130353765383623863343435623730316266643636373831363937
          6231643937376665620a326465343239643237366465353965376532336365346631653466623038
          35636135303233623733306632333833663535646230393335303261633535353636
    parola: „parola_mea”
    validate_certs: False
    nume: testvm_2
    șablon: „nume-șablon”
    centru de date: DC1
    folder: /Test
    stare: poweredon
    wait_for_ip_address: da

Cu toate acestea, cu nume de utilizator: schimbarea fiind singura modificare, acum primesc o eroare:

PLAY [localhost] ************************************************ **************************************************** *************

SARCINA [Adunarea faptelor] ********************************************* **************************************************** ********
ok: [localhost]

SARCINA [comun: Clonează șablonul] ******************************************** ************************************************
fatal: [localhost]: FAILED! => {"msg": "Nu se pot transmite opțiuni la modul, acestea trebuie să fie serializabile JSON: obiectul de tip AnsibleVaultEncryptedUnicode nu poate fi serializat JSON"}

JOACĂ RECAPITULARE ************************************************ **************************************************** ****************
localhost: ok=1 schimbat=0 inaccesibil=0 eșuat=1 omis=0 salvat=0 ignorat=0   
Puncte:0
drapel cn

Se pare că am găsit soluția la propria mea întrebare:

Nu pare posibil în Ansible să cripteze variabilele modulului. O soluție pentru aceasta este de a indirect variabila către un fișier vars.yml folosind sintaxa Jinja descrisă în Sfaturi si trucuri.

adică

sarcini.yml

    parola: „{{ vault_password }}”

Și apoi în vars.yml (am folosit vars/main.yml pe măsură ce folosesc Cele mai bune practici pentru aspectul directorului.

parola_seif: !seif |
          $ANSIBLE_VAULT;1.1;AES256
          30373438353463646433363433616631616434616237636432653530353330636236666332363661
          6565323338643139623737646431333332383432613962640a636537306139646539303762646166
          61363435643137363738656235613330663131613333656538323035666261336334383138663965
          6365356130346537300a363961623261653030363433353737386666306131336631343633396262
          6565
Zeitounator avatar
drapel fr
`Nu pare posibil în Ansible să criptezi variabilele modulelor`
MattB avatar
drapel cn
@Zeitounator Interesant, îmi închideam propria problemă cu răspunsul după ce am discutat pe canalul #ansible Freenode. Deoarece soluția pare să fie eficientă, nu am continuat acest lucru, dar o voi ține cont, mulțumesc.

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.