{"action":"closed","issue":{"url":"https://api.github.com/repos/Metaswitch/calico/issues/142","labels_url":"https://api.github.com/repos/Metaswitch/calico/issues/142/labels{/name}","comments_url":"https://api.github.com/repos/Metaswitch/calico/issues/142/comments","events_url":"https://api.github.com/repos/Metaswitch/calico/issues/142/events","html_url":"https://github.com/Metaswitch/calico/issues/142","id":55257623,"number":142,"title":"Felix needs to respond faster to ENDPOINT* messages.","user":{"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},"labels":[{"url":"https://api.github.com/repos/Metaswitch/calico/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/Metaswitch/calico/labels/Felix","name":"Felix","color":"5319e7"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-01-23T08:44:39Z","updated_at":"2015-04-07T11:14:47Z","closed_at":"2015-04-07T11:14:47Z","body":"On slow systems, Felix can cause problems by blocking its responses to ENDPOINT* messages behind doing work. This is particularly problematic on ENDPOINTCREATED messages, where ipsets and iptables programming occurs before Felix responds.\r\n\r\nArguably, Felix should do as much as it can to give it confidence that it can program the interface before responding, but by the time we're putting iptables rules in we're surely pretty confident we can program it!\r\n\r\nThis has caused problems when running on VMs: see metaswitch/calico-docker#2."}}