MCPcopy
hub / github.com/fluid-cloudnative/fluid / checkWorkerAffinity

Method checkWorkerAffinity

pkg/ctrl/affinity.go:29–53  ·  view source on GitHub ↗
(workers *appsv1.StatefulSet)

Source from the content-addressed store, hash-verified

27)
28
29func (e *Helper) checkWorkerAffinity(workers *appsv1.StatefulSet) (found bool) {
30
31 if workers.Spec.Template.Spec.Affinity == nil {
32 return
33 }
34
35 if workers.Spec.Template.Spec.Affinity.NodeAffinity == nil {
36 return
37 }
38
39 if len(workers.Spec.Template.Spec.Affinity.NodeAffinity.PreferredDuringSchedulingIgnoredDuringExecution) == 0 {
40 return
41 }
42
43 for _, preferred := range workers.Spec.Template.Spec.Affinity.NodeAffinity.PreferredDuringSchedulingIgnoredDuringExecution {
44 for _, term := range preferred.Preference.MatchExpressions {
45 if term.Key == e.runtimeInfo.GetFuseLabelName() {
46 found = true
47 return
48 }
49 }
50 }
51
52 return
53}
54
55// BuildWorkersAffinity builds workers affinity if it doesn't have
56func (e *Helper) BuildWorkersAffinity(workers *appsv1.StatefulSet) (workersToUpdate *appsv1.StatefulSet, err error) {

Callers 2

BuildWorkersAffinityMethod · 0.95
TestCheckWorkerAffinityFunction · 0.80

Calls 1

GetFuseLabelNameMethod · 0.65

Tested by 1

TestCheckWorkerAffinityFunction · 0.64