Skip to content
This repository was archived by the owner on Jan 30, 2020. It is now read-only.

Conversation

@dongsupark
Copy link

When beating the Heart for the 1st time, call Heart.Register() to avoid such a case of registering machine with the same ID. Starting from the next heartbeat, however, call Heart.Beat() to allow registration with the same ID. That way fleetd can handle the machine presence in a graceful way.

Suggested-by: @wuqixuan
Fixes: #750

This PR depends on #1561.
NOTE: this is still experimental. do not merge it yet please!

wuqixuan and others added 4 commits April 20, 2016 15:26
Now support detecting the existing machine-id on startup.

Fixes coreos#1241 coreos#615
Export NewMachineID() from the Cluster interface, to make it available
for functional tests. This will be necessary for following test cases
where machine IDs need to be regenerated.
A new test TestDetectMachineId checks if a etcd registration fails
when a duplicated entry for /etc/machine-id gets registered to
different machines. Note that it's expected to fail in this case.

Goal of the test is to cover the improvement patch by @wuqixuan
("fleetd: Detecting the existing machine-id").

See also coreos#1288,
coreos#1241,
coreos#615.

Suggested-by: Olaf Buddenhagen <[email protected]>
Cc: wuqixuan <[email protected]>
When beating the Heart for the 1st time, call Heart.Register() to avoid
such a case of registering machine with the same ID.
Starting from the next heartbeat, however, call Heart.Beat() to allow
registration with the same ID. That way fleetd can handle the machine
presence in a graceful way.

Suggested-by: wuqixuan <[email protected]>
Fixes: coreos#750
@antrik
Copy link
Contributor

antrik commented Apr 20, 2016

@dongsupark this sounds wrong to me: doesn't it mean that the followup attempts will "steal" the ID from another instance if there is a conflict?...

(Haven't really thought it through in detail though -- so I might be missing something here...)

@dongsupark
Copy link
Author

A bugfix for a regression in fleetd was already included in #1561. Anyway this PR #1563 does not seem to correctly fix the original issue.
Closing.

@dongsupark dongsupark closed this Apr 21, 2016
@dongsupark dongsupark deleted the dongsu/fleetd-allow-same-mid branch April 22, 2016 10:13
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants