{"action":"created","comment":{"url":"https://api.github.com/repos/ansible/ansible/pulls/comments/26001112","id":26001112,"diff_hunk":"@@ -77,11 +74,13 @@ def __init__(self,\n         check            = False,\n         diff             = False,\n         any_errors_fatal = False,\n-        su               = False,\n-        su_user          = False,\n-        su_pass          = False,\n         vault_password   = False,\n         force_handlers   = False,\n+        # privelege escalation\n+        become           = False,\n+        become_method    = C.DEFAULT_BECOME_METHOD,\n+        become_user      = C.DEFAULT_BECOME_USER,\n+        become_pass      = None,","path":"lib/ansible/playbook/__init__.py","position":29,"original_position":29,"commit_id":"d46f33b4addb8a5b1b4e12a522668353d5395e9b","original_commit_id":"d46f33b4addb8a5b1b4e12a522668353d5395e9b","user":{"login":"mscherer","id":230335,"avatar_url":"https://avatars.githubusercontent.com/u/230335?v=3","gravatar_id":"","url":"https://api.github.com/users/mscherer","html_url":"https://github.com/mscherer","followers_url":"https://api.github.com/users/mscherer/followers","following_url":"https://api.github.com/users/mscherer/following{/other_user}","gists_url":"https://api.github.com/users/mscherer/gists{/gist_id}","starred_url":"https://api.github.com/users/mscherer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mscherer/subscriptions","organizations_url":"https://api.github.com/users/mscherer/orgs","repos_url":"https://api.github.com/users/mscherer/repos","events_url":"https://api.github.com/users/mscherer/events{/privacy}","received_events_url":"https://api.github.com/users/mscherer/received_events","type":"User","site_admin":false},"body":"Shouldn't it use C.DEFAULT_BECOME_PASS ?","created_at":"2015-03-08T00:42:46Z","updated_at":"2015-03-08T00:42:46Z","html_url":"https://github.com/ansible/ansible/pull/10411#discussion_r26001112","pull_request_url":"https://api.github.com/repos/ansible/ansible/pulls/10411","_links":{"self":{"href":"https://api.github.com/repos/ansible/ansible/pulls/comments/26001112"},"html":{"href":"https://github.com/ansible/ansible/pull/10411#discussion_r26001112"},"pull_request":{"href":"https://api.github.com/repos/ansible/ansible/pulls/10411"}}},"pull_request":{"url":"https://api.github.com/repos/ansible/ansible/pulls/10411","id":30711846,"html_url":"https://github.com/ansible/ansible/pull/10411","diff_url":"https://github.com/ansible/ansible/pull/10411.diff","patch_url":"https://github.com/ansible/ansible/pull/10411.patch","issue_url":"https://api.github.com/repos/ansible/ansible/issues/10411","number":10411,"state":"open","locked":false,"title":"preliminary privlege escalation unification  + pbrun","user":{"login":"bcoca","id":836171,"avatar_url":"https://avatars.githubusercontent.com/u/836171?v=3","gravatar_id":"","url":"https://api.github.com/users/bcoca","html_url":"https://github.com/bcoca","followers_url":"https://api.github.com/users/bcoca/followers","following_url":"https://api.github.com/users/bcoca/following{/other_user}","gists_url":"https://api.github.com/users/bcoca/gists{/gist_id}","starred_url":"https://api.github.com/users/bcoca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcoca/subscriptions","organizations_url":"https://api.github.com/users/bcoca/orgs","repos_url":"https://api.github.com/users/bcoca/repos","events_url":"https://api.github.com/users/bcoca/events{/privacy}","received_events_url":"https://api.github.com/users/bcoca/received_events","type":"User","site_admin":false},"body":"TODO: add docs and update examples\r\n\r\n- become constants inherit existing sudo/su ones\r\n- become command line options, marked sudo/su as deprecated and moved sudo/su passwords to runas group\r\n- changed method signatures as privlege escalation is collapsed to become\r\n- added tests for su and become, diabled su for lack of support in local.py\r\n- updated playbook,play and task objects to become\r\n- added become to runner\r\n- added whoami test for become/sudo/su\r\n- added home override dir for plugins\r\n- removed useless method from ask pass\r\n- forced become pass to always be string also uses to_bytes\r\n- fixed fakerunner for tests\r\n- corrected reference in synchronize action plugin\r\n- added pfexec (needs testing)\r\n- removed unused sudo/su in runner init\r\n- removed deprecated info\r\n- updated pe tests to allow to run under sudo and not need root\r\n- normalized become options into a funciton to avoid duplication and inconsistencies\r\n- pushed suppored list to connection classs property\r\n- updated all connection plugins to latest 'become' pe","created_at":"2015-03-08T00:05:53Z","updated_at":"2015-03-08T00:42:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9f00d879ba2345bb2bd357bb107cbc3272fc98a4","assignee":null,"milestone":{"url":"https://api.github.com/repos/ansible/ansible/milestones/6","html_url":"https://github.com/ansible/ansible/milestones/next","labels_url":"https://api.github.com/repos/ansible/ansible/milestones/6/labels","id":995714,"number":6,"title":"next","description":null,"creator":{"login":"abadger","id":209242,"avatar_url":"https://avatars.githubusercontent.com/u/209242?v=3","gravatar_id":"","url":"https://api.github.com/users/abadger","html_url":"https://github.com/abadger","followers_url":"https://api.github.com/users/abadger/followers","following_url":"https://api.github.com/users/abadger/following{/other_user}","gists_url":"https://api.github.com/users/abadger/gists{/gist_id}","starred_url":"https://api.github.com/users/abadger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abadger/subscriptions","organizations_url":"https://api.github.com/users/abadger/orgs","repos_url":"https://api.github.com/users/abadger/repos","events_url":"https://api.github.com/users/abadger/events{/privacy}","received_events_url":"https://api.github.com/users/abadger/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":6,"state":"open","created_at":"2015-02-25T19:26:53Z","updated_at":"2015-03-08T00:06:06Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/ansible/ansible/pulls/10411/commits","review_comments_url":"https://api.github.com/repos/ansible/ansible/pulls/10411/comments","review_comment_url":"https://api.github.com/repos/ansible/ansible/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ansible/ansible/issues/10411/comments","statuses_url":"https://api.github.com/repos/ansible/ansible/statuses/d46f33b4addb8a5b1b4e12a522668353d5395e9b","head":{"label":"bcoca:add_pbrun","ref":"add_pbrun","sha":"d46f33b4addb8a5b1b4e12a522668353d5395e9b","user":{"login":"bcoca","id":836171,"avatar_url":"https://avatars.githubusercontent.com/u/836171?v=3","gravatar_id":"","url":"https://api.github.com/users/bcoca","html_url":"https://github.com/bcoca","followers_url":"https://api.github.com/users/bcoca/followers","following_url":"https://api.github.com/users/bcoca/following{/other_user}","gists_url":"https://api.github.com/users/bcoca/gists{/gist_id}","starred_url":"https://api.github.com/users/bcoca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcoca/subscriptions","organizations_url":"https://api.github.com/users/bcoca/orgs","repos_url":"https://api.github.com/users/bcoca/repos","events_url":"https://api.github.com/users/bcoca/events{/privacy}","received_events_url":"https://api.github.com/users/bcoca/received_events","type":"User","site_admin":false},"repo":{"id":6867903,"name":"ansible","full_name":"bcoca/ansible","owner":{"login":"bcoca","id":836171,"avatar_url":"https://avatars.githubusercontent.com/u/836171?v=3","gravatar_id":"","url":"https://api.github.com/users/bcoca","html_url":"https://github.com/bcoca","followers_url":"https://api.github.com/users/bcoca/followers","following_url":"https://api.github.com/users/bcoca/following{/other_user}","gists_url":"https://api.github.com/users/bcoca/gists{/gist_id}","starred_url":"https://api.github.com/users/bcoca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcoca/subscriptions","organizations_url":"https://api.github.com/users/bcoca/orgs","repos_url":"https://api.github.com/users/bcoca/repos","events_url":"https://api.github.com/users/bcoca/events{/privacy}","received_events_url":"https://api.github.com/users/bcoca/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bcoca/ansible","description":"Model-driven configuration management, multi-node deployment, and remote task execution system.   Uses SSH by default, so there is no special software has to be installed on the nodes you manage.  Ansible can be extended in any language.  Note: The default branch is the development branch, if you need a stable version, see the release-XX branches, tags, or downloads.","fork":true,"url":"https://api.github.com/repos/bcoca/ansible","forks_url":"https://api.github.com/repos/bcoca/ansible/forks","keys_url":"https://api.github.com/repos/bcoca/ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bcoca/ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bcoca/ansible/teams","hooks_url":"https://api.github.com/repos/bcoca/ansible/hooks","issue_events_url":"https://api.github.com/repos/bcoca/ansible/issues/events{/number}","events_url":"https://api.github.com/repos/bcoca/ansible/events","assignees_url":"https://api.github.com/repos/bcoca/ansible/assignees{/user}","branches_url":"https://api.github.com/repos/bcoca/ansible/branches{/branch}","tags_url":"https://api.github.com/repos/bcoca/ansible/tags","blobs_url":"https://api.github.com/repos/bcoca/ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bcoca/ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bcoca/ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/bcoca/ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bcoca/ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/bcoca/ansible/languages","stargazers_url":"https://api.github.com/repos/bcoca/ansible/stargazers","contributors_url":"https://api.github.com/repos/bcoca/ansible/contributors","subscribers_url":"https://api.github.com/repos/bcoca/ansible/subscribers","subscription_url":"https://api.github.com/repos/bcoca/ansible/subscription","commits_url":"https://api.github.com/repos/bcoca/ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/bcoca/ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/bcoca/ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/bcoca/ansible/issues/comments{/number}","contents_url":"https://api.github.com/repos/bcoca/ansible/contents/{+path}","compare_url":"https://api.github.com/repos/bcoca/ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bcoca/ansible/merges","archive_url":"https://api.github.com/repos/bcoca/ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bcoca/ansible/downloads","issues_url":"https://api.github.com/repos/bcoca/ansible/issues{/number}","pulls_url":"https://api.github.com/repos/bcoca/ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/bcoca/ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/bcoca/ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bcoca/ansible/labels{/name}","releases_url":"https://api.github.com/repos/bcoca/ansible/releases{/id}","created_at":"2012-11-26T15:56:50Z","updated_at":"2015-02-13T05:00:32Z","pushed_at":"2015-03-08T00:32:14Z","git_url":"git://github.com/bcoca/ansible.git","ssh_url":"git@github.com:bcoca/ansible.git","clone_url":"https://github.com/bcoca/ansible.git","svn_url":"https://github.com/bcoca/ansible","homepage":"http://ansible.cc","size":24642,"stargazers_count":1,"watchers_count":1,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":0,"forks":2,"open_issues":0,"watchers":1,"default_branch":"devel"}},"base":{"label":"ansible:devel","ref":"devel","sha":"cc7385d8f7e4f1438d04fb64920db852c19b351a","user":{"login":"ansible","id":1507452,"avatar_url":"https://avatars.githubusercontent.com/u/1507452?v=3","gravatar_id":"","url":"https://api.github.com/users/ansible","html_url":"https://github.com/ansible","followers_url":"https://api.github.com/users/ansible/followers","following_url":"https://api.github.com/users/ansible/following{/other_user}","gists_url":"https://api.github.com/users/ansible/gists{/gist_id}","starred_url":"https://api.github.com/users/ansible/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ansible/subscriptions","organizations_url":"https://api.github.com/users/ansible/orgs","repos_url":"https://api.github.com/users/ansible/repos","events_url":"https://api.github.com/users/ansible/events{/privacy}","received_events_url":"https://api.github.com/users/ansible/received_events","type":"Organization","site_admin":false},"repo":{"id":3638964,"name":"ansible","full_name":"ansible/ansible","owner":{"login":"ansible","id":1507452,"avatar_url":"https://avatars.githubusercontent.com/u/1507452?v=3","gravatar_id":"","url":"https://api.github.com/users/ansible","html_url":"https://github.com/ansible","followers_url":"https://api.github.com/users/ansible/followers","following_url":"https://api.github.com/users/ansible/following{/other_user}","gists_url":"https://api.github.com/users/ansible/gists{/gist_id}","starred_url":"https://api.github.com/users/ansible/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ansible/subscriptions","organizations_url":"https://api.github.com/users/ansible/orgs","repos_url":"https://api.github.com/users/ansible/repos","events_url":"https://api.github.com/users/ansible/events{/privacy}","received_events_url":"https://api.github.com/users/ansible/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ansible/ansible","description":"Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications— automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.","fork":false,"url":"https://api.github.com/repos/ansible/ansible","forks_url":"https://api.github.com/repos/ansible/ansible/forks","keys_url":"https://api.github.com/repos/ansible/ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ansible/ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ansible/ansible/teams","hooks_url":"https://api.github.com/repos/ansible/ansible/hooks","issue_events_url":"https://api.github.com/repos/ansible/ansible/issues/events{/number}","events_url":"https://api.github.com/repos/ansible/ansible/events","assignees_url":"https://api.github.com/repos/ansible/ansible/assignees{/user}","branches_url":"https://api.github.com/repos/ansible/ansible/branches{/branch}","tags_url":"https://api.github.com/repos/ansible/ansible/tags","blobs_url":"https://api.github.com/repos/ansible/ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ansible/ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ansible/ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/ansible/ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ansible/ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/ansible/ansible/languages","stargazers_url":"https://api.github.com/repos/ansible/ansible/stargazers","contributors_url":"https://api.github.com/repos/ansible/ansible/contributors","subscribers_url":"https://api.github.com/repos/ansible/ansible/subscribers","subscription_url":"https://api.github.com/repos/ansible/ansible/subscription","commits_url":"https://api.github.com/repos/ansible/ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/ansible/ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/ansible/ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/ansible/ansible/issues/comments{/number}","contents_url":"https://api.github.com/repos/ansible/ansible/contents/{+path}","compare_url":"https://api.github.com/repos/ansible/ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ansible/ansible/merges","archive_url":"https://api.github.com/repos/ansible/ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ansible/ansible/downloads","issues_url":"https://api.github.com/repos/ansible/ansible/issues{/number}","pulls_url":"https://api.github.com/repos/ansible/ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/ansible/ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/ansible/ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ansible/ansible/labels{/name}","releases_url":"https://api.github.com/repos/ansible/ansible/releases{/id}","created_at":"2012-03-06T14:58:02Z","updated_at":"2015-03-07T23:44:12Z","pushed_at":"2015-03-07T05:02:51Z","git_url":"git://github.com/ansible/ansible.git","ssh_url":"git@github.com:ansible/ansible.git","clone_url":"https://github.com/ansible/ansible.git","svn_url":"https://github.com/ansible/ansible","homepage":"http://ansible.com/","size":178560,"stargazers_count":9823,"watchers_count":9823,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2974,"mirror_url":null,"open_issues_count":692,"forks":2974,"open_issues":692,"watchers":9823,"default_branch":"devel"}},"_links":{"self":{"href":"https://api.github.com/repos/ansible/ansible/pulls/10411"},"html":{"href":"https://github.com/ansible/ansible/pull/10411"},"issue":{"href":"https://api.github.com/repos/ansible/ansible/issues/10411"},"comments":{"href":"https://api.github.com/repos/ansible/ansible/issues/10411/comments"},"review_comments":{"href":"https://api.github.com/repos/ansible/ansible/pulls/10411/comments"},"review_comment":{"href":"https://api.github.com/repos/ansible/ansible/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ansible/ansible/pulls/10411/commits"},"statuses":{"href":"https://api.github.com/repos/ansible/ansible/statuses/d46f33b4addb8a5b1b4e12a522668353d5395e9b"}}}}