Skip to content

Commit 094078c

Browse files
committed
wip
1 parent ab4ebe7 commit 094078c

8 files changed

Lines changed: 98 additions & 76 deletions

config/rbac/role.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ rules:
5252
- delete
5353
- get
5454
- list
55-
- update
55+
- patch
5656
- watch
5757
- apiGroups:
5858
- actions.github.com
@@ -167,5 +167,5 @@ rules:
167167
- delete
168168
- get
169169
- list
170-
- update
170+
- patch
171171
- watch

controllers/actions.github.com/autoscalinglistener_controller.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ type AutoscalingListenerReconciler struct {
6262

6363
// +kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;watch;create;update;patch;delete
6464
// +kubebuilder:rbac:groups=core,resources=pods/status,verbs=get
65-
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch;create;update
66-
// +kubebuilder:rbac:groups=core,resources=serviceaccounts,verbs=get;list;watch;create;update
67-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=roles,verbs=create;delete;get;list;watch;update
68-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=rolebindings,verbs=create;delete;get;list;watch;update
65+
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch;create;patch
66+
// +kubebuilder:rbac:groups=core,resources=serviceaccounts,verbs=get;list;watch;create;patch
67+
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=roles,verbs=create;delete;get;list;watch;patch
68+
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=rolebindings,verbs=create;delete;get;list;watch;patch
6969
// +kubebuilder:rbac:groups=actions.github.com,resources=autoscalinglisteners,verbs=get;list;watch;create;update;patch;delete
7070
// +kubebuilder:rbac:groups=actions.github.com,resources=autoscalinglisteners/status,verbs=get;update;patch
7171
// +kubebuilder:rbac:groups=actions.github.com,resources=autoscalinglisteners/finalizers,verbs=update
@@ -178,7 +178,7 @@ func (r *AutoscalingListenerReconciler) Reconcile(ctx context.Context, req ctrl.
178178
if shouldUpdate {
179179
log.Info("Updating listener service account")
180180

181-
if err := r.Update(ctx, updatedServiceAccount); err != nil {
181+
if err := r.Patch(ctx, updatedServiceAccount, client.MergeFrom(&serviceAccount)); err != nil {
182182
log.Error(err, "Failed to update listener service account")
183183
return ctrl.Result{}, err
184184
}
@@ -225,7 +225,7 @@ func (r *AutoscalingListenerReconciler) Reconcile(ctx context.Context, req ctrl.
225225
}
226226
if shouldUpdate {
227227
log.Info("Updating listener role")
228-
if err := r.Update(ctx, updatedRole); err != nil {
228+
if err := r.Patch(ctx, updatedRole, client.MergeFrom(&listenerRole)); err != nil {
229229
log.Error(err, "Failed to update listener role")
230230
return ctrl.Result{}, err
231231
}
@@ -264,7 +264,7 @@ func (r *AutoscalingListenerReconciler) Reconcile(ctx context.Context, req ctrl.
264264
}
265265
if shouldUpdate {
266266
log.Info("Updating listener role binding")
267-
if err := r.Update(ctx, updatedRoleBinding); err != nil {
267+
if err := r.Patch(ctx, updatedRoleBinding, client.MergeFrom(&listenerRoleBinding)); err != nil {
268268
log.Error(err, "Failed to update listener role binding")
269269
return ctrl.Result{}, err
270270
}
@@ -320,7 +320,7 @@ func (r *AutoscalingListenerReconciler) Reconcile(ctx context.Context, req ctrl.
320320
}
321321
if shouldUpdate {
322322
log.Info("Updating listener proxy secret")
323-
if err := r.Update(ctx, updatedProxySecret); err != nil {
323+
if err := r.Patch(ctx, updatedProxySecret, client.MergeFrom(&proxySecret)); err != nil {
324324
log.Error(err, "Failed to update listener proxy secret")
325325
return ctrl.Result{}, err
326326
}
@@ -408,7 +408,7 @@ func (r *AutoscalingListenerReconciler) Reconcile(ctx context.Context, req ctrl.
408408

409409
if shouldUpdate {
410410
log.Info("Updating listener config secret", "namespace", updatedSecret.Namespace, "name", updatedSecret.Name)
411-
if err := r.Update(ctx, updatedSecret); err != nil {
411+
if err := r.Patch(ctx, updatedSecret, client.MergeFrom(&listenerConfigSecret)); err != nil {
412412
return ctrl.Result{}, fmt.Errorf("failed to update listener config secret: %w", err)
413413
}
414414
return ctrl.Result{Requeue: true}, nil
@@ -501,7 +501,7 @@ func (r *AutoscalingListenerReconciler) Reconcile(ctx context.Context, req ctrl.
501501

502502
if shouldUpdate {
503503
log.Info("Updating listener pod", "namespace", updatedPod.Namespace, "name", updatedPod.Name)
504-
if err := r.Update(ctx, updatedPod); err != nil {
504+
if err := r.Patch(ctx, updatedPod, client.MergeFrom(&listenerPod)); err != nil {
505505
log.Error(err, "Unable to update listener pod", "namespace", updatedPod.Namespace, "name", updatedPod.Name)
506506
return ctrl.Result{}, err
507507
}

controllers/actions.github.com/autoscalinglistener_controller_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ var _ = Describe("Test AutoScalingListener controller", func() {
516516
},
517517
},
518518
}
519-
err := k8sClient.Status().Update(ctx, updated)
519+
err := k8sClient.Status().Patch(ctx, updated, client.MergeFrom(pod))
520520
Expect(err).NotTo(HaveOccurred(), "failed to update test pod")
521521

522522
// Waiting for the new pod is created
@@ -785,7 +785,7 @@ var _ = Describe("Test AutoScalingListener customization", func() {
785785
},
786786
},
787787
}
788-
err := k8sClient.Status().Update(ctx, updated)
788+
err := k8sClient.Status().Patch(ctx, updated, client.MergeFrom(pod))
789789
Expect(err).NotTo(HaveOccurred(), "failed to update pod status")
790790

791791
pod = new(corev1.Pod)
@@ -831,7 +831,7 @@ var _ = Describe("Test AutoScalingListener customization", func() {
831831
updated := pod.DeepCopy()
832832
oldPodUID := string(pod.UID)
833833
updated.Status.Reason = "Evicted"
834-
err := k8sClient.Status().Update(ctx, updated)
834+
err := k8sClient.Status().Patch(ctx, updated, client.MergeFrom(pod))
835835
Expect(err).NotTo(HaveOccurred(), "failed to update pod status")
836836

837837
pod = new(corev1.Pod)

controllers/actions.github.com/autoscalingrunnerset_controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,10 +361,11 @@ func (r *AutoscalingRunnerSetReconciler) Reconcile(ctx context.Context, req ctrl
361361
!maps.Equal(listener.Labels, desired.Labels) ||
362362
!r.annotationsEqual(listener.Annotations, desired.Annotations) {
363363
log.Info("Updating listener")
364+
original := listener.DeepCopy()
364365
listener.Spec = desired.Spec
365366
listener.Annotations = r.filterAndMergeAnnotations(listener.Annotations, desired.Annotations)
366367
listener.Labels = r.filterAndMergeLabels(listener.Labels, desired.Labels)
367-
if err := r.Update(ctx, &listener); err != nil {
368+
if err := r.Patch(ctx, &listener, client.MergeFrom(original)); err != nil {
368369
log.Error(err, "Failed to update AutoscalingListener with new spec")
369370
return ctrl.Result{}, err
370371
}

controllers/actions.github.com/autoscalingrunnerset_controller_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1227,8 +1227,9 @@ var _ = Describe("Test AutoscalingController creation failures", Ordered, func()
12271227
autoscalingRunnerSetTestInterval,
12281228
).Should(BeEquivalentTo(autoscalingRunnerSetFinalizerName), "AutoScalingRunnerSet should have a finalizer")
12291229

1230-
ars.Annotations = make(map[string]string)
1231-
err = k8sClient.Update(ctx, ars)
1230+
updated := ars.DeepCopy()
1231+
updated.Annotations = make(map[string]string)
1232+
err = k8sClient.Patch(ctx, updated, client.MergeFrom(ars))
12321233
Expect(err).NotTo(HaveOccurred(), "Update autoscaling runner set without annotation should be successful")
12331234

12341235
Eventually(

0 commit comments

Comments
 (0)