diff options
author | Paul Durivage <pauldurivage@gmail.com> | 2014-01-20 19:19:03 -0600 |
---|---|---|
committer | Paul Durivage <pauldurivage@gmail.com> | 2014-01-20 19:19:03 -0600 |
commit | f72f5a20df22c9231191d15502a606cef7f2f287 (patch) | |
tree | cc7bac1035ec2fa3cbaa905e529777d99d824f5d /bin/ansible-playbook | |
parent | 4c84ba74b049986926fafa42328a5b441987ea7a (diff) | |
download | ansible-f72f5a20df22c9231191d15502a606cef7f2f287.tar.gz |
Revert "Revert "Merge pull request #5325 from angstwad/add-su-support""
This reverts commit c17d0e0357f1f3bdc7389eaa3171444fccda8b76.
Conflicts:
lib/ansible/runner/connection_plugins/paramiko_ssh.py
Diffstat (limited to 'bin/ansible-playbook')
-rwxr-xr-x | bin/ansible-playbook | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/bin/ansible-playbook b/bin/ansible-playbook index c0db66993c..646b64a764 100755 --- a/bin/ansible-playbook +++ b/bin/ansible-playbook @@ -83,6 +83,13 @@ def main(args): parser.print_help(file=sys.stderr) return 1 + # su and sudo command line arguments need to be mutually exclusive + if (options.su or options.su_user or options.ask_su_pass) and \ + (options.sudo or options.sudo_user or options.ask_sudo_pass): + parser.error("Sudo arguments ('--sudo', '--sudo-user', and '--ask-sudo-pass') " + "and su arguments ('-su', '--su-user', and '--ask-su-pass') are " + "mutually exclusive") + inventory = ansible.inventory.Inventory(options.inventory) inventory.subset(options.subset) if len(inventory.list_hosts()) == 0: @@ -90,14 +97,18 @@ def main(args): sshpass = None sudopass = None + su_pass = None if not options.listhosts and not options.syntax and not options.listtasks: 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": options.ask_pass = False options.ask_sudo_pass = options.ask_sudo_pass or C.DEFAULT_ASK_SUDO_PASS - (sshpass, sudopass) = utils.ask_passwords(ask_pass=options.ask_pass, ask_sudo_pass=options.ask_sudo_pass) + options.ask_su_pass = options.ask_su_pass or C.DEFAULT_ASK_SU_PASS + (sshpass, sudopass, su_pass) = utils.ask_passwords(ask_pass=options.ask_pass, ask_sudo_pass=options.ask_sudo_pass, ask_su_pass=options.ask_su_pass) options.sudo_user = options.sudo_user or C.DEFAULT_SUDO_USER + options.su_user = options.su_user or C.DEFAULT_SU_USER + extra_vars = {} for extra_vars_opt in options.extra_vars: @@ -156,7 +167,10 @@ def main(args): only_tags=only_tags, skip_tags=skip_tags, check=options.check, - diff=options.diff + diff=options.diff, + su=options.su, + su_pass=su_pass, + su_user=options.su_user ) if options.listhosts or options.listtasks or options.syntax: |