{"action":"closed","issue":{"url":"https://api.github.com/repos/Metaswitch/calico/issues/477","labels_url":"https://api.github.com/repos/Metaswitch/calico/issues/477/labels{/name}","comments_url":"https://api.github.com/repos/Metaswitch/calico/issues/477/comments","events_url":"https://api.github.com/repos/Metaswitch/calico/issues/477/events","html_url":"https://github.com/Metaswitch/calico/issues/477","id":71732888,"number":477,"title":"Support multiple instances of the Neutron plugin for HA","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},"labels":[{"url":"https://api.github.com/repos/Metaswitch/calico/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/Metaswitch/calico/labels/neutron%20driver","name":"neutron driver","color":"009800"}],"state":"closed","locked":false,"assignee":{"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},"milestone":{"url":"https://api.github.com/repos/Metaswitch/calico/milestones/8","html_url":"https://github.com/Metaswitch/calico/milestones/0.22","labels_url":"https://api.github.com/repos/Metaswitch/calico/milestones/8/labels","id":1117712,"number":8,"title":"0.22","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":8,"closed_issues":12,"state":"open","created_at":"2015-05-19T09:42:24Z","updated_at":"2015-06-01T15:28:26Z","due_on":"2015-05-31T23:00:00Z","closed_at":null},"comments":3,"created_at":"2015-04-28T23:14:57Z","updated_at":"2015-06-01T15:28:26Z","closed_at":"2015-06-01T15:28:26Z","body":"One of our customers wants to roll out multiple plugins for HA purposes (at a scale of ~140 physical servers in the cluster with ~6 control nodes).  I think we need to expedite basic HA support to support that.\r\n\r\nIt's not essential to have full linear scaling, we just need to support running multiple plugins without multiplying the number of periodic resyncs or clobbering each other's updates.  That could be done through retaking the neutron DB lock, etcd CaS* or even leader-election between the plugins.\r\n\r\n*CaS would require minor felix enhancements to treat CaS updates as sets.\r\n\r\nI expect this will be difficult to squeeze into 0.18 but perhaps we can land it in 0.19?"}}