{"action":"created","issue":{"url":"https://api.github.com/repos/Metaswitch/clearwater-etcd/issues/10","labels_url":"https://api.github.com/repos/Metaswitch/clearwater-etcd/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/Metaswitch/clearwater-etcd/issues/10/comments","events_url":"https://api.github.com/repos/Metaswitch/clearwater-etcd/issues/10/events","html_url":"https://github.com/Metaswitch/clearwater-etcd/pull/10","id":73263571,"number":10,"title":"[Reviewer: Ellie] Cluster manager code","user":{"login":"rkd-msw","id":4363492,"avatar_url":"https://avatars.githubusercontent.com/u/4363492?v=3","gravatar_id":"","url":"https://api.github.com/users/rkd-msw","html_url":"https://github.com/rkd-msw","followers_url":"https://api.github.com/users/rkd-msw/followers","following_url":"https://api.github.com/users/rkd-msw/following{/other_user}","gists_url":"https://api.github.com/users/rkd-msw/gists{/gist_id}","starred_url":"https://api.github.com/users/rkd-msw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkd-msw/subscriptions","organizations_url":"https://api.github.com/users/rkd-msw/orgs","repos_url":"https://api.github.com/users/rkd-msw/repos","events_url":"https://api.github.com/users/rkd-msw/events{/privacy}","received_events_url":"https://api.github.com/users/rkd-msw/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"rkd-msw","id":4363492,"avatar_url":"https://avatars.githubusercontent.com/u/4363492?v=3","gravatar_id":"","url":"https://api.github.com/users/rkd-msw","html_url":"https://github.com/rkd-msw","followers_url":"https://api.github.com/users/rkd-msw/followers","following_url":"https://api.github.com/users/rkd-msw/following{/other_user}","gists_url":"https://api.github.com/users/rkd-msw/gists{/gist_id}","starred_url":"https://api.github.com/users/rkd-msw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkd-msw/subscriptions","organizations_url":"https://api.github.com/users/rkd-msw/orgs","repos_url":"https://api.github.com/users/rkd-msw/repos","events_url":"https://api.github.com/users/rkd-msw/events{/privacy}","received_events_url":"https://api.github.com/users/rkd-msw/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2015-05-05T09:43:15Z","updated_at":"2015-05-06T12:41:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Metaswitch/clearwater-etcd/pulls/10","html_url":"https://github.com/Metaswitch/clearwater-etcd/pull/10","diff_url":"https://github.com/Metaswitch/clearwater-etcd/pull/10.diff","patch_url":"https://github.com/Metaswitch/clearwater-etcd/pull/10.patch"},"body":"Key things:\r\n\r\n* the main code files are etcd_synchronizer.py (which talks to etcd) and synchronizer_fsm.py (a state machine that works out what to do next based on the current etcd states)\r\n* these files have about 96% code coverage in UT, excepting some INVALID_CLUSTER_STATE branches that we should never hit (coverage is about 80% overall, due to main.cpp and plugin_utils.cpp being 0%)\r\n* you can run the UTs with SLOW=T (to enable some slow tests, that introduce random pauses to shake out race conditions) or ETCD_IP=10.0.0.1 (to run against a real etcd node)\r\n* there are various diagnostics/recovery/upgrade scripts in clearwater-cluster-manager.root/usr/share/clearwater/cluster_manager/scripts:\r\n   * dump_etcd_state, which prints out the current state of an etcd key\r\n   * force_etcd_state, which loads a JSON file into an etcd key\r\n   * mark_node_failed, which forces a dead node out of the cluster\r\n  * load_from_cluster_settings, for upgrade, which creates the right etcd key from an existing /etc/clearwater/cluster_settings"},"comment":{"url":"https://api.github.com/repos/Metaswitch/clearwater-etcd/issues/comments/99434814","html_url":"https://github.com/Metaswitch/clearwater-etcd/pull/10#issuecomment-99434814","issue_url":"https://api.github.com/repos/Metaswitch/clearwater-etcd/issues/10","id":99434814,"user":{"login":"rkd-msw","id":4363492,"avatar_url":"https://avatars.githubusercontent.com/u/4363492?v=3","gravatar_id":"","url":"https://api.github.com/users/rkd-msw","html_url":"https://github.com/rkd-msw","followers_url":"https://api.github.com/users/rkd-msw/followers","following_url":"https://api.github.com/users/rkd-msw/following{/other_user}","gists_url":"https://api.github.com/users/rkd-msw/gists{/gist_id}","starred_url":"https://api.github.com/users/rkd-msw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkd-msw/subscriptions","organizations_url":"https://api.github.com/users/rkd-msw/orgs","repos_url":"https://api.github.com/users/rkd-msw/repos","events_url":"https://api.github.com/users/rkd-msw/events{/privacy}","received_events_url":"https://api.github.com/users/rkd-msw/received_events","type":"User","site_admin":false},"created_at":"2015-05-06T12:41:19Z","updated_at":"2015-05-06T12:41:19Z","body":"@eleanor-merry , can you review https://github.com/Metaswitch/clearwater-etcd/commit/99155cfc23557e36acc26260029b2f2d2a6666df and check that the comments are what you're expecting? I'll then write a similar set for scale-down."}}