{"action":"opened","issue":{"url":"https://api.github.com/repos/hashicorp/consul/issues/2343","repository_url":"https://api.github.com/repos/hashicorp/consul","labels_url":"https://api.github.com/repos/hashicorp/consul/issues/2343/labels{/name}","comments_url":"https://api.github.com/repos/hashicorp/consul/issues/2343/comments","events_url":"https://api.github.com/repos/hashicorp/consul/issues/2343/events","html_url":"https://github.com/hashicorp/consul/issues/2343","id":177538569,"number":2343,"title":"Several items from Cloud Foundry usage of Consul","user":{"login":"Amit-PivotalLabs","id":3108318,"avatar_url":"https://avatars.githubusercontent.com/u/3108318?v=3","gravatar_id":"","url":"https://api.github.com/users/Amit-PivotalLabs","html_url":"https://github.com/Amit-PivotalLabs","followers_url":"https://api.github.com/users/Amit-PivotalLabs/followers","following_url":"https://api.github.com/users/Amit-PivotalLabs/following{/other_user}","gists_url":"https://api.github.com/users/Amit-PivotalLabs/gists{/gist_id}","starred_url":"https://api.github.com/users/Amit-PivotalLabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Amit-PivotalLabs/subscriptions","organizations_url":"https://api.github.com/users/Amit-PivotalLabs/orgs","repos_url":"https://api.github.com/users/Amit-PivotalLabs/repos","events_url":"https://api.github.com/users/Amit-PivotalLabs/events{/privacy}","received_events_url":"https://api.github.com/users/Amit-PivotalLabs/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-09-16T23:15:27Z","updated_at":"2016-09-16T23:15:27Z","closed_at":null,"body":"Hey @slackpad, thanks for meeting with some of us from the Pivotal Cloud Foundry team, here's some of the points we talked about.\r\n\r\n- [ ] Make a server leave as a first class thing.\r\n- [ ] Does leave give the right feedback? Seems like it returns before leave has happened.\r\n- [ ] Server name change issue: https://github.com/hashicorp/consul/issues/2172.\r\n- [ ] Migrate all gossip key stuff off RPC client so we don't have to use the RPC client at all to orchestrate how we start the consul binary.\r\n- [ ] Have an HTTP API endpoint for `leave` command, instead of only RPC interface.\r\n- [ ] Will stale Serf info add a failed server back in (do we check the health)?\r\n- [ ] Gossip keys install should say who failed and why (at least the IP).\r\n- [ ] \"Stats for Raft -> consul operator healthy server replication OK CLI + API\" -- so that we can simplify Consul orchestration, knowing that a server is synced rather than polling stats endpoint and comparing numbers.\r\n- [ ] \"Bootstrap CLI + API -> are you in a cluster and are you synced\" -- so that we can programmatically put a server into bootstrap mode instead of rewriting config and having to restart server.\r\n- [ ] If keys have been rotated new agents don't have the old key history - where are they keys stored?  What files would they need to keep on a restart?\r\n- [ ] Client rapidly turning into a server gets ignored by other clients as a non-server.\r\n- [ ] Do we need a special case operator command to help with leaves (like maybe take a list of server IPs to RPC to)?\r\n- [ ] Manual mode would need TLS configs and stuff, i.e. being able to cURL a Consul server with keys and certs, or even the `consul` CLI supporting commands to remote servers and supporting flags for TLS things -- needs to support just giving it an IP and maybe ignoring domain name verification (chicken-egg problem).\r\n\r\nSome of the items above are maybe a bit roughly worded, we can work on refining them.\r\n\r\nAlso, please let us know how we can help on these via PRs.\r\n\r\nThanks!"}}
{"actor":{"display_login":"Amit-PivotalLabs"}}