{"action":"created","issue":{"url":"https://api.github.com/repos/ManageIQ/manageiq/issues/1322","labels_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/1322/labels{/name}","comments_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/1322/comments","events_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/1322/events","html_url":"https://github.com/ManageIQ/manageiq/pull/1322","id":53740424,"number":1322,"title":"Add host_openstack model","user":{"login":"Ladas","id":1737058,"avatar_url":"https://avatars.githubusercontent.com/u/1737058?v=3","gravatar_id":"","url":"https://api.github.com/users/Ladas","html_url":"https://github.com/Ladas","followers_url":"https://api.github.com/users/Ladas/followers","following_url":"https://api.github.com/users/Ladas/following{/other_user}","gists_url":"https://api.github.com/users/Ladas/gists{/gist_id}","starred_url":"https://api.github.com/users/Ladas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ladas/subscriptions","organizations_url":"https://api.github.com/users/Ladas/orgs","repos_url":"https://api.github.com/users/Ladas/repos","events_url":"https://api.github.com/users/Ladas/events{/privacy}","received_events_url":"https://api.github.com/users/Ladas/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ManageIQ/manageiq/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/ManageIQ/manageiq/milestones/12","labels_url":"https://api.github.com/repos/ManageIQ/manageiq/milestones/12/labels","id":923938,"number":12,"title":"Sprint 18 Ending Jan 27, 2015","description":"","creator":{"login":"Fryguy","id":52120,"avatar_url":"https://avatars.githubusercontent.com/u/52120?v=3","gravatar_id":"","url":"https://api.github.com/users/Fryguy","html_url":"https://github.com/Fryguy","followers_url":"https://api.github.com/users/Fryguy/followers","following_url":"https://api.github.com/users/Fryguy/following{/other_user}","gists_url":"https://api.github.com/users/Fryguy/gists{/gist_id}","starred_url":"https://api.github.com/users/Fryguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fryguy/subscriptions","organizations_url":"https://api.github.com/users/Fryguy/orgs","repos_url":"https://api.github.com/users/Fryguy/repos","events_url":"https://api.github.com/users/Fryguy/events{/privacy}","received_events_url":"https://api.github.com/users/Fryguy/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":42,"state":"open","created_at":"2015-01-06T15:29:16Z","updated_at":"2015-01-13T15:47:46Z","due_on":"2015-01-27T05:00:00Z","closed_at":null},"comments":9,"created_at":"2015-01-08T11:24:26Z","updated_at":"2015-01-13T16:58:55Z","closed_at":"2015-01-08T19:14:09Z","pull_request":{"url":"https://api.github.com/repos/ManageIQ/manageiq/pulls/1322","html_url":"https://github.com/ManageIQ/manageiq/pull/1322","diff_url":"https://github.com/ManageIQ/manageiq/pull/1322.diff","patch_url":"https://github.com/ManageIQ/manageiq/pull/1322.patch"},"body":"Adding host_openstack model for inventory collection purposes in\r\nopenstack_infra provider."},"comment":{"url":"https://api.github.com/repos/ManageIQ/manageiq/issues/comments/69778133","html_url":"https://github.com/ManageIQ/manageiq/pull/1322#issuecomment-69778133","issue_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/1322","id":69778133,"user":{"login":"Fryguy","id":52120,"avatar_url":"https://avatars.githubusercontent.com/u/52120?v=3","gravatar_id":"","url":"https://api.github.com/users/Fryguy","html_url":"https://github.com/Fryguy","followers_url":"https://api.github.com/users/Fryguy/followers","following_url":"https://api.github.com/users/Fryguy/following{/other_user}","gists_url":"https://api.github.com/users/Fryguy/gists{/gist_id}","starred_url":"https://api.github.com/users/Fryguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fryguy/subscriptions","organizations_url":"https://api.github.com/users/Fryguy/orgs","repos_url":"https://api.github.com/users/Fryguy/repos","events_url":"https://api.github.com/users/Fryguy/events{/privacy}","received_events_url":"https://api.github.com/users/Fryguy/received_events","type":"User","site_admin":false},"created_at":"2015-01-13T16:58:55Z","updated_at":"2015-01-13T16:58:55Z","body":"@Ladas I've been thinking a lot about this and I agree with you.  Ultimately, the API of the cloud and infra are identical (right?), so the tables/models should be the same.\r\n\r\nHowever, we may still need the provider specific subclasses, to appease other parts of the system.  For example, the VMs you end up creating would have to derive from VmInfra, not VmCloud, so you couldn't use VmOpenstack.  I'm really wondering if that Infra/Cloud middle layer in the middle should be done differently.\r\n\r\nAlso, I realized we're going to run into a lot of trouble in other areas.  For example, Infra stuff has no idea about things like Flavors and AvailabilityZones, but I assume those *will* be in OpenStack infra.  That will make things tricky, especially in the UI.\r\n\r\nWe might want to get together to see if we can 1) pin down these various sticking points 2) figiure out how to resolve them.\r\n\r\ncc @blomquisg"}}