{"action":"created","issue":{"url":"https://api.github.com/repos/Metaswitch/calico/issues/391","labels_url":"https://api.github.com/repos/Metaswitch/calico/issues/391/labels{/name}","comments_url":"https://api.github.com/repos/Metaswitch/calico/issues/391/comments","events_url":"https://api.github.com/repos/Metaswitch/calico/issues/391/events","html_url":"https://github.com/Metaswitch/calico/pull/391","id":69030033,"number":391,"title":"Plugin etcd disappearance","user":{"login":"neiljerram","id":2089263,"avatar_url":"https://avatars.githubusercontent.com/u/2089263?v=3","gravatar_id":"","url":"https://api.github.com/users/neiljerram","html_url":"https://github.com/neiljerram","followers_url":"https://api.github.com/users/neiljerram/followers","following_url":"https://api.github.com/users/neiljerram/following{/other_user}","gists_url":"https://api.github.com/users/neiljerram/gists{/gist_id}","starred_url":"https://api.github.com/users/neiljerram/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neiljerram/subscriptions","organizations_url":"https://api.github.com/users/neiljerram/orgs","repos_url":"https://api.github.com/users/neiljerram/repos","events_url":"https://api.github.com/users/neiljerram/events{/privacy}","received_events_url":"https://api.github.com/users/neiljerram/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"robbrockbank","id":3227729,"avatar_url":"https://avatars.githubusercontent.com/u/3227729?v=3","gravatar_id":"","url":"https://api.github.com/users/robbrockbank","html_url":"https://github.com/robbrockbank","followers_url":"https://api.github.com/users/robbrockbank/followers","following_url":"https://api.github.com/users/robbrockbank/following{/other_user}","gists_url":"https://api.github.com/users/robbrockbank/gists{/gist_id}","starred_url":"https://api.github.com/users/robbrockbank/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robbrockbank/subscriptions","organizations_url":"https://api.github.com/users/robbrockbank/orgs","repos_url":"https://api.github.com/users/robbrockbank/repos","events_url":"https://api.github.com/users/robbrockbank/events{/privacy}","received_events_url":"https://api.github.com/users/robbrockbank/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/Metaswitch/calico/milestones/1","html_url":"https://github.com/Metaswitch/calico/milestones/0.16","labels_url":"https://api.github.com/repos/Metaswitch/calico/milestones/1/labels","id":1071954,"number":1,"title":"0.16","description":"","creator":{"login":"Lukasa","id":1382556,"avatar_url":"https://avatars.githubusercontent.com/u/1382556?v=3","gravatar_id":"","url":"https://api.github.com/users/Lukasa","html_url":"https://github.com/Lukasa","followers_url":"https://api.github.com/users/Lukasa/followers","following_url":"https://api.github.com/users/Lukasa/following{/other_user}","gists_url":"https://api.github.com/users/Lukasa/gists{/gist_id}","starred_url":"https://api.github.com/users/Lukasa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Lukasa/subscriptions","organizations_url":"https://api.github.com/users/Lukasa/orgs","repos_url":"https://api.github.com/users/Lukasa/repos","events_url":"https://api.github.com/users/Lukasa/events{/privacy}","received_events_url":"https://api.github.com/users/Lukasa/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":8,"state":"open","created_at":"2015-04-17T09:30:30Z","updated_at":"2015-04-17T17:37:31Z","due_on":"2015-04-19T23:00:00Z","closed_at":null},"comments":3,"created_at":"2015-04-16T23:32:07Z","updated_at":"2015-04-17T18:22:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Metaswitch/calico/pulls/391","html_url":"https://github.com/Metaswitch/calico/pull/391","diff_url":"https://github.com/Metaswitch/calico/pull/391.diff","patch_url":"https://github.com/Metaswitch/calico/pull/391.patch"},"body":"I've had a little time this evening to investigate the resilience of the plugin to etcd resets, and this PR shows the result of that so far.  I've added UT to reset the etcd data at various possible points, then looked at the effect of that on the plugin code - which revealed KeyError exceptions at lines 218 and 220 where the plugin tries to read ..../rules and ..../tags for a profile.  The second commit here covers that.\r\n\r\nI don't think this is a complete review, yet, I'm afraid, but I would hope that, with this, the plugin will have enough resilience to get through some initial testing of a moving etcd node."},"comment":{"url":"https://api.github.com/repos/Metaswitch/calico/issues/comments/94045017","html_url":"https://github.com/Metaswitch/calico/pull/391#issuecomment-94045017","issue_url":"https://api.github.com/repos/Metaswitch/calico/issues/391","id":94045017,"user":{"login":"fasaxc","id":469264,"avatar_url":"https://avatars.githubusercontent.com/u/469264?v=3","gravatar_id":"","url":"https://api.github.com/users/fasaxc","html_url":"https://github.com/fasaxc","followers_url":"https://api.github.com/users/fasaxc/followers","following_url":"https://api.github.com/users/fasaxc/following{/other_user}","gists_url":"https://api.github.com/users/fasaxc/gists{/gist_id}","starred_url":"https://api.github.com/users/fasaxc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fasaxc/subscriptions","organizations_url":"https://api.github.com/users/fasaxc/orgs","repos_url":"https://api.github.com/users/fasaxc/repos","events_url":"https://api.github.com/users/fasaxc/events{/privacy}","received_events_url":"https://api.github.com/users/fasaxc/received_events","type":"User","site_admin":false},"created_at":"2015-04-17T18:22:38Z","updated_at":"2015-04-17T18:22:38Z","body":"@robbrockbank I've rebased this, please can you review?"}}