Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

By invalidating all old etcd discovery tokens you have broken my workflow. #5

Closed
SleepyBrett opened this issue May 16, 2019 · 2 comments

Comments

@SleepyBrett
Copy link

etcd 3.3.9

In response to coreos/discovery.etcd.io#64 (comment)

Previous workflow.

Create discovery url, create 5 node etcd cluster in asg.

When I want to roll over one of those nodes I do the following:

  1. Delete old node (shut down etcd first)

  2. on current cluster member remove old member

  3. one current cluster member add new member

  4. on replacment node create a dropin systemd unit without discovery and with current members and self, daemon-reload, restart etcd

  5. confirm success, remove restore droping, daemon-reload

That doesn't work anymore on clusters with 'old' discovery tokens.

instead the new node, with the old discovery token starts up and then crashes:

May 16 16:08:20 ip-172-27-187-218 etcd-wrapper[1170]: 2019-05-16 16:08:20.689784 E | etcdmain: failed to join discovery cluster (discovery: bad discovery endpoint)
May 16 16:08:20 ip-172-27-187-218 etcd-wrapper[1170]: 2019-05-16 16:08:20.689816 I | etcdmain: discovery token https://discovery.etcd.io/9a63c50f66e2803fb5ad005643cb7e60 was used, but failed to bootstrap the cluster.
May 16 16:08:20 ip-172-27-187-218 etcd-wrapper[1170]: 2019-05-16 16:08:20.689822 I | etcdmain: please generate a new discovery token and try to bootstrap again.
@SleepyBrett
Copy link
Author

my rollover script was tripping up because the invalid token causes etcd to go into crashloop instead of going into proxy mode. We had scripts checking for proxy mode and just removed them. Works fine now. Still not a great way to transition a service.

journalctl -u etcd | grep "proxy: listening for client requests on https://0.0.0.0:2379" now fails.

@philips
Copy link
Contributor

philips commented May 17, 2019

I apologize that this caused you issues. Unfortunately the etcd community nor the CNCF had the resources to do a more sophisticated migration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants