jhaals / ansible-vault

ansible lookup plugin for secrets stored in Vault(by HashiCorp)
BSD 3-Clause "New" or "Revised" License
347 stars 65 forks source link

fix bug in _fetch_client_token #69

Open crolfe opened 6 years ago

crolfe commented 6 years ago

This fixes a bug that only occurs when ~/.vault-token is not present (i.e. Vault does not have a valid token).

From what I can tell, the data parameter this method takes is always a dict, so I .encode('utf-8') every value in the dict that this method is passed. This change naively assumes data will never be nested, which should be fine for now, but may need to be changed in the future.

The error message I was getting on master is below: fatal: [10.10.19.108]: FAILED! => {"changed": false, "failed": true, "msg": "AnsibleError: An unhandled exception occurred while running the lookup plugin 'vault'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Unable to retrieve personal token from vault: 'dict' object has no attribute 'encode'"}