# RAFT\_JOIN without helm

**URL:** https://forum.weaviate.io/t/raft-join-without-helm/20349
**Category:** Support
**Created:** [March 27, 2025, 10:18am UTC](https://forum.weaviate.io/t/raft-join-without-helm/20349 "2025-03-27T10:18:01Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Dharanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dharanish/32/659_2.png) [@Dharanish](https://forum.weaviate.io/u/Dharanish)
#### Post date: [March 27, 2025, 10:18am UTC](https://forum.weaviate.io/t/raft-join-without-helm/20349/1 "2025-03-27T10:18:01Z")

</div>

Team, we can’t use helm in our production environment so we created a helm like tools for our production deployment. In weaviate deployment, the RAFT\_JOIN is handled by helm based on the number of nodes. But for our case of 3 node cluster, how to handle this .  
By default each node make itself as leader.  
So I added the env variable RAFT\_JOIN= weaviate-node-1,weaviate-node-2,weaviate-node-3.  
After adding this , All nodes elect weaviate-node-1 as leader. But in case of node-1 failure/restart. other nodes don’t become as candidate and they select only weaviate-node-1 as their leader  
How to resolve this?

---

<div class="post-metadata">

### Author: ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)
#### Post date: [March 27, 2025, 12:00pm UTC](https://forum.weaviate.io/t/raft-join-without-helm/20349/2 "2025-03-27T12:00:11Z")

</div>

hi @Dharanish !

That’s strange. After node-1 death as a leader, they should elect a new leader.

Do you see anything outstanding on raft comms log?

---

<div class="post-metadata">

### Author: ![Dharanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dharanish/32/659_2.png) [@Dharanish](https://forum.weaviate.io/u/Dharanish)
#### Post date: [March 27, 2025, 12:18pm UTC](https://forum.weaviate.io/t/raft-join-without-helm/20349/3 "2025-03-27T12:18:33Z")

</div>

“build\_git\_commit”:“6edf2b8”,“build\_go\_version”:“go1.22.12”,“build\_image\_tag”:“v1.28.11”,“build\_wv\_version”:“1.28.11”,“level”:“warning”,“msg”:" memberlist: Was able to connect to weaviate-codeassistant-1 over TCP but UDP probes failed, network may be misconfigured"," │  
│ {“build\_git\_commit”:“6edf2b8”,“build\_go\_version”:“go1.22.12”,“build\_image\_tag”:“v1.28.11”,“build\_wv\_version”:“1.28.11”,“level”:“info”,“msg”:" memberlist: Suspect weaviate-codeassistant-0 has failed, no acks received",“time”:“2025-03-27T12:16:53Z”} │  
│ {“build\_git\_commit”:“6edf2b8”,“build\_go\_version”:“go1.22.12”,“build\_image\_tag”:“v1.28.11”,“build\_wv\_version”:“1.28.11”,“level”:“info”,“msg”:" memberlist: Suspect weaviate-codeassistant-0 has failed, no acks received",“time”:“2025-03-27T12:16:57Z”} │  
│ {“build\_git\_commit”:“6edf2b8”,“build\_go\_version”:“go1.22.12”,“build\_image\_tag”:“v1.28.11”,“build\_wv\_version”:“1.28.11”,“level”:“info”,“msg”:" memberlist: Marking weaviate-codeassistant-0 as failed, suspect timeout reached (0 peer confirmations)“,“time”:“2025-03-27T12: │  
│ {“build\_git\_commit”:“6edf2b8”,“build\_go\_version”:“go1.22.12”,“build\_image\_tag”:“v1.28.11”,“build\_wv\_version”:“1.28.11”,“level”:“error”,“msg”:” memberlist: Conflicting address for weaviate-codeassistant-0. Mine: 10.244.5.72:7000 Theirs: 10.244.5.73:7000 Old state: 2”," │  
│ {“build\_git\_commit”:“6edf2b8”,“build\_go\_version”:“go1.22.12”,“build\_image\_tag”:“v1.28.11”,“build\_wv\_version”:“1.28.11”,“level”:“error”,“msg”:" memberlist: Conflicting address for weaviate-codeassistant-0. Mine: 10.244.5.72:7000 Theirs: 10.244.5.73:7000 Old state: 2"," │  
│ {“build\_git\_commit”:“6edf2b8”,“build\_go\_version”:“go1.22.12”,“build\_image\_tag”:“v1.28.11”,“build\_wv\_version”:“1.28.11”,“level”:“error”,“msg”:" memberlist: Conflicting address for weaviate-codeassistant-0. Mine: 10.244.5.72:7000 Theirs: 10.244.5.73:7000 Old state: 2"," │  
│ {“build\_git\_commit”:“6edf2b8”,“build\_go\_version”:“go1.22.12”,“build\_image\_tag”:“v1.28.11”,“build\_wv\_version”:“1.28.11”,“level”:“error”,“msg”:" memberlist: Conflicting address for weaviate-codeassistant-0. Mine: 10.244.5.72:7000 Theirs: 10.244.5.73:7000 Old state: 2"," │  
│ {“build\_git\_commit”:“6edf2b8”,“build\_go\_version”:“go1.22.12”,“build\_image\_tag”:“v1.28.11”,“build\_wv\_version”:“1.28.11”,“level”:“error”,“msg”:" memberlist: Conflicting address for weaviate-codeassistant-0. Mine: 10.244.5.72:7000 Theirs: 10.244.5.73:7000 Old state: 2","

I get the above logs only

---

<div class="post-metadata">

### Author: ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)
#### Post date: [March 27, 2025, 2:57pm UTC](https://forum.weaviate.io/t/raft-join-without-helm/20349/4 "2025-03-27T14:57:53Z")

</div>

> [@Dharanish](#):
>
> weaviate-codeassistant-0.

It seems memberlist is not allowing this node to join, as it’s expecting weaviate-node-1 🤔

---

<div class="post-metadata">

### Author: ![Dharanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dharanish/32/659_2.png) [@Dharanish](https://forum.weaviate.io/u/Dharanish)
#### Post date: [March 28, 2025, 5:14am UTC](https://forum.weaviate.io/t/raft-join-without-helm/20349/5 "2025-03-28T05:14:37Z")

</div>

No , actual node name is weaviate-codeassistant-x, we set those in RAFT\_JOIN . I just used the term `node-1` for simplicity.

---

<div class="post-metadata">

### Author: ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)
#### Post date: [March 28, 2025, 7:08pm UTC](https://forum.weaviate.io/t/raft-join-without-helm/20349/6 "2025-03-28T19:08:33Z")

</div>

Could you share those manifests?

Otherwise is hard to tackle.

it looks like something may be blocking udp internal comms between nodes.

So nodes are probably crashlooping, changing ips between pods, and becoming suspects of each other, as the present themselves with a hostname, but now with a different ip.

Let me know if this helps 😬
