@@ -62,21 +62,22 @@ func decode(policyConfigFile string, policy []byte, client clientset.Interface,
62
62
if err != nil {
63
63
return nil , err
64
64
}
65
-
66
- setDefaults (* internalPolicy , registry , client )
67
-
68
- return internalPolicy , nil
65
+ return setDefaults (* internalPolicy , registry , client )
69
66
}
70
67
71
- func setDefaults (in api.DeschedulerPolicy , registry pluginregistry.Registry , client clientset.Interface ) * api.DeschedulerPolicy {
68
+ func setDefaults (in api.DeschedulerPolicy , registry pluginregistry.Registry , client clientset.Interface ) (* api.DeschedulerPolicy , error ) {
69
+ var err error
72
70
for idx , profile := range in .Profiles {
73
71
// If we need to set defaults coming from loadtime in each profile we do it here
74
- in .Profiles [idx ] = setDefaultEvictor (profile , client )
72
+ in .Profiles [idx ], err = setDefaultEvictor (profile , client )
73
+ if err != nil {
74
+ return nil , err
75
+ }
75
76
for _ , pluginConfig := range profile .PluginConfigs {
76
77
setDefaultsPluginConfig (& pluginConfig , registry )
77
78
}
78
79
}
79
- return & in
80
+ return & in , nil
80
81
}
81
82
82
83
func setDefaultsPluginConfig (pluginConfig * api.PluginConfig , registry pluginregistry.Registry ) {
@@ -97,7 +98,7 @@ func findPluginName(names []string, key string) bool {
97
98
return false
98
99
}
99
100
100
- func setDefaultEvictor (profile api.DeschedulerProfile , client clientset.Interface ) api.DeschedulerProfile {
101
+ func setDefaultEvictor (profile api.DeschedulerProfile , client clientset.Interface ) ( api.DeschedulerProfile , error ) {
101
102
newPluginConfig := api.PluginConfig {
102
103
Name : defaultevictor .PluginName ,
103
104
Args : & defaultevictor.DefaultEvictorArgs {
@@ -128,10 +129,11 @@ func setDefaultEvictor(profile api.DeschedulerProfile, client clientset.Interfac
128
129
thresholdPriority , err := utils .GetPriorityValueFromPriorityThreshold (context .TODO (), client , defaultevictorPluginConfig .Args .(* defaultevictor.DefaultEvictorArgs ).PriorityThreshold )
129
130
if err != nil {
130
131
klog .Error (err , "Failed to get threshold priority from args" )
132
+ return profile , err
131
133
}
132
134
profile .PluginConfigs [idx ].Args .(* defaultevictor.DefaultEvictorArgs ).PriorityThreshold = & api.PriorityThreshold {}
133
135
profile .PluginConfigs [idx ].Args .(* defaultevictor.DefaultEvictorArgs ).PriorityThreshold .Value = & thresholdPriority
134
- return profile
136
+ return profile , nil
135
137
}
136
138
137
139
func validateDeschedulerConfiguration (in api.DeschedulerPolicy , registry pluginregistry.Registry ) error {
0 commit comments