{"action":"created","issue":{"url":"https://api.github.com/repos/puppetlabs/puppetlabs-openstack/issues/185","labels_url":"https://api.github.com/repos/puppetlabs/puppetlabs-openstack/issues/185/labels{/name}","comments_url":"https://api.github.com/repos/puppetlabs/puppetlabs-openstack/issues/185/comments","events_url":"https://api.github.com/repos/puppetlabs/puppetlabs-openstack/issues/185/events","html_url":"https://github.com/puppetlabs/puppetlabs-openstack/pull/185","id":70810406,"number":185,"title":"Remove uncommon things from \"common\" classes","user":{"login":"cmurphy","id":1220710,"avatar_url":"https://avatars.githubusercontent.com/u/1220710?v=3","gravatar_id":"","url":"https://api.github.com/users/cmurphy","html_url":"https://github.com/cmurphy","followers_url":"https://api.github.com/users/cmurphy/followers","following_url":"https://api.github.com/users/cmurphy/following{/other_user}","gists_url":"https://api.github.com/users/cmurphy/gists{/gist_id}","starred_url":"https://api.github.com/users/cmurphy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmurphy/subscriptions","organizations_url":"https://api.github.com/users/cmurphy/orgs","repos_url":"https://api.github.com/users/cmurphy/repos","events_url":"https://api.github.com/users/cmurphy/events{/privacy}","received_events_url":"https://api.github.com/users/cmurphy/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-04-24T22:28:56Z","updated_at":"2015-04-27T17:43:41Z","closed_at":"2015-04-27T17:27:03Z","pull_request":{"url":"https://api.github.com/repos/puppetlabs/puppetlabs-openstack/pulls/185","html_url":"https://github.com/puppetlabs/puppetlabs-openstack/pull/185","diff_url":"https://github.com/puppetlabs/puppetlabs-openstack/pull/185.diff","patch_url":"https://github.com/puppetlabs/puppetlabs-openstack/pull/185.patch"},"body":"Keeping so many things in these \"common\" classes means that there is a lot of cruft where it does not belong, such as API servers on service nodes and keystone services running on every node. Splitting these things out only to where they are actually needed improves puppet's performance because it needs to do less work, and it makes it clearer to someone reading the code what it's actually doing.\r\n\r\nNeutron behaves strangely if we try to split some things out of that common class, so I'm leaving most of it there and noting that it should be addressed at some point: https://tickets.puppetlabs.com/browse/OS-253"},"comment":{"url":"https://api.github.com/repos/puppetlabs/puppetlabs-openstack/issues/comments/96753647","html_url":"https://github.com/puppetlabs/puppetlabs-openstack/pull/185#issuecomment-96753647","issue_url":"https://api.github.com/repos/puppetlabs/puppetlabs-openstack/issues/185","id":96753647,"user":{"login":"benh57","id":847794,"avatar_url":"https://avatars.githubusercontent.com/u/847794?v=3","gravatar_id":"","url":"https://api.github.com/users/benh57","html_url":"https://github.com/benh57","followers_url":"https://api.github.com/users/benh57/followers","following_url":"https://api.github.com/users/benh57/following{/other_user}","gists_url":"https://api.github.com/users/benh57/gists{/gist_id}","starred_url":"https://api.github.com/users/benh57/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benh57/subscriptions","organizations_url":"https://api.github.com/users/benh57/orgs","repos_url":"https://api.github.com/users/benh57/repos","events_url":"https://api.github.com/users/benh57/events{/privacy}","received_events_url":"https://api.github.com/users/benh57/received_events","type":"User","site_admin":false},"created_at":"2015-04-27T17:43:40Z","updated_at":"2015-04-27T17:43:40Z","body":"Not necessarily directly relevant to this change but API servers on service nodes can be good, for HA purposes. We do it for nova-metadata-api so have to manually do it outside this puppet module. "}}