@@ -122,7 +122,6 @@ func (r *PodReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.R
122
122
}
123
123
}
124
124
log .Info (fmt .Sprint (SumPodRequest ))
125
- log .Info (fmt .Sprint (SumPodRequest .TimeSinceFirstSample , ">" , r .MinSecondsBetweenPodRestart ))
126
125
if (SumPodRequest .Sample >= r .SampleSize ) && (SumPodRequest .TimeSinceFirstSample >= r .MinSecondsBetweenPodRestart ) {
127
126
log .Info ("Sample Size and Minimum Time have been reached" )
128
127
PodChange := false
@@ -139,21 +138,21 @@ func (r *PodReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.R
139
138
log .Info (fmt .Sprint ("Comparing CPU: " , fmt .Sprintf ("%dm" , AverageUsageCPU ), " <> " , fmt .Sprintf ("%dm" , currentC .CPU )))
140
139
log .Info (fmt .Sprint ("Comparing Memory: " , fmt .Sprintf ("%dMi" , AverageUsageMemory ), " <> " , fmt .Sprintf ("%dMi" , currentC .Memory )))
141
140
// if AverageUsageCPU < currentC.CPU {
142
- if AverageUsageCPU > 0 {
141
+ if r . ValidateCPU ( currentC . CPU , AverageUsageCPU ) {
143
142
if pod .Spec .Containers [i ].Resources .Requests != nil {
144
143
pod .Spec .Containers [i ].Resources .Requests [v1 .ResourceCPU ] = resource .MustParse (fmt .Sprintf ("%dm" , AverageUsageCPU ))
145
144
PodChange = true
146
145
}
147
146
}
148
147
// }
149
- // if AverageUsageMemory < currentC.Memory {
150
- if AverageUsageMemory > 0 {
151
- if pod .Spec .Containers [i ].Resources .Requests != nil {
152
- pod .Spec .Containers [i ].Resources .Requests [v1 .ResourceMemory ] = resource .MustParse (fmt .Sprintf ("%dMi" , AverageUsageMemory ))
153
- PodChange = true
148
+ if r .ValidateMemory (currentC .Memory , AverageUsageMemory ) {
149
+ if AverageUsageMemory > 0 {
150
+ if pod .Spec .Containers [i ].Resources .Requests != nil {
151
+ pod .Spec .Containers [i ].Resources .Requests [v1 .ResourceMemory ] = resource .MustParse (fmt .Sprintf ("%dMi" , AverageUsageMemory ))
152
+ PodChange = true
153
+ }
154
154
}
155
155
}
156
- // }
157
156
Requests = append (Requests , NewContainerRequests {Name : c .Name , Requests : pod .Spec .Containers [i ].Resources })
158
157
}
159
158
}
@@ -170,7 +169,6 @@ func (r *PodReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.R
170
169
}
171
170
172
171
var ownerName string
173
-
174
172
switch pod .OwnerReferences [0 ].Kind {
175
173
case "ReplicaSet" :
176
174
replica , err := r .ClientSet .AppsV1 ().ReplicaSets (pod .Namespace ).Get (ctx , pod .OwnerReferences [0 ].Name , metav1.GetOptions {})
@@ -187,7 +185,9 @@ func (r *PodReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.R
187
185
log .Error (err , err .Error ())
188
186
return ctrl.Result {}, err
189
187
}
190
- UpdatePodController (deployment , Requests , ctx )
188
+ UpdatePodController (& deployment .Spec .Template .Spec , Requests , ctx )
189
+ deployment .Annotations ["auto.request.operator/changed" ] = "true"
190
+
191
191
return r .UpdateKubeObject (deployment , ctx )
192
192
} else {
193
193
log .Info ("Is Owned by Unknown CRD" )
@@ -202,7 +202,8 @@ func (r *PodReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.R
202
202
log .Error (err , err .Error ())
203
203
return ctrl.Result {}, err
204
204
}
205
- UpdatePodController (deployment , Requests , ctx )
205
+ UpdatePodController (& deployment .Spec .Template .Spec , Requests , ctx )
206
+ deployment .Annotations ["auto.request.operator/changed" ] = "true"
206
207
return r .UpdateKubeObject (deployment , ctx )
207
208
case "StatefulSet" :
208
209
log .Info ("Is Owned by StatefulSet" )
@@ -214,7 +215,8 @@ func (r *PodReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.R
214
215
return ctrl.Result {}, err
215
216
}
216
217
217
- UpdatePodController (deployment , Requests , ctx )
218
+ UpdatePodController (& deployment .Spec .Template .Spec , Requests , ctx )
219
+ deployment .Annotations ["auto.request.operator/changed" ] = "true"
218
220
return r .UpdateKubeObject (deployment , ctx )
219
221
default :
220
222
fmt .Printf ("Could not find resource manager for type %s\n " , pod .OwnerReferences [0 ].Kind )
0 commit comments