Change in vars_prompt behavior for 2.x

I opened a ticket https://github.com/ansible/ansible/issues/12297 which was closed as won’t fix. I think that decision was flawed, and I’d like to make the argument here.

Basically, the old vars_prompt default was to display what the user typed unless you explicitly passed private: yes in the call. This is also how the documentation is written.

However, this behavior was recently changed so that now you must pass private: no if you want to see the characters as you type. As I said on the ticket, I think this assumes that the majority of prompts will be passwords, which certainly doesn’t match our usage. We have playbook variables that must be set for which there is no sane default (e.g. hostnames), so I prompt for them if they were not passed on the command line. This is a much nicer behavior of adhoc playbook testing prior to deployment with a automation tool like Bamboo.

At least give me a config option I can use to switch the default.

Thanks

John

Hello John,

For me, this change also makes no sense. It was already good and for me it wasn’t the majority of this to ask for passwords…

But it looks like that this decision is made…

The other points:
Using asterisk wouldn’t be consistent and I like the standard behavior.
In my opinion changing the behavior of playbooks by configuration for this sensitive part wouldn’t be a good solution?

esco

I like the idea of a config option to set the default. Making default one way or the other is fine, however giving people the option to weigh risks and set their own default is best.

I am against a config var, this will require third party authors of roles to always set private yes|no, since they cannot rely on a sane behaviour on the enduser side… That said I’d also vote for private=no as default.