{"action":"created","issue":{"url":"https://api.github.com/repos/square/p2/issues/439","repository_url":"https://api.github.com/repos/square/p2","labels_url":"https://api.github.com/repos/square/p2/issues/439/labels{/name}","comments_url":"https://api.github.com/repos/square/p2/issues/439/comments","events_url":"https://api.github.com/repos/square/p2/issues/439/events","html_url":"https://github.com/square/p2/pull/439","id":144656082,"number":439,"title":"Failsafes for rc farms","user":{"login":"anthonybishopric","id":540783,"avatar_url":"https://avatars.githubusercontent.com/u/540783?v=3","gravatar_id":"","url":"https://api.github.com/users/anthonybishopric","html_url":"https://github.com/anthonybishopric","followers_url":"https://api.github.com/users/anthonybishopric/followers","following_url":"https://api.github.com/users/anthonybishopric/following{/other_user}","gists_url":"https://api.github.com/users/anthonybishopric/gists{/gist_id}","starred_url":"https://api.github.com/users/anthonybishopric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anthonybishopric/subscriptions","organizations_url":"https://api.github.com/users/anthonybishopric/orgs","repos_url":"https://api.github.com/users/anthonybishopric/repos","events_url":"https://api.github.com/users/anthonybishopric/events{/privacy}","received_events_url":"https://api.github.com/users/anthonybishopric/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-03-30T17:10:02Z","updated_at":"2016-03-30T17:19:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/square/p2/pulls/439","html_url":"https://github.com/square/p2/pull/439","diff_url":"https://github.com/square/p2/pull/439.diff","patch_url":"https://github.com/square/p2/pull/439.patch"},"body":"This PR adds two failsafes to the RC farms to prevent\r\ncatastrophic unscheduling of pods across the cluster. This\r\nsituation is generally hypothetical, but I'd rather be safe\r\nthan sorry.\r\n\r\nThe first situation is - the farm will panic if zero RCs have\r\nbeen scheduled in Consul. This currently doesn't prevent any\r\nspecific behavior other than the farm abandoning working on RCs,\r\nbut is worth signaling that it has occurred.\r\n\r\nThe second situation would be genuinely catastrophic. If replica\r\ncounts were all 0, the RC farm would go on a killing spree across\r\nthe cluster, unscheduling all services. In practice this should\r\nnever happen."},"comment":{"url":"https://api.github.com/repos/square/p2/issues/comments/203536337","html_url":"https://github.com/square/p2/pull/439#issuecomment-203536337","issue_url":"https://api.github.com/repos/square/p2/issues/439","id":203536337,"user":{"login":"mpuncel","id":1444855,"avatar_url":"https://avatars.githubusercontent.com/u/1444855?v=3","gravatar_id":"","url":"https://api.github.com/users/mpuncel","html_url":"https://github.com/mpuncel","followers_url":"https://api.github.com/users/mpuncel/followers","following_url":"https://api.github.com/users/mpuncel/following{/other_user}","gists_url":"https://api.github.com/users/mpuncel/gists{/gist_id}","starred_url":"https://api.github.com/users/mpuncel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpuncel/subscriptions","organizations_url":"https://api.github.com/users/mpuncel/orgs","repos_url":"https://api.github.com/users/mpuncel/repos","events_url":"https://api.github.com/users/mpuncel/events{/privacy}","received_events_url":"https://api.github.com/users/mpuncel/received_events","type":"User","site_admin":false},"created_at":"2016-03-30T17:19:08Z","updated_at":"2016-03-30T17:19:08Z","body":":+1: "}}