{"action":"created","comment":{"url":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/comments/23909645","id":23909645,"diff_hunk":"@@ -45,7 +45,7 @@ def updated_at\n     end\n \n     def old_enough?\n-      server.created < Atmosphere.childhood_age.seconds.ago\n+      (vm.created_at || server.created) < Atmosphere.childhood_age.seconds.ago","path":"app/services/atmosphere/vm_updater.rb","position":5,"original_position":5,"commit_id":"abc559f0b15548e7cdcc3dacc119a1d198776095","original_commit_id":"abc559f0b15548e7cdcc3dacc119a1d198776095","user":{"login":"paoolo","id":3436085,"avatar_url":"https://avatars.githubusercontent.com/u/3436085?v=3","gravatar_id":"","url":"https://api.github.com/users/paoolo","html_url":"https://github.com/paoolo","followers_url":"https://api.github.com/users/paoolo/followers","following_url":"https://api.github.com/users/paoolo/following{/other_user}","gists_url":"https://api.github.com/users/paoolo/gists{/gist_id}","starred_url":"https://api.github.com/users/paoolo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paoolo/subscriptions","organizations_url":"https://api.github.com/users/paoolo/orgs","repos_url":"https://api.github.com/users/paoolo/repos","events_url":"https://api.github.com/users/paoolo/events{/privacy}","received_events_url":"https://api.github.com/users/paoolo/received_events","type":"User","site_admin":false},"body":"How this change affecting the functioning of VM discovery mechanism?","created_at":"2015-02-02T07:10:15Z","updated_at":"2015-02-02T07:10:15Z","html_url":"https://github.com/dice-cyfronet/atmosphere/pull/95#discussion_r23909645","pull_request_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/95","_links":{"self":{"href":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/comments/23909645"},"html":{"href":"https://github.com/dice-cyfronet/atmosphere/pull/95#discussion_r23909645"},"pull_request":{"href":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/95"}}},"pull_request":{"url":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/95","id":27906942,"html_url":"https://github.com/dice-cyfronet/atmosphere/pull/95","diff_url":"https://github.com/dice-cyfronet/atmosphere/pull/95.diff","patch_url":"https://github.com/dice-cyfronet/atmosphere/pull/95.patch","issue_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/issues/95","number":95,"state":"open","locked":false,"title":"take into account created at when checking vm age","user":{"login":"mkasztelnik","id":1265430,"avatar_url":"https://avatars.githubusercontent.com/u/1265430?v=3","gravatar_id":"","url":"https://api.github.com/users/mkasztelnik","html_url":"https://github.com/mkasztelnik","followers_url":"https://api.github.com/users/mkasztelnik/followers","following_url":"https://api.github.com/users/mkasztelnik/following{/other_user}","gists_url":"https://api.github.com/users/mkasztelnik/gists{/gist_id}","starred_url":"https://api.github.com/users/mkasztelnik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mkasztelnik/subscriptions","organizations_url":"https://api.github.com/users/mkasztelnik/orgs","repos_url":"https://api.github.com/users/mkasztelnik/repos","events_url":"https://api.github.com/users/mkasztelnik/events{/privacy}","received_events_url":"https://api.github.com/users/mkasztelnik/received_events","type":"User","site_admin":false},"body":"Childhood age is used to fix the problem when following situation occurs:\r\n  - atmosphere send request to start VM\r\n  - after request is sent monitoring is triggered, new VM is discovered and registered as `managed_by_atmosphere = false`\r\n  - atmosphere is trying to save VM created in first step into DB. As a result  exception is thrown (VM with id_at_site already exists)\r\n\r\nWe used `server.created` from compute site to fix this problem. It have one drawback - when compute site host data is different that date on the host where atmosphere is hosted. To minimize this problem this commit introduces checking at the beginning `created_at` field and only when it is empty `created` date returned by the compute site is used.\r\n\r\n/cc @dice-cyfronet/atmo-dev-team please take a look.","created_at":"2015-01-23T08:01:24Z","updated_at":"2015-02-02T07:10:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4dd917aae2da0ea0a2523972b93f4d3593d4e034","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/95/commits","review_comments_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/95/comments","review_comment_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/comments/{number}","comments_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/issues/95/comments","statuses_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/statuses/abc559f0b15548e7cdcc3dacc119a1d198776095","head":{"label":"dice-cyfronet:created_at_for_childhood","ref":"created_at_for_childhood","sha":"abc559f0b15548e7cdcc3dacc119a1d198776095","user":{"login":"dice-cyfronet","id":1628782,"avatar_url":"https://avatars.githubusercontent.com/u/1628782?v=3","gravatar_id":"","url":"https://api.github.com/users/dice-cyfronet","html_url":"https://github.com/dice-cyfronet","followers_url":"https://api.github.com/users/dice-cyfronet/followers","following_url":"https://api.github.com/users/dice-cyfronet/following{/other_user}","gists_url":"https://api.github.com/users/dice-cyfronet/gists{/gist_id}","starred_url":"https://api.github.com/users/dice-cyfronet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dice-cyfronet/subscriptions","organizations_url":"https://api.github.com/users/dice-cyfronet/orgs","repos_url":"https://api.github.com/users/dice-cyfronet/repos","events_url":"https://api.github.com/users/dice-cyfronet/events{/privacy}","received_events_url":"https://api.github.com/users/dice-cyfronet/received_events","type":"Organization","site_admin":false},"repo":{"id":25483417,"name":"atmosphere","full_name":"dice-cyfronet/atmosphere","owner":{"login":"dice-cyfronet","id":1628782,"avatar_url":"https://avatars.githubusercontent.com/u/1628782?v=3","gravatar_id":"","url":"https://api.github.com/users/dice-cyfronet","html_url":"https://github.com/dice-cyfronet","followers_url":"https://api.github.com/users/dice-cyfronet/followers","following_url":"https://api.github.com/users/dice-cyfronet/following{/other_user}","gists_url":"https://api.github.com/users/dice-cyfronet/gists{/gist_id}","starred_url":"https://api.github.com/users/dice-cyfronet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dice-cyfronet/subscriptions","organizations_url":"https://api.github.com/users/dice-cyfronet/orgs","repos_url":"https://api.github.com/users/dice-cyfronet/repos","events_url":"https://api.github.com/users/dice-cyfronet/events{/privacy}","received_events_url":"https://api.github.com/users/dice-cyfronet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dice-cyfronet/atmosphere","description":"Atmosphere cloud platform","fork":false,"url":"https://api.github.com/repos/dice-cyfronet/atmosphere","forks_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/forks","keys_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/teams","hooks_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/hooks","issue_events_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/issues/events{/number}","events_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/events","assignees_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/assignees{/user}","branches_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/branches{/branch}","tags_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/tags","blobs_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/git/refs{/sha}","trees_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/statuses/{sha}","languages_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/languages","stargazers_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/stargazers","contributors_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/contributors","subscribers_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/subscribers","subscription_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/subscription","commits_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/commits{/sha}","git_commits_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/git/commits{/sha}","comments_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/comments{/number}","issue_comment_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/issues/comments/{number}","contents_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/contents/{+path}","compare_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/merges","archive_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/downloads","issues_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/issues{/number}","pulls_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls{/number}","milestones_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/milestones{/number}","notifications_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/labels{/name}","releases_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/releases{/id}","created_at":"2014-10-20T19:40:11Z","updated_at":"2015-01-21T15:17:21Z","pushed_at":"2015-01-30T14:36:48Z","git_url":"git://github.com/dice-cyfronet/atmosphere.git","ssh_url":"git@github.com:dice-cyfronet/atmosphere.git","clone_url":"https://github.com/dice-cyfronet/atmosphere.git","svn_url":"https://github.com/dice-cyfronet/atmosphere","homepage":null,"size":8676,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":32,"forks":0,"open_issues":32,"watchers":1,"default_branch":"master"}},"base":{"label":"dice-cyfronet:master","ref":"master","sha":"109ff3eca42c3a328821e53a22afe779b323e43a","user":{"login":"dice-cyfronet","id":1628782,"avatar_url":"https://avatars.githubusercontent.com/u/1628782?v=3","gravatar_id":"","url":"https://api.github.com/users/dice-cyfronet","html_url":"https://github.com/dice-cyfronet","followers_url":"https://api.github.com/users/dice-cyfronet/followers","following_url":"https://api.github.com/users/dice-cyfronet/following{/other_user}","gists_url":"https://api.github.com/users/dice-cyfronet/gists{/gist_id}","starred_url":"https://api.github.com/users/dice-cyfronet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dice-cyfronet/subscriptions","organizations_url":"https://api.github.com/users/dice-cyfronet/orgs","repos_url":"https://api.github.com/users/dice-cyfronet/repos","events_url":"https://api.github.com/users/dice-cyfronet/events{/privacy}","received_events_url":"https://api.github.com/users/dice-cyfronet/received_events","type":"Organization","site_admin":false},"repo":{"id":25483417,"name":"atmosphere","full_name":"dice-cyfronet/atmosphere","owner":{"login":"dice-cyfronet","id":1628782,"avatar_url":"https://avatars.githubusercontent.com/u/1628782?v=3","gravatar_id":"","url":"https://api.github.com/users/dice-cyfronet","html_url":"https://github.com/dice-cyfronet","followers_url":"https://api.github.com/users/dice-cyfronet/followers","following_url":"https://api.github.com/users/dice-cyfronet/following{/other_user}","gists_url":"https://api.github.com/users/dice-cyfronet/gists{/gist_id}","starred_url":"https://api.github.com/users/dice-cyfronet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dice-cyfronet/subscriptions","organizations_url":"https://api.github.com/users/dice-cyfronet/orgs","repos_url":"https://api.github.com/users/dice-cyfronet/repos","events_url":"https://api.github.com/users/dice-cyfronet/events{/privacy}","received_events_url":"https://api.github.com/users/dice-cyfronet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dice-cyfronet/atmosphere","description":"Atmosphere cloud platform","fork":false,"url":"https://api.github.com/repos/dice-cyfronet/atmosphere","forks_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/forks","keys_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/teams","hooks_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/hooks","issue_events_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/issues/events{/number}","events_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/events","assignees_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/assignees{/user}","branches_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/branches{/branch}","tags_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/tags","blobs_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/git/refs{/sha}","trees_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/statuses/{sha}","languages_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/languages","stargazers_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/stargazers","contributors_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/contributors","subscribers_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/subscribers","subscription_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/subscription","commits_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/commits{/sha}","git_commits_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/git/commits{/sha}","comments_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/comments{/number}","issue_comment_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/issues/comments/{number}","contents_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/contents/{+path}","compare_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/merges","archive_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/downloads","issues_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/issues{/number}","pulls_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls{/number}","milestones_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/milestones{/number}","notifications_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/labels{/name}","releases_url":"https://api.github.com/repos/dice-cyfronet/atmosphere/releases{/id}","created_at":"2014-10-20T19:40:11Z","updated_at":"2015-01-21T15:17:21Z","pushed_at":"2015-01-30T14:36:48Z","git_url":"git://github.com/dice-cyfronet/atmosphere.git","ssh_url":"git@github.com:dice-cyfronet/atmosphere.git","clone_url":"https://github.com/dice-cyfronet/atmosphere.git","svn_url":"https://github.com/dice-cyfronet/atmosphere","homepage":null,"size":8676,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":32,"forks":0,"open_issues":32,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/95"},"html":{"href":"https://github.com/dice-cyfronet/atmosphere/pull/95"},"issue":{"href":"https://api.github.com/repos/dice-cyfronet/atmosphere/issues/95"},"comments":{"href":"https://api.github.com/repos/dice-cyfronet/atmosphere/issues/95/comments"},"review_comments":{"href":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/95/comments"},"review_comment":{"href":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/dice-cyfronet/atmosphere/pulls/95/commits"},"statuses":{"href":"https://api.github.com/repos/dice-cyfronet/atmosphere/statuses/abc559f0b15548e7cdcc3dacc119a1d198776095"}}}}