Skip to content

Commit 73d87ec

Browse files
authored
Remove the potential multiple managedclusterconfiguration support. (#202)
Signed-off-by: GitHub <noreply@github.com>
1 parent 5f9d93e commit 73d87ec

File tree

2 files changed

+25
-34
lines changed

2 files changed

+25
-34
lines changed

pkg/proxyagent/agent/agent.go

+3-15
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ import (
4040
var FS embed.FS
4141

4242
const (
43+
ManagedClusterConfigurationName = "cluster-proxy"
44+
4345
ProxyAgentSignerName = "open-cluster-management.io/proxy-agent-signer"
4446

4547
// serviceDomain must added because go dns client won't recursivly search CNAME.
@@ -175,23 +177,9 @@ func GetClusterProxyValueFunc(
175177
) addonfactory.GetValuesFunc {
176178
return func(cluster *clusterv1.ManagedCluster,
177179
addon *addonv1alpha1.ManagedClusterAddOn) (addonfactory.Values, error) {
178-
179-
managedProxyConfigurations := []string{}
180-
for _, configReference := range addon.Status.ConfigReferences {
181-
if config.IsManagedProxyConfiguration(configReference.ConfigGroupResource) && configReference.DesiredConfig != nil {
182-
managedProxyConfigurations = append(managedProxyConfigurations, configReference.DesiredConfig.Name)
183-
}
184-
}
185-
186-
// only handle there is only one managed proxy configuration for one addon
187-
// TODO may consider to handle multiple managed proxy configurations for one addon
188-
if len(managedProxyConfigurations) != 1 {
189-
return nil, fmt.Errorf("unexpected managed proxy configurations: %v", managedProxyConfigurations)
190-
}
191-
192180
proxyConfig := &proxyv1alpha1.ManagedProxyConfiguration{}
193181
if err := runtimeClient.Get(context.TODO(), types.NamespacedName{
194-
Name: managedProxyConfigurations[0],
182+
Name: ManagedClusterConfigurationName,
195183
}, proxyConfig); err != nil {
196184
return nil, err
197185
}

pkg/proxyagent/agent/agent_test.go

+22-19
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ func TestNewAgentAddon(t *testing.T) {
422422
name string
423423
cluster *clusterv1.ManagedCluster
424424
addon *addonv1alpha1.ManagedClusterAddOn
425-
managedProxyConfigs []runtimeclient.Object
425+
managedProxyConfig runtimeclient.Object
426426
addOndDeploymentConfigs []runtime.Object
427427
kubeObjs []runtime.Object
428428
v1CSRSupported bool
@@ -433,11 +433,10 @@ func TestNewAgentAddon(t *testing.T) {
433433
{
434434
name: "without default config",
435435
addon: newAddOn(addOnName, clusterName),
436-
managedProxyConfigs: []runtimeclient.Object{},
437436
addOndDeploymentConfigs: []runtime.Object{},
438437
kubeObjs: []runtime.Object{},
439438
enableKubeApiProxy: true,
440-
expectedErrorMsg: "unexpected managed proxy configurations: []",
439+
expectedErrorMsg: "managedproxyconfigurations.proxy.open-cluster-management.io \"cluster-proxy\" not found",
441440
verifyManifests: func(t *testing.T, manifests []runtime.Object) {},
442441
},
443442
{
@@ -447,11 +446,10 @@ func TestNewAgentAddon(t *testing.T) {
447446
addOn.Status.ConfigReferences = []addonv1alpha1.ConfigReference{newManagedProxyConfigReference("none")}
448447
return addOn
449448
}(),
450-
managedProxyConfigs: []runtimeclient.Object{},
451449
addOndDeploymentConfigs: []runtime.Object{},
452450
kubeObjs: []runtime.Object{},
453451
enableKubeApiProxy: true,
454-
expectedErrorMsg: "managedproxyconfigurations.proxy.open-cluster-management.io \"none\" not found",
452+
expectedErrorMsg: "managedproxyconfigurations.proxy.open-cluster-management.io \"cluster-proxy\" not found",
455453
verifyManifests: func(t *testing.T, manifests []runtime.Object) {},
456454
},
457455
{
@@ -461,7 +459,7 @@ func TestNewAgentAddon(t *testing.T) {
461459
addOn.Status.ConfigReferences = []addonv1alpha1.ConfigReference{newManagedProxyConfigReference(managedProxyConfigName)}
462460
return addOn
463461
}(),
464-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeLoadBalancerService)},
462+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeLoadBalancerService),
465463
addOndDeploymentConfigs: []runtime.Object{},
466464
kubeObjs: []runtime.Object{},
467465
enableKubeApiProxy: true,
@@ -475,7 +473,7 @@ func TestNewAgentAddon(t *testing.T) {
475473
addOn.Status.ConfigReferences = []addonv1alpha1.ConfigReference{newManagedProxyConfigReference(managedProxyConfigName)}
476474
return addOn
477475
}(),
478-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeLoadBalancerService)},
476+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeLoadBalancerService),
479477
addOndDeploymentConfigs: []runtime.Object{},
480478
kubeObjs: []runtime.Object{newLoadBalancerService("")},
481479
enableKubeApiProxy: true,
@@ -490,7 +488,7 @@ func TestNewAgentAddon(t *testing.T) {
490488
addOn.Status.ConfigReferences = []addonv1alpha1.ConfigReference{newManagedProxyConfigReference(managedProxyConfigName)}
491489
return addOn
492490
}(),
493-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeLoadBalancerService)},
491+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeLoadBalancerService),
494492
addOndDeploymentConfigs: []runtime.Object{},
495493
kubeObjs: []runtime.Object{newLoadBalancerService("1.2.3.4")},
496494
v1CSRSupported: true,
@@ -511,7 +509,7 @@ func TestNewAgentAddon(t *testing.T) {
511509
addOn.Status.ConfigReferences = []addonv1alpha1.ConfigReference{newManagedProxyConfigReference(managedProxyConfigName)}
512510
return addOn
513511
}(),
514-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeLoadBalancerService)},
512+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeLoadBalancerService),
515513
addOndDeploymentConfigs: []runtime.Object{},
516514
kubeObjs: []runtime.Object{newLoadBalancerService("1.2.3.4"), newAgentClientSecret()},
517515
enableKubeApiProxy: true,
@@ -529,7 +527,7 @@ func TestNewAgentAddon(t *testing.T) {
529527
addOn.Status.ConfigReferences = []addonv1alpha1.ConfigReference{newManagedProxyConfigReference(managedProxyConfigName)}
530528
return addOn
531529
}(),
532-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeHostname)},
530+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeHostname),
533531
addOndDeploymentConfigs: []runtime.Object{},
534532
kubeObjs: []runtime.Object{},
535533
v1CSRSupported: true,
@@ -550,7 +548,7 @@ func TestNewAgentAddon(t *testing.T) {
550548
addOn.Status.ConfigReferences = []addonv1alpha1.ConfigReference{newManagedProxyConfigReference(managedProxyConfigName)}
551549
return addOn
552550
}(),
553-
managedProxyConfigs: []runtimeclient.Object{setProxyAgentReplicas(newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeHostname), 2)},
551+
managedProxyConfig: setProxyAgentReplicas(newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypeHostname), 2),
554552
addOndDeploymentConfigs: []runtime.Object{},
555553
kubeObjs: []runtime.Object{},
556554
v1CSRSupported: true,
@@ -571,7 +569,7 @@ func TestNewAgentAddon(t *testing.T) {
571569
addOn.Status.ConfigReferences = []addonv1alpha1.ConfigReference{newManagedProxyConfigReference(managedProxyConfigName)}
572570
return addOn
573571
}(),
574-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward)},
572+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward),
575573
addOndDeploymentConfigs: []runtime.Object{},
576574
kubeObjs: []runtime.Object{},
577575
v1CSRSupported: true,
@@ -595,7 +593,7 @@ func TestNewAgentAddon(t *testing.T) {
595593
}
596594
return addOn
597595
}(),
598-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward)},
596+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward),
599597
addOndDeploymentConfigs: []runtime.Object{newAddOnDeploymentConfig(addOndDeployConfigName, clusterName)},
600598
v1CSRSupported: true,
601599
enableKubeApiProxy: true,
@@ -632,7 +630,7 @@ func TestNewAgentAddon(t *testing.T) {
632630
}
633631
return addOn
634632
}(),
635-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward)},
633+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward),
636634
addOndDeploymentConfigs: []runtime.Object{newAddOnDeploymentConfigWithCustomizedServiceDomain(addOndDeployConfigName, clusterName, "svc.test.com")},
637635
v1CSRSupported: true,
638636
enableKubeApiProxy: true,
@@ -655,7 +653,7 @@ func TestNewAgentAddon(t *testing.T) {
655653
}
656654
return addOn
657655
}(),
658-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward)},
656+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward),
659657
addOndDeploymentConfigs: []runtime.Object{newAddOnDeploymentConfigWithCustomizedServiceDomain(addOndDeployConfigName, clusterName, "svc.test.com")},
660658
v1CSRSupported: true,
661659
enableKubeApiProxy: false,
@@ -676,7 +674,7 @@ func TestNewAgentAddon(t *testing.T) {
676674
}
677675
return addOn
678676
}(),
679-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward)},
677+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward),
680678
addOndDeploymentConfigs: []runtime.Object{newAddOnDeploymentConfigWithHttpsProxy(addOndDeployConfigName, clusterName)},
681679
v1CSRSupported: true,
682680
enableKubeApiProxy: true,
@@ -710,7 +708,7 @@ func TestNewAgentAddon(t *testing.T) {
710708
}
711709
return addOn
712710
}(),
713-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward)},
711+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward),
714712
addOndDeploymentConfigs: []runtime.Object{newAddOnDeploymentConfigWithHttpProxy(addOndDeployConfigName, clusterName)},
715713
v1CSRSupported: true,
716714
enableKubeApiProxy: true,
@@ -744,7 +742,7 @@ func TestNewAgentAddon(t *testing.T) {
744742
}
745743
return addOn
746744
}(),
747-
managedProxyConfigs: []runtimeclient.Object{newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward)},
745+
managedProxyConfig: newManagedProxyConfig(managedProxyConfigName, proxyv1alpha1.EntryPointTypePortForward),
748746
addOndDeploymentConfigs: []runtime.Object{
749747
func() *addonv1alpha1.AddOnDeploymentConfig {
750748
config := newAddOnDeploymentConfig(addOndDeployConfigName, clusterName)
@@ -764,7 +762,12 @@ func TestNewAgentAddon(t *testing.T) {
764762
for _, c := range cases {
765763
t.Run(c.name, func(t *testing.T) {
766764
fakeKubeClient := fakekube.NewSimpleClientset(c.kubeObjs...)
767-
fakeRuntimeClient := fakeruntime.NewClientBuilder().WithObjects(c.managedProxyConfigs...).Build()
765+
var fakeRuntimeClient runtimeclient.Client
766+
if c.managedProxyConfig == nil {
767+
fakeRuntimeClient = fakeruntime.NewClientBuilder().Build()
768+
} else {
769+
fakeRuntimeClient = fakeruntime.NewClientBuilder().WithObjects(c.managedProxyConfig).Build()
770+
}
768771
fakeAddonClient := fakeaddon.NewSimpleClientset(c.addOndDeploymentConfigs...)
769772

770773
agentAddOn, err := NewAgentAddon(

0 commit comments

Comments
 (0)