Ansible-vault-Fehler mit "Odd-length string"

8

Ich führe Ansible 1.8.2 aus. Ich habe eine gewölbte Datei auf einem anderen System erstellt. Auf diesem System funktioniert es ohne Probleme. Wenn ich es jedoch auf meinem lokalen System ausführe, erhalte ich den folgenden Fehler:

%Vor%

Ich habe versucht, das Passwort manuell einzugeben oder es zu kopieren, aber der Fehler tritt trotzdem auf.

Was ist hier los und wie kann ich diesen Fehler beheben?

    
Mxx 05.01.2015, 20:31
quelle

4 Antworten

14

Es stellt sich heraus, dass dieser Fehler darauf zurückzuführen ist, dass ab Ansible 1.8.2 eine sehr spezifische Zeilenende-Kodierung für die Dateien mit dem Vaulting erforderlich ist.

Wenn ich diesen Dateityp hatte, würde es fehlschlagen:

%Vor%

Sobald ich es jedoch geändert habe, hat es angefangen zu arbeiten:

%Vor%

Dieses ganze Problem ist aufgetreten, weil mein Git-Client Zeilenvorschub-Zeichen geändert hat. Siehe diesen Artikel für Einzelheiten: Ссылка

    
Mxx 10.01.2015, 03:11
quelle
1

Selbst mit all diesen Lösungen funktionierte das Bearbeiten von Vault-Dateien für mich nicht, bis ich die Umgebungsvariable EDITOR (aus welchem ​​Grund auch immer, nicht in meiner Linux-Distribution) gesetzt hatte:

%Vor%

Eine Möglichkeit, herauszufinden, ob dies für Sie zutrifft, ist view vault-Dateien (mit ansible-vault view -Befehl). Wenn view funktioniert, aber edit nicht, müssen Sie die Option EDITOR env-Variable an Ihren bevorzugten Editor.

    
Vladan Panovic 01.03.2018 19:41
quelle
0

Einige Entwickler, die Windows verwenden, haben das gleiche Problem. d. h. Auftreten von ERROR: Odd-length string beim Ausführen von ansible . Es stellte sich heraus, dass die Dateien, die die Variablen enthielten, ASCII text, with CRLF line terminators :

waren %Vor%

Nachdem sed -i 's/\r//' *_vars/*/* ausgeführt wurde, wurde crlf entfernt:

%Vor%

und der Ansible-Lauf ist erfolgreich.

    
030 02.01.2017 13:04
quelle
0

Wie bereits oben mit @Mxx (Thx!) verbunden, habe ich die notwendigen Änderungen für LF-Zeilenendungen auf einer Windows-Maschine verdünnt:

(Angenommen, Sie haben noch keine nicht übernommenen Änderungen und keine .gitattributes-Datei)

%Vor%

Das hat den Job für mich getan. Ich konnte auf den Tresor zugreifen, ohne jedes Mal sed ausführen zu müssen.

    
Markus 24.01.2017 14:08
quelle

Tags und Links