Skip to content

Commit 5bc5853

Browse files
authored
fix(config_wrapper): apply instance_enable_ipv6 from common to all components (#18254)
1 parent 60749bf commit 5bc5853

2 files changed

Lines changed: 27 additions & 0 deletions

File tree

‎pkg/loki/config_wrapper.go‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ func applyConfigToRings(r, defaults *ConfigWrapper, rc lokiring.RingConfig, merg
244244
r.Ingester.LifecyclerConfig.Zone = rc.InstanceZone
245245
r.Ingester.LifecyclerConfig.ListenPort = rc.ListenPort
246246
r.Ingester.LifecyclerConfig.ObservePeriod = rc.ObservePeriod
247+
r.Ingester.LifecyclerConfig.EnableInet6 = rc.EnableIPv6
247248
r.Ingester.KafkaIngestion.PartitionRingConfig.KVStore = rc.KVStore
248249
}
249250

@@ -260,6 +261,7 @@ func applyConfigToRings(r, defaults *ConfigWrapper, rc lokiring.RingConfig, merg
260261
r.Pattern.LifecyclerConfig.Zone = rc.InstanceZone
261262
r.Pattern.LifecyclerConfig.ListenPort = rc.ListenPort
262263
r.Pattern.LifecyclerConfig.ObservePeriod = rc.ObservePeriod
264+
r.Pattern.LifecyclerConfig.EnableInet6 = rc.EnableIPv6
263265
}
264266

265267
// IngestLimits
@@ -276,6 +278,7 @@ func applyConfigToRings(r, defaults *ConfigWrapper, rc lokiring.RingConfig, merg
276278
r.IngestLimits.LifecyclerConfig.Zone = rc.InstanceZone
277279
r.IngestLimits.LifecyclerConfig.ListenPort = rc.ListenPort
278280
r.IngestLimits.LifecyclerConfig.ObservePeriod = rc.ObservePeriod
281+
r.IngestLimits.LifecyclerConfig.EnableInet6 = rc.EnableIPv6
279282
}
280283

281284
// IngestLimitsFrontend
@@ -292,6 +295,7 @@ func applyConfigToRings(r, defaults *ConfigWrapper, rc lokiring.RingConfig, merg
292295
r.IngestLimitsFrontend.LifecyclerConfig.Zone = rc.InstanceZone
293296
r.IngestLimitsFrontend.LifecyclerConfig.ListenPort = rc.ListenPort
294297
r.IngestLimitsFrontend.LifecyclerConfig.ObservePeriod = rc.ObservePeriod
298+
r.IngestLimitsFrontend.LifecyclerConfig.EnableInet6 = rc.EnableIPv6
295299
}
296300

297301
// Distributor
@@ -303,6 +307,7 @@ func applyConfigToRings(r, defaults *ConfigWrapper, rc lokiring.RingConfig, merg
303307
r.Distributor.DistributorRing.InstanceID = rc.InstanceID
304308
r.Distributor.DistributorRing.InstanceInterfaceNames = rc.InstanceInterfaceNames
305309
r.Distributor.DistributorRing.KVStore = rc.KVStore
310+
r.Distributor.DistributorRing.EnableIPv6 = rc.EnableIPv6
306311
}
307312

308313
// Ruler
@@ -314,6 +319,7 @@ func applyConfigToRings(r, defaults *ConfigWrapper, rc lokiring.RingConfig, merg
314319
r.Ruler.Ring.InstanceID = rc.InstanceID
315320
r.Ruler.Ring.InstanceInterfaceNames = rc.InstanceInterfaceNames
316321
r.Ruler.Ring.KVStore = rc.KVStore
322+
r.Ruler.Ring.EnableIPv6 = rc.EnableIPv6
317323
}
318324

319325
// Query Scheduler
@@ -327,6 +333,7 @@ func applyConfigToRings(r, defaults *ConfigWrapper, rc lokiring.RingConfig, merg
327333
r.QueryScheduler.SchedulerRing.InstanceZone = rc.InstanceZone
328334
r.QueryScheduler.SchedulerRing.ZoneAwarenessEnabled = rc.ZoneAwarenessEnabled
329335
r.QueryScheduler.SchedulerRing.KVStore = rc.KVStore
336+
r.QueryScheduler.SchedulerRing.EnableIPv6 = rc.EnableIPv6
330337
}
331338

332339
// Compactor
@@ -340,6 +347,7 @@ func applyConfigToRings(r, defaults *ConfigWrapper, rc lokiring.RingConfig, merg
340347
r.CompactorConfig.CompactorRing.InstanceZone = rc.InstanceZone
341348
r.CompactorConfig.CompactorRing.ZoneAwarenessEnabled = rc.ZoneAwarenessEnabled
342349
r.CompactorConfig.CompactorRing.KVStore = rc.KVStore
350+
r.CompactorConfig.CompactorRing.EnableIPv6 = rc.EnableIPv6
343351
}
344352

345353
// IndexGateway
@@ -353,6 +361,7 @@ func applyConfigToRings(r, defaults *ConfigWrapper, rc lokiring.RingConfig, merg
353361
r.IndexGateway.Ring.InstanceZone = rc.InstanceZone
354362
r.IndexGateway.Ring.ZoneAwarenessEnabled = rc.ZoneAwarenessEnabled
355363
r.IndexGateway.Ring.KVStore = rc.KVStore
364+
r.IndexGateway.Ring.EnableIPv6 = rc.EnableIPv6
356365
}
357366
}
358367

‎pkg/loki/config_wrapper_test.go‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2297,6 +2297,24 @@ common:
22972297
assert.Equal(t, []string{"ringsshouldntusethis"}, config.Frontend.FrontendV2.InfNames) // not a ring.
22982298
assert.Equal(t, []string{"ringsshouldusethis"}, config.CompactorConfig.CompactorRing.InstanceInterfaceNames)
22992299
})
2300+
2301+
t.Run("enable_ipv6 setting is propagated from common ring to all component rings", func(t *testing.T) {
2302+
yamlContent := `common:
2303+
ring:
2304+
instance_enable_ipv6: true`
2305+
2306+
config, _, err := configWrapperFromYAML(t, yamlContent, nil)
2307+
assert.NoError(t, err)
2308+
assert.True(t, config.Distributor.DistributorRing.EnableIPv6)
2309+
assert.True(t, config.Ingester.LifecyclerConfig.EnableInet6)
2310+
assert.True(t, config.IngestLimits.LifecyclerConfig.EnableInet6)
2311+
assert.True(t, config.IngestLimitsFrontend.LifecyclerConfig.EnableInet6)
2312+
assert.True(t, config.Ruler.Ring.EnableIPv6)
2313+
assert.True(t, config.QueryScheduler.SchedulerRing.EnableIPv6)
2314+
assert.True(t, config.CompactorConfig.CompactorRing.EnableIPv6)
2315+
assert.True(t, config.IndexGateway.Ring.EnableIPv6)
2316+
assert.True(t, config.Pattern.LifecyclerConfig.EnableInet6)
2317+
})
23002318
}
23012319

23022320
func TestNamedStores_applyDefaults(t *testing.T) {

0 commit comments

Comments
 (0)