{"action":"opened","number":906,"pull_request":{"url":"https://api.github.com/repos/puppetlabs/beaker/pulls/906","id":40959517,"html_url":"https://github.com/puppetlabs/beaker/pull/906","diff_url":"https://github.com/puppetlabs/beaker/pull/906.diff","patch_url":"https://github.com/puppetlabs/beaker/pull/906.patch","issue_url":"https://api.github.com/repos/puppetlabs/beaker/issues/906","number":906,"state":"open","locked":false,"title":"(BKR-421) Refactor MSI installation","user":{"login":"Iristyle","id":394081,"avatar_url":"https://avatars.githubusercontent.com/u/394081?v=3","gravatar_id":"","url":"https://api.github.com/users/Iristyle","html_url":"https://github.com/Iristyle","followers_url":"https://api.github.com/users/Iristyle/followers","following_url":"https://api.github.com/users/Iristyle/following{/other_user}","gists_url":"https://api.github.com/users/Iristyle/gists{/gist_id}","starred_url":"https://api.github.com/users/Iristyle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Iristyle/subscriptions","organizations_url":"https://api.github.com/users/Iristyle/orgs","repos_url":"https://api.github.com/users/Iristyle/repos","events_url":"https://api.github.com/users/Iristyle/events{/privacy}","received_events_url":"https://api.github.com/users/Iristyle/received_events","type":"User","site_admin":false},"body":" - Refactor the do_install portion of pe_utils so that it no longer uses\r\n   the installer_cmd helper when on Windows.  Instead, extract out a new\r\n   MSI installation helper to WindowsUtils called install_msi_on.\r\n\r\n - There are 4 separate points in the code where an MSI installation can\r\n   be launched from, that all differ in foss_utils.  Unify all entry points to use the\r\n   helper install_msi_on from WindowUtils.\r\n\r\n   Simplify the logic in the foss_utils install_a_puppet_msi_on\r\n\r\n - install_msi_on expects 4 parameters\r\n     hosts - to run the installer on\r\n     msi_path - can be a local path on disk or uri\r\n     msi_opts - options passed to the installer to configure behavior\r\n     opts - additional options, currently only :debug to emit the log\r\n        after installation\r\n\r\n - After completing an MSI install, verify the service status of the\r\n   puppet service.","created_at":"2015-07-27T23:03:04Z","updated_at":"2015-07-27T23:03:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ae6013828b33fed58ed91e954d1a350ce4a0073f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/puppetlabs/beaker/pulls/906/commits","review_comments_url":"https://api.github.com/repos/puppetlabs/beaker/pulls/906/comments","review_comment_url":"https://api.github.com/repos/puppetlabs/beaker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/puppetlabs/beaker/issues/906/comments","statuses_url":"https://api.github.com/repos/puppetlabs/beaker/statuses/5bf2cbfc2c0481ac83225dcb4013d4b2ad03fc01","head":{"label":"Iristyle:ticket/master/BKR-421-refactor-msi-installation","ref":"ticket/master/BKR-421-refactor-msi-installation","sha":"5bf2cbfc2c0481ac83225dcb4013d4b2ad03fc01","user":{"login":"Iristyle","id":394081,"avatar_url":"https://avatars.githubusercontent.com/u/394081?v=3","gravatar_id":"","url":"https://api.github.com/users/Iristyle","html_url":"https://github.com/Iristyle","followers_url":"https://api.github.com/users/Iristyle/followers","following_url":"https://api.github.com/users/Iristyle/following{/other_user}","gists_url":"https://api.github.com/users/Iristyle/gists{/gist_id}","starred_url":"https://api.github.com/users/Iristyle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Iristyle/subscriptions","organizations_url":"https://api.github.com/users/Iristyle/orgs","repos_url":"https://api.github.com/users/Iristyle/repos","events_url":"https://api.github.com/users/Iristyle/events{/privacy}","received_events_url":"https://api.github.com/users/Iristyle/received_events","type":"User","site_admin":false},"repo":{"id":22396128,"name":"beaker","full_name":"Iristyle/beaker","owner":{"login":"Iristyle","id":394081,"avatar_url":"https://avatars.githubusercontent.com/u/394081?v=3","gravatar_id":"","url":"https://api.github.com/users/Iristyle","html_url":"https://github.com/Iristyle","followers_url":"https://api.github.com/users/Iristyle/followers","following_url":"https://api.github.com/users/Iristyle/following{/other_user}","gists_url":"https://api.github.com/users/Iristyle/gists{/gist_id}","starred_url":"https://api.github.com/users/Iristyle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Iristyle/subscriptions","organizations_url":"https://api.github.com/users/Iristyle/orgs","repos_url":"https://api.github.com/users/Iristyle/repos","events_url":"https://api.github.com/users/Iristyle/events{/privacy}","received_events_url":"https://api.github.com/users/Iristyle/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Iristyle/beaker","description":"Puppet acceptance testing harness","fork":true,"url":"https://api.github.com/repos/Iristyle/beaker","forks_url":"https://api.github.com/repos/Iristyle/beaker/forks","keys_url":"https://api.github.com/repos/Iristyle/beaker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Iristyle/beaker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Iristyle/beaker/teams","hooks_url":"https://api.github.com/repos/Iristyle/beaker/hooks","issue_events_url":"https://api.github.com/repos/Iristyle/beaker/issues/events{/number}","events_url":"https://api.github.com/repos/Iristyle/beaker/events","assignees_url":"https://api.github.com/repos/Iristyle/beaker/assignees{/user}","branches_url":"https://api.github.com/repos/Iristyle/beaker/branches{/branch}","tags_url":"https://api.github.com/repos/Iristyle/beaker/tags","blobs_url":"https://api.github.com/repos/Iristyle/beaker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Iristyle/beaker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Iristyle/beaker/git/refs{/sha}","trees_url":"https://api.github.com/repos/Iristyle/beaker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Iristyle/beaker/statuses/{sha}","languages_url":"https://api.github.com/repos/Iristyle/beaker/languages","stargazers_url":"https://api.github.com/repos/Iristyle/beaker/stargazers","contributors_url":"https://api.github.com/repos/Iristyle/beaker/contributors","subscribers_url":"https://api.github.com/repos/Iristyle/beaker/subscribers","subscription_url":"https://api.github.com/repos/Iristyle/beaker/subscription","commits_url":"https://api.github.com/repos/Iristyle/beaker/commits{/sha}","git_commits_url":"https://api.github.com/repos/Iristyle/beaker/git/commits{/sha}","comments_url":"https://api.github.com/repos/Iristyle/beaker/comments{/number}","issue_comment_url":"https://api.github.com/repos/Iristyle/beaker/issues/comments{/number}","contents_url":"https://api.github.com/repos/Iristyle/beaker/contents/{+path}","compare_url":"https://api.github.com/repos/Iristyle/beaker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Iristyle/beaker/merges","archive_url":"https://api.github.com/repos/Iristyle/beaker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Iristyle/beaker/downloads","issues_url":"https://api.github.com/repos/Iristyle/beaker/issues{/number}","pulls_url":"https://api.github.com/repos/Iristyle/beaker/pulls{/number}","milestones_url":"https://api.github.com/repos/Iristyle/beaker/milestones{/number}","notifications_url":"https://api.github.com/repos/Iristyle/beaker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Iristyle/beaker/labels{/name}","releases_url":"https://api.github.com/repos/Iristyle/beaker/releases{/id}","created_at":"2014-07-29T21:31:50Z","updated_at":"2015-02-13T19:07:30Z","pushed_at":"2015-07-27T23:02:05Z","git_url":"git://github.com/Iristyle/beaker.git","ssh_url":"git@github.com:Iristyle/beaker.git","clone_url":"https://github.com/Iristyle/beaker.git","svn_url":"https://github.com/Iristyle/beaker","homepage":null,"size":9547,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"puppetlabs:master","ref":"master","sha":"c84f6f23faf9593cb1dfc6205c220706cd9495f5","user":{"login":"puppetlabs","id":234268,"avatar_url":"https://avatars.githubusercontent.com/u/234268?v=3","gravatar_id":"","url":"https://api.github.com/users/puppetlabs","html_url":"https://github.com/puppetlabs","followers_url":"https://api.github.com/users/puppetlabs/followers","following_url":"https://api.github.com/users/puppetlabs/following{/other_user}","gists_url":"https://api.github.com/users/puppetlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/puppetlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puppetlabs/subscriptions","organizations_url":"https://api.github.com/users/puppetlabs/orgs","repos_url":"https://api.github.com/users/puppetlabs/repos","events_url":"https://api.github.com/users/puppetlabs/events{/privacy}","received_events_url":"https://api.github.com/users/puppetlabs/received_events","type":"Organization","site_admin":false},"repo":{"id":12164675,"name":"beaker","full_name":"puppetlabs/beaker","owner":{"login":"puppetlabs","id":234268,"avatar_url":"https://avatars.githubusercontent.com/u/234268?v=3","gravatar_id":"","url":"https://api.github.com/users/puppetlabs","html_url":"https://github.com/puppetlabs","followers_url":"https://api.github.com/users/puppetlabs/followers","following_url":"https://api.github.com/users/puppetlabs/following{/other_user}","gists_url":"https://api.github.com/users/puppetlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/puppetlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puppetlabs/subscriptions","organizations_url":"https://api.github.com/users/puppetlabs/orgs","repos_url":"https://api.github.com/users/puppetlabs/repos","events_url":"https://api.github.com/users/puppetlabs/events{/privacy}","received_events_url":"https://api.github.com/users/puppetlabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/puppetlabs/beaker","description":"Puppet Acceptance Testing Harness","fork":false,"url":"https://api.github.com/repos/puppetlabs/beaker","forks_url":"https://api.github.com/repos/puppetlabs/beaker/forks","keys_url":"https://api.github.com/repos/puppetlabs/beaker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/puppetlabs/beaker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/puppetlabs/beaker/teams","hooks_url":"https://api.github.com/repos/puppetlabs/beaker/hooks","issue_events_url":"https://api.github.com/repos/puppetlabs/beaker/issues/events{/number}","events_url":"https://api.github.com/repos/puppetlabs/beaker/events","assignees_url":"https://api.github.com/repos/puppetlabs/beaker/assignees{/user}","branches_url":"https://api.github.com/repos/puppetlabs/beaker/branches{/branch}","tags_url":"https://api.github.com/repos/puppetlabs/beaker/tags","blobs_url":"https://api.github.com/repos/puppetlabs/beaker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/puppetlabs/beaker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/puppetlabs/beaker/git/refs{/sha}","trees_url":"https://api.github.com/repos/puppetlabs/beaker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/puppetlabs/beaker/statuses/{sha}","languages_url":"https://api.github.com/repos/puppetlabs/beaker/languages","stargazers_url":"https://api.github.com/repos/puppetlabs/beaker/stargazers","contributors_url":"https://api.github.com/repos/puppetlabs/beaker/contributors","subscribers_url":"https://api.github.com/repos/puppetlabs/beaker/subscribers","subscription_url":"https://api.github.com/repos/puppetlabs/beaker/subscription","commits_url":"https://api.github.com/repos/puppetlabs/beaker/commits{/sha}","git_commits_url":"https://api.github.com/repos/puppetlabs/beaker/git/commits{/sha}","comments_url":"https://api.github.com/repos/puppetlabs/beaker/comments{/number}","issue_comment_url":"https://api.github.com/repos/puppetlabs/beaker/issues/comments{/number}","contents_url":"https://api.github.com/repos/puppetlabs/beaker/contents/{+path}","compare_url":"https://api.github.com/repos/puppetlabs/beaker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/puppetlabs/beaker/merges","archive_url":"https://api.github.com/repos/puppetlabs/beaker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/puppetlabs/beaker/downloads","issues_url":"https://api.github.com/repos/puppetlabs/beaker/issues{/number}","pulls_url":"https://api.github.com/repos/puppetlabs/beaker/pulls{/number}","milestones_url":"https://api.github.com/repos/puppetlabs/beaker/milestones{/number}","notifications_url":"https://api.github.com/repos/puppetlabs/beaker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/puppetlabs/beaker/labels{/name}","releases_url":"https://api.github.com/repos/puppetlabs/beaker/releases{/id}","created_at":"2013-08-16T17:57:03Z","updated_at":"2015-07-17T07:08:57Z","pushed_at":"2015-07-27T23:03:04Z","git_url":"git://github.com/puppetlabs/beaker.git","ssh_url":"git@github.com:puppetlabs/beaker.git","clone_url":"https://github.com/puppetlabs/beaker.git","svn_url":"https://github.com/puppetlabs/beaker","homepage":"https://groups.google.com/forum/#!forum/puppet-beaker","size":19335,"stargazers_count":184,"watchers_count":184,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":152,"mirror_url":null,"open_issues_count":14,"forks":152,"open_issues":14,"watchers":184,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/puppetlabs/beaker/pulls/906"},"html":{"href":"https://github.com/puppetlabs/beaker/pull/906"},"issue":{"href":"https://api.github.com/repos/puppetlabs/beaker/issues/906"},"comments":{"href":"https://api.github.com/repos/puppetlabs/beaker/issues/906/comments"},"review_comments":{"href":"https://api.github.com/repos/puppetlabs/beaker/pulls/906/comments"},"review_comment":{"href":"https://api.github.com/repos/puppetlabs/beaker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/puppetlabs/beaker/pulls/906/commits"},"statuses":{"href":"https://api.github.com/repos/puppetlabs/beaker/statuses/5bf2cbfc2c0481ac83225dcb4013d4b2ad03fc01"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":0,"review_comments":0,"commits":4,"additions":101,"deletions":26,"changed_files":3}}