hashicorp / hashicorp/nomad

Leverage Cluster ID to help prevent joining discrete clusters

Open
#6,736 3 comments 0 reactions 0 assignees View on GitHub
theme/core type/enhancement
Dominant language
Go
Stars
17k
Forks
2.1k
Avg merge
1d 9h
Merged PRs (30d)
105

Description

Now that we have a uniquely identifying Cluster ID (gh-6702), we could use it to prevent the joining of members participatory of another cluster. When a member is `[re]join`ed, it should either have no existing Cluster ID, or a matching Cluster ID to the cluster it is being joined with. A non-matching Cluster ID is an indication that the member was participating in another cluster, and will have a non-sensical raft log & state store, likely causing some problems.

Contributor guide

No contributing guide indexed for this repository

Research direction

Review gh-6702 to understand the Cluster ID and then trace the member [re]join path. The work is done when joining accepts members with no Cluster ID or a matching ID, and rejects a non-matching ID before it can create inconsistent Raft log or state-store data.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.