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/integration
Adrian Likins 86dc3c09ac
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
7 years ago
..
targets Fix vault --ask-vault-pass with no tty (#31493) 7 years ago
asa.yaml Fix trailing space in ec2_vol example, fix 'the the' typos (#28440) 7 years ago
cloud-config-aws.yml.template Add region to ansible-test AWS cloud config. (#30733) 7 years ago
cloud-config-azure.yml.template Fix Azure config template. 7 years ago
cloud-config-cs.ini.template Add support for cloud tests to ansible-test. (#24315) 8 years ago
dellos6.yaml Migrate Network Tests into ansible/ansible (#18233) 8 years ago
dellos9.yaml Migrate Network Tests into ansible/ansible (#18233) 8 years ago
dellos10.yaml Migrate Network Tests into ansible/ansible (#18233) 8 years ago
eos.yaml eos_static_route DI module (#32587) 7 years ago
integration.cfg Fix ansible-test config management. 7 years ago
integration_config.yml Fix cosmetic problems in YAML source 8 years ago
inventory Fix fact failures cause by ordering of collectors (#30777) 7 years ago
inventory.network Add VyOS integration tests for net_linkagg (#26478) 7 years ago
inventory.networking.template Increase python version coverage for tests. (#24762) 8 years ago
inventory.remote.template Add support for OS X CI on Shippable. (#17160) 8 years ago
inventory.winrm.template Increase python version coverage for tests. (#24762) 8 years ago
ios.yaml ios_vlan DI module (#32490) 7 years ago
iosxr.yaml Fix trailing space in ec2_vol example, fix 'the the' typos (#28440) 7 years ago
junos.yaml Fix trailing space in ec2_vol example, fix 'the the' typos (#28440) 7 years ago
network-all.yaml New module: management of the Nuage Networks VSP SDN solution (network/nuage/nuage_vspk) (#24895) 7 years ago
network-integration.cfg Increase socket connect retry timeout for integration test (#30681) 7 years ago
nxos.yaml Fix snmp bugs on Nexus 3500 platform (#32773) 7 years ago
ops.yaml Fix trailing space in ec2_vol example, fix 'the the' typos (#28440) 7 years ago
platform_agnostic.yaml remove net_command (#28525) 7 years ago
target-prefixes.network openvswitch targets via network-integration (#27295) 7 years ago
vyos.yaml Add vyos_vlan DI module (#32072) 7 years ago
windows-integration.cfg Fix ansible-test config management. 7 years ago