[stable-2.10] Let vault lookup output unicode string. (#73571) (#73573)

Until now, the lookup plugin returned a byte string.
Changed this to output a unicode string instead.
(cherry picked from commit d0fda3e901)

Co-authored-by: Alexander Sowitzki <asowitzk@redhat.com>
This commit is contained in:
Alexander Sowitzki 2021-03-08 11:15:28 +01:00 committed by GitHub
parent e85732f7e6
commit ab8bbe269d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 26 additions and 1 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- the unvault lookup plugin returned a byte string. Now returns a real string.

View file

@ -56,7 +56,7 @@ class LookupModule(LookupBase):
actual_file = self._loader.get_real_file(lookupfile, decrypt=True)
with open(actual_file, 'rb') as f:
b_contents = f.read()
ret.append(b_contents)
ret.append(to_text(b_contents))
else:
raise AnsibleParserError('Unable to find file matching "%s" ' % term)

View file

@ -0,0 +1 @@
shippable/posix/group2

View file

@ -0,0 +1,9 @@
- hosts: localhost
tasks:
- set_fact:
unvaulted: "{{ lookup('unvault', 'vault') }}"
- debug:
msg: "{{ unvaulted }}"
- assert:
that:
- "unvaulted == 'foo: bar\n'"

View file

@ -0,0 +1 @@
secret

View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -eux
ansible-playbook --vault-password-file password main.yml

View file

@ -0,0 +1,6 @@
$ANSIBLE_VAULT;1.1;AES256
33386337343963393533343039333563323733646137636162346266643134323539396237646333
3663363965336335663161656236616532346363303832310a393264356663393330346137613239
34633765333936633466353932663166343531616230326161383365323966386434366431353839
3838623233373231340a303166666433613439303464393661363365643765666137393137653138
3631