{"action":"created","comment":{"url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/comments/61142906","id":61142906,"diff_hunk":"@@ -1,64 +0,0 @@\n-require 'beaker-hostgenerator/data'\n-require 'beaker-hostgenerator/data/vmpooler'\n-require 'deep_merge'\n-\n-module BeakerHostGenerator\n-  module Utils\n-    include BeakerHostGenerator::Data\n-    include BeakerHostGenerator::Data::Vmpooler\n-\n-    def pe_dir(version, family)\n-      # If our version is the same as our family, we're installing a\n-      # released version. Use the archive path. Otherwise, we want to use\n-      # the development build path.\n-      if version && family\n-        if version == family\n-          return \"http://enterprise.delivery.puppetlabs.net/archives/releases/#{family}/\"\n-        else\n-          return \"http://enterprise.delivery.puppetlabs.net/#{family}/ci-ready\"\n-        end\n-      end\n-    end\n-\n-    def fixup_node(cfg)\n-      # PE 2.8 doesn't exist for EL 4. We use 2.0 instead.\n-      if cfg['platform'] =~ /el-4/ and pe_version =~ /2\\.8/\n-        cfg['pe_ver'] = \"2.0.3\"\n-      end\n-    end\n-\n-    def dump_hosts(hosts, path)","path":"lib/beaker-hostgenerator/util.rb","position":30,"original_position":30,"commit_id":"cd20370e556e0f7faec2a340817bff9e90f37956","original_commit_id":"cd20370e556e0f7faec2a340817bff9e90f37956","user":{"login":"waynr","id":1441126,"avatar_url":"https://avatars.githubusercontent.com/u/1441126?v=3","gravatar_id":"","url":"https://api.github.com/users/waynr","html_url":"https://github.com/waynr","followers_url":"https://api.github.com/users/waynr/followers","following_url":"https://api.github.com/users/waynr/following{/other_user}","gists_url":"https://api.github.com/users/waynr/gists{/gist_id}","starred_url":"https://api.github.com/users/waynr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/waynr/subscriptions","organizations_url":"https://api.github.com/users/waynr/orgs","repos_url":"https://api.github.com/users/waynr/repos","events_url":"https://api.github.com/users/waynr/events{/privacy}","received_events_url":"https://api.github.com/users/waynr/received_events","type":"User","site_admin":false},"body":"I don't know off the top of my head where else these particular methods might be used, but I am aware of at least three other places where beaker-hostgenerator is being used as a library:\r\nhttps://github.com/puppetlabs/puppet/blob/master/acceptance/Rakefile#L132\r\n\r\n(This as well as `facter` and `hiera`)","created_at":"2016-04-26T18:51:01Z","updated_at":"2016-04-26T18:51:01Z","html_url":"https://github.com/puppetlabs/beaker-hostgenerator/pull/27#discussion_r61142906","pull_request_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/27","_links":{"self":{"href":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/comments/61142906"},"html":{"href":"https://github.com/puppetlabs/beaker-hostgenerator/pull/27#discussion_r61142906"},"pull_request":{"href":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/27"}}},"pull_request":{"url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/27","id":67802034,"html_url":"https://github.com/puppetlabs/beaker-hostgenerator/pull/27","diff_url":"https://github.com/puppetlabs/beaker-hostgenerator/pull/27.diff","patch_url":"https://github.com/puppetlabs/beaker-hostgenerator/pull/27.patch","issue_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/issues/27","number":27,"state":"open","locked":false,"title":"(maint) Decouple hypervisors from generator","user":{"login":"nwolfe","id":1787615,"avatar_url":"https://avatars.githubusercontent.com/u/1787615?v=3","gravatar_id":"","url":"https://api.github.com/users/nwolfe","html_url":"https://github.com/nwolfe","followers_url":"https://api.github.com/users/nwolfe/followers","following_url":"https://api.github.com/users/nwolfe/following{/other_user}","gists_url":"https://api.github.com/users/nwolfe/gists{/gist_id}","starred_url":"https://api.github.com/users/nwolfe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nwolfe/subscriptions","organizations_url":"https://api.github.com/users/nwolfe/orgs","repos_url":"https://api.github.com/users/nwolfe/repos","events_url":"https://api.github.com/users/nwolfe/events{/privacy}","received_events_url":"https://api.github.com/users/nwolfe/received_events","type":"User","site_admin":false},"body":"This commit is a large refactor that teases apart the generate code from\r\nthe hypervisor code.\r\n\r\nPreviously the VMPooler hypervisor class was a subclass of the Generator\r\nclass, which was fine when there was only one hypervisor, but made it\r\ndifficult to add support for per-host/multiple hypervisors.\r\n\r\nNow, there's a 1-to-many relationship between the Generator\r\n(BeakerHostGenerator::Generator) and the\r\nHypervisors (BeakerHostGenerator::Hypervisor).\r\n\r\nThe giant map of OSINFO data that was previously in the\r\n'data/vmpooler.rb' has been promoted and moved into data.rb as the\r\n`osinfo` module function. The parts specific to the VMPooler hypervisor\r\nhave been nested under submaps keyed by the name of the hypervisor,\r\n`:vmpooler`.\r\n\r\nAdding support for a new hypervisor now requires implementing\r\nBeakerHostGenerator::Hypervisor::Interface, and adding any appropriate\r\nplatform data as a submap to the OSINFO map in data.rb, keyed under a\r\nsymbol named after the new hypervisor (e.g. `:my_hypervisor`).\r\n\r\nThe module function `BeakerHostGenerator::Data.get_platform_info` can\r\nthen be used when implementing the hypervisor to extract the relevant\r\nplatform data under the key `:my_hypervisor`.","created_at":"2016-04-25T22:56:29Z","updated_at":"2016-04-26T18:51:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1f7c560e5438d7313378caed2d7e1e369a2a4fa5","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/27/commits","review_comments_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/27/comments","review_comment_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/comments{/number}","comments_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/issues/27/comments","statuses_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/statuses/cd20370e556e0f7faec2a340817bff9e90f37956","head":{"label":"nwolfe:maint/master/decouple-generator-and-hypervisors","ref":"maint/master/decouple-generator-and-hypervisors","sha":"cd20370e556e0f7faec2a340817bff9e90f37956","user":{"login":"nwolfe","id":1787615,"avatar_url":"https://avatars.githubusercontent.com/u/1787615?v=3","gravatar_id":"","url":"https://api.github.com/users/nwolfe","html_url":"https://github.com/nwolfe","followers_url":"https://api.github.com/users/nwolfe/followers","following_url":"https://api.github.com/users/nwolfe/following{/other_user}","gists_url":"https://api.github.com/users/nwolfe/gists{/gist_id}","starred_url":"https://api.github.com/users/nwolfe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nwolfe/subscriptions","organizations_url":"https://api.github.com/users/nwolfe/orgs","repos_url":"https://api.github.com/users/nwolfe/repos","events_url":"https://api.github.com/users/nwolfe/events{/privacy}","received_events_url":"https://api.github.com/users/nwolfe/received_events","type":"User","site_admin":false},"repo":{"id":57081651,"name":"beaker-hostgenerator","full_name":"nwolfe/beaker-hostgenerator","owner":{"login":"nwolfe","id":1787615,"avatar_url":"https://avatars.githubusercontent.com/u/1787615?v=3","gravatar_id":"","url":"https://api.github.com/users/nwolfe","html_url":"https://github.com/nwolfe","followers_url":"https://api.github.com/users/nwolfe/followers","following_url":"https://api.github.com/users/nwolfe/following{/other_user}","gists_url":"https://api.github.com/users/nwolfe/gists{/gist_id}","starred_url":"https://api.github.com/users/nwolfe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nwolfe/subscriptions","organizations_url":"https://api.github.com/users/nwolfe/orgs","repos_url":"https://api.github.com/users/nwolfe/repos","events_url":"https://api.github.com/users/nwolfe/events{/privacy}","received_events_url":"https://api.github.com/users/nwolfe/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/nwolfe/beaker-hostgenerator","description":"","fork":true,"url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator","forks_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/forks","keys_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/teams","hooks_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/hooks","issue_events_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/issues/events{/number}","events_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/events","assignees_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/assignees{/user}","branches_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/branches{/branch}","tags_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/tags","blobs_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/git/refs{/sha}","trees_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/statuses/{sha}","languages_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/languages","stargazers_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/stargazers","contributors_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/contributors","subscribers_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/subscribers","subscription_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/subscription","commits_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/commits{/sha}","git_commits_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/git/commits{/sha}","comments_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/comments{/number}","issue_comment_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/issues/comments{/number}","contents_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/contents/{+path}","compare_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/merges","archive_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/downloads","issues_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/issues{/number}","pulls_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/pulls{/number}","milestones_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/milestones{/number}","notifications_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/labels{/name}","releases_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/releases{/id}","deployments_url":"https://api.github.com/repos/nwolfe/beaker-hostgenerator/deployments","created_at":"2016-04-25T22:55:04Z","updated_at":"2016-04-25T22:55:05Z","pushed_at":"2016-04-25T22:55:30Z","git_url":"git://github.com/nwolfe/beaker-hostgenerator.git","ssh_url":"git@github.com:nwolfe/beaker-hostgenerator.git","clone_url":"https://github.com/nwolfe/beaker-hostgenerator.git","svn_url":"https://github.com/nwolfe/beaker-hostgenerator","homepage":null,"size":279,"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":"fa3ae0c8d730e6a39117ca2c10f5fbb4377b4603","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":35686337,"name":"beaker-hostgenerator","full_name":"puppetlabs/beaker-hostgenerator","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-hostgenerator","description":"","fork":false,"url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator","forks_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/forks","keys_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/teams","hooks_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/hooks","issue_events_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/issues/events{/number}","events_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/events","assignees_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/assignees{/user}","branches_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/branches{/branch}","tags_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/tags","blobs_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/git/refs{/sha}","trees_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/statuses/{sha}","languages_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/languages","stargazers_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/stargazers","contributors_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/contributors","subscribers_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/subscribers","subscription_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/subscription","commits_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/commits{/sha}","git_commits_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/git/commits{/sha}","comments_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/comments{/number}","issue_comment_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/issues/comments{/number}","contents_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/contents/{+path}","compare_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/merges","archive_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/downloads","issues_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/issues{/number}","pulls_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls{/number}","milestones_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/milestones{/number}","notifications_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/labels{/name}","releases_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/releases{/id}","deployments_url":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/deployments","created_at":"2015-05-15T17:08:46Z","updated_at":"2016-01-28T22:12:12Z","pushed_at":"2016-04-25T22:56:29Z","git_url":"git://github.com/puppetlabs/beaker-hostgenerator.git","ssh_url":"git@github.com:puppetlabs/beaker-hostgenerator.git","clone_url":"https://github.com/puppetlabs/beaker-hostgenerator.git","svn_url":"https://github.com/puppetlabs/beaker-hostgenerator","homepage":null,"size":248,"stargazers_count":3,"watchers_count":3,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":8,"mirror_url":null,"open_issues_count":1,"forks":8,"open_issues":1,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/27"},"html":{"href":"https://github.com/puppetlabs/beaker-hostgenerator/pull/27"},"issue":{"href":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/issues/27"},"comments":{"href":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/issues/27/comments"},"review_comments":{"href":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/27/comments"},"review_comment":{"href":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/pulls/27/commits"},"statuses":{"href":"https://api.github.com/repos/puppetlabs/beaker-hostgenerator/statuses/cd20370e556e0f7faec2a340817bff9e90f37956"}}}}