@@ -64,6 +64,55 @@ func TestCloudProviderAliases(t *testing.T) {
6464 assert .Contains (t , []string {"detector1" , "detector3" }, cloudprovider )
6565}
6666
67+ // TestCloudProviderAliasesSkipsKubeletDependentDetectorsOnCLCRunner ensures
68+ // that GetHostAliases never invokes the "kubelet" or "kubernetes" detectors
69+ // on a Cluster Checks Runner, since CCRs are Deployment replicas (not
70+ // DaemonSets) and can never reach a local kubelet.
71+ func TestCloudProviderAliasesSkipsKubeletDependentDetectorsOnCLCRunner (t * testing.T ) {
72+ origDetectors := hostAliasesDetectors
73+ defer func () { hostAliasesDetectors = origDetectors }()
74+
75+ config := configmock .New (t )
76+ config .SetInTest ("clc_runner_enabled" , true )
77+ config .SetInTest ("config_providers" , []map [string ]interface {}{{"name" : "clusterchecks" }})
78+
79+ kubeletCalled := false
80+ kubernetesDetectorCalled := false
81+ otherDetectorCalled := false
82+
83+ hostAliasesDetectors = []cloudProviderAliasesDetector {
84+ {
85+ name : "kubelet" ,
86+ callback : func (_ context.Context ) ([]string , error ) {
87+ kubeletCalled = true
88+ return []string {"kubelet-alias" }, nil
89+ },
90+ },
91+ {
92+ name : "kubernetes" ,
93+ callback : func (_ context.Context ) ([]string , error ) {
94+ kubernetesDetectorCalled = true
95+ return []string {"kubernetes-alias" }, nil
96+ },
97+ },
98+ {
99+ name : "other" ,
100+ isCloudEnv : true ,
101+ callback : func (_ context.Context ) ([]string , error ) {
102+ otherDetectorCalled = true
103+ return []string {"other-alias" }, nil
104+ },
105+ },
106+ }
107+
108+ aliases , cloudprovider := GetHostAliases (context .TODO ())
109+ assert .False (t , kubeletCalled , "kubelet host alias detector should be skipped on a Cluster Checks Runner" )
110+ assert .False (t , kubernetesDetectorCalled , "kubernetes host alias detector should be skipped on a Cluster Checks Runner" )
111+ assert .True (t , otherDetectorCalled , "non-kubelet-dependent host alias detectors should still run on a Cluster Checks Runner" )
112+ assert .Equal (t , []string {"other-alias" }, aliases )
113+ assert .Equal (t , "other" , cloudprovider )
114+ }
115+
67116func TestCloudProviderHostCCRID (t * testing.T ) {
68117 origDetectors := hostCCRIDDetectors
69118 defer func () { hostCCRIDDetectors = origDetectors }()
0 commit comments