added password prompting and become/sudo/su collapsing

This commit is contained in:
Brian Coca
2015-03-21 01:19:07 -04:00
parent 9d3a63945d
commit edb1bd25dd
3 changed files with 65 additions and 11 deletions

View File

@@ -29,7 +29,7 @@ from ansible.inventory import Inventory
from ansible.parsing import DataLoader
from ansible.parsing.splitter import parse_kv
from ansible.playbook.play import Play
from ansible.utils.cli import base_parser, validate_conflicts
from ansible.utils.cli import base_parser, validate_conflicts, normalize_become_options, ask_passwords
from ansible.vars import VariableManager
########################################################
@@ -79,11 +79,14 @@ class Cli(object):
#-------------------------------------------------------------------------------
# FIXME: the password asking stuff needs to be ported over still
#-------------------------------------------------------------------------------
#sshpass = None
#sudopass = None
#su_pass = None
#vault_pass = None
#
sshpass = None
becomepass = None
vault_pass = None
normalize_become_options(options)
(sshpass, becomepass, vault_pass) = ask_passwords(options)
#options.ask_pass = options.ask_pass or C.DEFAULT_ASK_PASS
## Never ask for an SSH password when we run with local connection
#if options.connection == "local":

View File

@@ -12,7 +12,7 @@ from ansible.parsing import DataLoader
from ansible.parsing.splitter import parse_kv
from ansible.playbook import Playbook
from ansible.playbook.task import Task
from ansible.utils.cli import base_parser, validate_conflicts
from ansible.utils.cli import base_parser, validate_conflicts, normalize_become_options, ask_passwords
from ansible.utils.unicode import to_unicode
from ansible.utils.vars import combine_vars
from ansible.utils.vault import read_vault_file
@@ -55,11 +55,15 @@ def main(args):
validate_conflicts(parser,options)
# Manage passwords
sshpass = None
becomepass = None
vault_pass = None
if options.ask_vault_pass:
# FIXME: prompt here
pass
elif options.vault_password_file:
normalize_become_options(options)
(sshpass, becomepass, vault_pass) = ask_passwords(options)
if options.vault_password_file:
# read vault_pass from a file
vault_pass = read_vault_file(options.vault_password_file)