-
Notifications
You must be signed in to change notification settings - Fork 123
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
Repeated attempts to reconcile mesh network #253
Comments
i think it is because your laptop's endpoint is discovered since #146 and now Kilo wants to reapply the spec of your Laptop's peer that has a nil endpoint because the actual endpoint has been added and spec and reality have diverged. Let me check why I haven't noticed this with my laptop. Maybe this is wrong. |
What is the Peer spec of your laptop. Did you set persitent-keep-alive to 0? Line 275 in 05e8ded
|
Brilliant, that's exactly what's happening. I've added a |
Defining a peer with a persistent keep alive of 0 apiVersion: kilo.squat.ai/v1alpha1
kind: Peer
metadata:
name: laptop
spec:
allowedIPs:
- 10.5.0.1/32
publicKey: SzhsHapvJy61urzHTAvx3Iu7ANlO+PGbsPy/mKY8U10=
persistentKeepalive: 0 Still sees kilo attempt to reconcile the mesh network; line 3, 30~ seconds after apply:
Is the intention of this code-path to prevent mesh reconciliation if Line 291 in 4be792e
FWIW, I'm not bothered about keeping otherwise silent connections alive through NAT |
Some mysterious behaviour I don't quite understand; I have a peer configuration called apiVersion: kilo.squat.ai/v1alpha1
kind: Peer
metadata:
name: laptop
spec:
allowedIPs:
- 10.5.0.1/32
publicKey: SzhsHapvJy61urzHTAvx3Iu7ANlO+PGbsPy/mKY8U10=
persistentKeepalive: 0
---
apiVersion: kilo.squat.ai/v1alpha1
kind: Peer
metadata:
name: phone
spec:
allowedIPs:
- 10.5.0.2/32
publicKey: urgVgSoHEwG5/7q0k5NpjWSBpAyxPfhvdT/v0zd561o=
persistentKeepalive: 0 Taking a stab in the dark that something is up with the apiVersion: kilo.squat.ai/v1alpha1
kind: Peer
metadata:
name: dummy
spec:
allowedIPs:
- 10.5.0.3/32
publicKey: AzckRiPfM30PNbyX/kxCv59YlIfaoj/hVU7LPkxuuAw=
persistentKeepalive: 0 Okay, so now thinking something is up with the clients, I migrate the So now the reverse—export the |
I moved the private key from Reset 🤯 |
I have an issue where when I connect an outside peer (eg. my laptop) to the cluster,
kilo
sees that configurations aren't the same and recreates the mesh to reconcile the differences. However, the config is never as expected andkilo
will constantly attempt to reconcile, killing the network every ~30 secondsI'm going to keep debugging, but I created this issue just in case you know what's up before I spend time here.
I added some prints to see what was going on:
level.Info(logger).Log("reason", "peer endpoints", "c", c, "b", b)
Turns out my laptop peer,
10.5.0.1
, has a configured endpoint inoldConf
,b
, but isnull
in the new conf,c
, and that's what's causingkilo
to reconcile the differencesThe text was updated successfully, but these errors were encountered: