{"action":"created","issue":{"url":"https://api.github.com/repos/virt-who/virt-who/issues/13","labels_url":"https://api.github.com/repos/virt-who/virt-who/issues/13/labels{/name}","comments_url":"https://api.github.com/repos/virt-who/virt-who/issues/13/comments","events_url":"https://api.github.com/repos/virt-who/virt-who/issues/13/events","html_url":"https://github.com/virt-who/virt-who/pull/13","id":90711856,"number":13,"title":"Adds support for the new async report api","user":{"login":"cnsnyder","id":7536566,"avatar_url":"https://avatars.githubusercontent.com/u/7536566?v=3","gravatar_id":"","url":"https://api.github.com/users/cnsnyder","html_url":"https://github.com/cnsnyder","followers_url":"https://api.github.com/users/cnsnyder/followers","following_url":"https://api.github.com/users/cnsnyder/following{/other_user}","gists_url":"https://api.github.com/users/cnsnyder/gists{/gist_id}","starred_url":"https://api.github.com/users/cnsnyder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cnsnyder/subscriptions","organizations_url":"https://api.github.com/users/cnsnyder/orgs","repos_url":"https://api.github.com/users/cnsnyder/repos","events_url":"https://api.github.com/users/cnsnyder/events{/privacy}","received_events_url":"https://api.github.com/users/cnsnyder/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-06-24T15:35:32Z","updated_at":"2015-06-25T14:03:51Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/virt-who/virt-who/pulls/13","html_url":"https://github.com/virt-who/virt-who/pull/13","diff_url":"https://github.com/virt-who/virt-who/pull/13.diff","patch_url":"https://github.com/virt-who/virt-who/pull/13.patch"},"body":"Added:\r\n- Hypervisor class\r\n     - this is simply a model (similar to Guest) of a hypervisor\r\n     - this class includes fields to match the new api (including hostname)\r\n     - Many of the changes in this branch are to do with the addition of this class\r\n\r\n- ManagerProcess class\r\n    - This is a new process made to operate very similarly to a virt.Virt (although it is not a virt.Virt)\r\n    - This process is responsible for executing jobs placed on its queue after a specified interval\r\n    - This is needed to retrieve the results of async jobs from candlepin without blocking VirtWho from   collecting additional reports.\r\n    - Whether or not virt-who needs to know the results of the job remains to be seen as it simply logs the results presently.\r\n    - This process could be a step in the right direction regarding rate-limiting virt-who (either from within or in response to a 429 from candlepin)\r\n\r\n- Job class\r\n    - This class is presently a simple model of the data contained in an async job\r\n\r\nChanges:\r\n-All virt backends now use the Hypervisor class in their getHostGuestAssociation methods\r\n-SubscriptionManager.hypervisorCheckIn() now reformats the HostGuestAssociation depending on the connected candlepin's capabilities.\r\n\r\nThis PR requires a merge of the branch by the same name (csnyder/new_report_api) in python-rhsm to work properly ."},"comment":{"url":"https://api.github.com/repos/virt-who/virt-who/issues/comments/115268816","html_url":"https://github.com/virt-who/virt-who/pull/13#issuecomment-115268816","issue_url":"https://api.github.com/repos/virt-who/virt-who/issues/13","id":115268816,"user":{"login":"rnovacek","id":618886,"avatar_url":"https://avatars.githubusercontent.com/u/618886?v=3","gravatar_id":"","url":"https://api.github.com/users/rnovacek","html_url":"https://github.com/rnovacek","followers_url":"https://api.github.com/users/rnovacek/followers","following_url":"https://api.github.com/users/rnovacek/following{/other_user}","gists_url":"https://api.github.com/users/rnovacek/gists{/gist_id}","starred_url":"https://api.github.com/users/rnovacek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rnovacek/subscriptions","organizations_url":"https://api.github.com/users/rnovacek/orgs","repos_url":"https://api.github.com/users/rnovacek/repos","events_url":"https://api.github.com/users/rnovacek/events{/privacy}","received_events_url":"https://api.github.com/users/rnovacek/received_events","type":"User","site_admin":false},"created_at":"2015-06-25T14:03:51Z","updated_at":"2015-06-25T14:03:51Z","body":"I'm not quite sure that the background process is necessary. Given that the communication is async now, both calling hypervisorCheckIn and checking for the result should be pretty fast, right? And the main process is not doing anything in the meantime apart from moving items from one queue to another, if I understand the code correctly.\r\n\r\nAm I missing something here?"}}