You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/units
Adrian Likins f68330acb2 Fix vault --ask-vault-pass with no tty (#31493)
* Fix vault --ask-vault-pass with no tty

2.4.0 added a check for isatty() that would skip setting up interactive
vault password prompts if not running on a tty.

But... getpass.getpass() will fallback to reading from stdin if
it gets that far without a tty. Since 2.4.0 skipped the interactive
prompts / getpass.getpass() in that case, it would never get a chance
to fall back to stdin.

So if 'echo $VAULT_PASSWORD| ansible-playbook --ask-vault-pass site.yml'
was ran without a tty (ie, from a jenkins job or via the vagrant
ansible provisioner) the 2.4 behavior was different than 2.3. 2.4
would never read the password from stdin, resulting in a vault password
error like:

        ERROR! Attempting to decrypt but no vault secrets found

Fix is just to always call the interactive password prompts based
on getpass.getpass() on --ask-vault-pass or --vault-id @prompt and
let getpass sort it out.

* up test_prompt_no_tty to expect prompt with no tty

We do call the PromptSecret class if there is no tty, but
we are back to expecting it to read from stdin in that case.

* Fix logic for when to auto-prompt vault pass

If --ask-vault-pass is used, then pretty much always
prompt.

If it is not used, then prompt if there are no other
vault ids provided and 'auto_prompt==True'.

Fixes vagrant bug https://github.com/hashicorp/vagrant/issues/9033

Fixes #30993

(cherry picked from commit 86dc3c09ac)
8 years ago
..
cli Fix vault --ask-vault-pass with no tty (#31493) 8 years ago
contrib Update vmware_inventory (#26308) 9 years ago
errors test/: PEP8 compliancy (#24803) 9 years ago
executor better cleanup on task results display (#27175) 8 years ago
inventory INI inventory plugin: add documentation about variable types (#25798) 9 years ago
inventory_test_data/group_vars Merge branch 'v2_final' into devel_switch_v2 11 years ago
mock Support multiple vault passwords (#22756) 9 years ago
module_utils Make ansible_selinux facts a consistent type (#31065) 8 years ago
modules Fix ios_config file prompt issue (#32744) (#32780) 8 years ago
parsing Better handling of malformed vault data envelope (#32515) 8 years ago
playbook Fix include_role unit tests (#31920) 8 years ago
plugins tests for InventoryModule error conditions (#31381) 8 years ago
template template: fix KeyError: 'undefined variable: 0 (#27972) 8 years ago
utils test/: PEP8 compliancy (#24803) 9 years ago
vars make groups magic var dependant on inventory (#28677) 8 years ago
__init__.py Add empty-init code-smell script. (#18406) 9 years ago
ansible.cfg Fix ansible-test config management. 8 years ago
conftest.py Fix bugs in ansible-test units command. (#24044) 9 years ago
test_constants.py 1st part of ansible config, adds ansible-config to view/manage configs (#12797) 9 years ago