@@ -354,7 +354,7 @@ func BuildSUT(client *kubernetes.Clientset, s *config.PerfScenarios) error {
354
354
}
355
355
if z != "" && numNodes > 1 {
356
356
cdp .NodeAffinity = corev1.NodeAffinity {
357
- PreferredDuringSchedulingIgnoredDuringExecution : zoneNodeSelectorExpression (z , "client" ),
357
+ PreferredDuringSchedulingIgnoredDuringExecution : zoneNodeSelectorExpression (* client , z , "client" ),
358
358
}
359
359
}
360
360
@@ -440,7 +440,7 @@ func BuildSUT(client *kubernetes.Clientset, s *config.PerfScenarios) error {
440
440
if z != "" {
441
441
if numNodes > 1 {
442
442
cdpAcross .NodeAffinity = corev1.NodeAffinity {
443
- PreferredDuringSchedulingIgnoredDuringExecution : zoneNodeSelectorExpression (z , "client" ),
443
+ PreferredDuringSchedulingIgnoredDuringExecution : zoneNodeSelectorExpression (* client , z , "client" ),
444
444
RequiredDuringSchedulingIgnoredDuringExecution : workerNodeSelectorExpression ,
445
445
}
446
446
} else {
@@ -468,7 +468,7 @@ func BuildSUT(client *kubernetes.Clientset, s *config.PerfScenarios) error {
468
468
if ncount > 1 {
469
469
if s .HostNetwork {
470
470
cdpHostAcross .NodeAffinity = corev1.NodeAffinity {
471
- PreferredDuringSchedulingIgnoredDuringExecution : zoneNodeSelectorExpression (z , "client" ),
471
+ PreferredDuringSchedulingIgnoredDuringExecution : zoneNodeSelectorExpression (* client , z , "client" ),
472
472
RequiredDuringSchedulingIgnoredDuringExecution : workerNodeSelectorExpression ,
473
473
}
474
474
cdpHostAcross .PodAntiAffinity = corev1.PodAntiAffinity {
@@ -533,9 +533,9 @@ func BuildSUT(client *kubernetes.Clientset, s *config.PerfScenarios) error {
533
533
if z != "" {
534
534
var affinity corev1.NodeAffinity
535
535
if numNodes > 1 {
536
- nodeZone := zoneNodeSelectorExpression (z , "server" )
536
+ nodeZone := zoneNodeSelectorExpression (* client , z , "server" )
537
537
if s .AcrossAZ {
538
- nodeZone = zoneNodeSelectorExpression (acrossZone , "server" )
538
+ nodeZone = zoneNodeSelectorExpression (* client , acrossZone , "server" )
539
539
}
540
540
affinity = corev1.NodeAffinity {
541
541
PreferredDuringSchedulingIgnoredDuringExecution : nodeZone ,
@@ -717,8 +717,9 @@ func launchClientVM(perf *config.PerfScenarios, name string, podAff *corev1.PodA
717
717
return nil
718
718
}
719
719
720
- func zoneNodeSelectorExpression (zone string , role string ) []corev1.PreferredSchedulingTerm {
721
- if zone != "" {
720
+ func zoneNodeSelectorExpression (c kubernetes.Clientset , zone string , role string ) []corev1.PreferredSchedulingTerm {
721
+ labeled := areNodesLabeled (& c )
722
+ if labeled != true && zone != "" {
722
723
return []corev1.PreferredSchedulingTerm {
723
724
{
724
725
Weight : 100 ,
@@ -739,7 +740,6 @@ func zoneNodeSelectorExpression(zone string, role string) []corev1.PreferredSche
739
740
{Key : "netperf" , Operator : corev1 .NodeSelectorOpIn , Values : []string {role }},
740
741
},
741
742
},
742
-
743
743
},
744
744
}
745
745
}
@@ -787,6 +787,17 @@ func WaitForReady(c *kubernetes.Clientset, dp DeploymentParams) (bool, error) {
787
787
return false , fmt .Errorf ("❌ Deployment had issues" )
788
788
}
789
789
790
+ func areNodesLabeled (c * kubernetes.Clientset ) bool {
791
+ nodes , err := c .CoreV1 ().Nodes ().List (context .TODO (), metav1.ListOptions {LabelSelector : "netperf=server,netperf=client" })
792
+ if err != nil {
793
+ log .Errorf ("Unable to query nodes: %v" , err )
794
+ }
795
+ if len (nodes .Items ) == 0 {
796
+ return false
797
+ }
798
+ return true
799
+ }
800
+
790
801
// WaitForDelete return nil if the namespace is deleted, error otherwise
791
802
func waitForNamespaceDelete (c * kubernetes.Clientset , nsName string ) error {
792
803
log .Infof ("⏰ Waiting for %s Namespace to be deleted..." , nsName )
0 commit comments