@@ -148,6 +148,9 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
148
148
name : "update config defaults" ,
149
149
otelcol : v1beta1.OpenTelemetryCollector {
150
150
Spec : v1beta1.OpenTelemetryCollectorSpec {
151
+ OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
152
+ Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
153
+ },
151
154
Config : func () v1beta1.Config {
152
155
const input = `{"receivers":{"otlp":{"protocols":{"grpc":null,"http":null}}},"exporters":{"debug":null},"service":{"pipelines":{"traces":{"receivers":["otlp"],"exporters":["debug"]}}}}`
153
156
var cfg v1beta1.Config
@@ -162,8 +165,8 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
162
165
},
163
166
Spec : v1beta1.OpenTelemetryCollectorSpec {
164
167
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
165
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
166
168
ManagementState : v1beta1 .ManagementStateManaged ,
169
+ Args : map [string ]string {},
167
170
Replicas : & one ,
168
171
},
169
172
Mode : v1beta1 .ModeDeployment ,
@@ -195,7 +198,6 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
195
198
},
196
199
Spec : v1beta1.OpenTelemetryCollectorSpec {
197
200
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
198
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
199
201
ManagementState : v1beta1 .ManagementStateManaged ,
200
202
Replicas : & one ,
201
203
},
@@ -219,7 +221,6 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
219
221
},
220
222
Spec : v1beta1.OpenTelemetryCollectorSpec {
221
223
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
222
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
223
224
ManagementState : v1beta1 .ManagementStateManaged ,
224
225
Replicas : & one ,
225
226
},
@@ -247,7 +248,6 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
247
248
Mode : v1beta1 .ModeSidecar ,
248
249
UpgradeStrategy : "adhoc" ,
249
250
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
250
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
251
251
Replicas : & five ,
252
252
ManagementState : v1beta1 .ManagementStateManaged ,
253
253
},
@@ -274,7 +274,6 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
274
274
Mode : v1beta1 .ModeSidecar ,
275
275
UpgradeStrategy : "adhoc" ,
276
276
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
277
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
278
277
Replicas : & five ,
279
278
ManagementState : v1beta1 .ManagementStateUnmanaged ,
280
279
},
@@ -299,7 +298,6 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
299
298
Mode : v1beta1 .ModeDeployment ,
300
299
UpgradeStrategy : v1beta1 .UpgradeStrategyAutomatic ,
301
300
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
302
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
303
301
Replicas : & one ,
304
302
ManagementState : v1beta1 .ManagementStateManaged ,
305
303
},
@@ -328,7 +326,6 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
328
326
Spec : v1beta1.OpenTelemetryCollectorSpec {
329
327
Mode : v1beta1 .ModeDeployment ,
330
328
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
331
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
332
329
ManagementState : v1beta1 .ManagementStateManaged ,
333
330
Replicas : & one ,
334
331
},
@@ -364,7 +361,6 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
364
361
Spec : v1beta1.OpenTelemetryCollectorSpec {
365
362
Mode : v1beta1 .ModeDeployment ,
366
363
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
367
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
368
364
Replicas : & one ,
369
365
ManagementState : v1beta1 .ManagementStateManaged ,
370
366
PodDisruptionBudget : & v1beta1.PodDisruptionBudgetSpec {
@@ -402,7 +398,6 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
402
398
Spec : v1beta1.OpenTelemetryCollectorSpec {
403
399
Mode : v1beta1 .ModeDeployment ,
404
400
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
405
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
406
401
Replicas : & one ,
407
402
ManagementState : v1beta1 .ManagementStateManaged ,
408
403
},
@@ -445,7 +440,6 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
445
440
Spec : v1beta1.OpenTelemetryCollectorSpec {
446
441
Mode : v1beta1 .ModeDeployment ,
447
442
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
448
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
449
443
Replicas : & one ,
450
444
ManagementState : v1beta1 .ManagementStateManaged ,
451
445
},
@@ -483,7 +477,6 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
483
477
Spec : v1beta1.OpenTelemetryCollectorSpec {
484
478
Mode : v1beta1 .ModeDeployment ,
485
479
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
486
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
487
480
Replicas : & one ,
488
481
ManagementState : v1beta1 .ManagementStateManaged ,
489
482
},
@@ -514,7 +507,6 @@ func TestCollectorDefaultingWebhook(t *testing.T) {
514
507
Spec : v1beta1.OpenTelemetryCollectorSpec {
515
508
Mode : v1beta1 .ModeDeployment ,
516
509
OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
517
- Args : map [string ]string {"feature-gates" : "-component.UseLocalHostAsDefaultHost" },
518
510
Replicas : & one ,
519
511
ManagementState : v1beta1 .ManagementStateManaged ,
520
512
},
@@ -1455,3 +1447,55 @@ func getReviewer(shouldFailSAR bool) *rbac.Reviewer {
1455
1447
})
1456
1448
return rbac .NewReviewer (c )
1457
1449
}
1450
+
1451
+ func TestRemoveFeatureGate (t * testing.T ) {
1452
+ tests := []struct {
1453
+ test string
1454
+ args map [string ]string
1455
+ feature string
1456
+ expected map [string ]string
1457
+ }{
1458
+ {
1459
+ test : "empty" ,
1460
+ args : map [string ]string {},
1461
+ expected : map [string ]string {},
1462
+ },
1463
+ {
1464
+ test : "no feature gates" ,
1465
+ args : map [string ]string {"foo" : "bar" },
1466
+ feature : "foo" ,
1467
+ expected : map [string ]string {"foo" : "bar" },
1468
+ },
1469
+ {
1470
+ test : "remove enabled feature gate" ,
1471
+ args : map [string ]string {"foo" : "bar" , "feature-gates" : "+foo" },
1472
+ feature : "-foo" ,
1473
+ expected : map [string ]string {"foo" : "bar" , "feature-gates" : "+foo" },
1474
+ },
1475
+ {
1476
+ test : "remove disabled feature gate" ,
1477
+ args : map [string ]string {"foo" : "bar" , "feature-gates" : "-foo" },
1478
+ feature : "-foo" ,
1479
+ expected : map [string ]string {"foo" : "bar" },
1480
+ },
1481
+ {
1482
+ test : "remove disabled feature gate, start" ,
1483
+ args : map [string ]string {"foo" : "bar" , "feature-gates" : "-foo,bar" },
1484
+ feature : "-foo" ,
1485
+ expected : map [string ]string {"foo" : "bar" , "feature-gates" : "bar" },
1486
+ },
1487
+ {
1488
+ test : "remove disabled feature gate, end" ,
1489
+ args : map [string ]string {"foo" : "bar" , "feature-gates" : "bar,-foo" },
1490
+ feature : "-foo" ,
1491
+ expected : map [string ]string {"foo" : "bar" , "feature-gates" : "bar" },
1492
+ },
1493
+ }
1494
+
1495
+ for _ , test := range tests {
1496
+ t .Run (test .test , func (t * testing.T ) {
1497
+ args := v1beta1 .RemoveFeatureGate (test .args , test .feature )
1498
+ assert .Equal (t , test .expected , args )
1499
+ })
1500
+ }
1501
+ }
0 commit comments