Skip to content

Commit a5e5fdb

Browse files
detiberk8s-ci-robot
authored andcommitted
Add events to MachineDeployment operations (kubernetes-sigs#1014)
1 parent 9cd85f7 commit a5e5fdb

File tree

3 files changed

+21
-7
lines changed

3 files changed

+21
-7
lines changed

pkg/controller/machinedeployment/machinedeployment_controller.go

+2
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,11 @@ func (r *ReconcileMachineDeployment) getMachineSetsForDeployment(d *v1alpha1.Mac
276276
// Attempt to adopt machine if it meets previous conditions and it has no controller references.
277277
if metav1.GetControllerOf(ms) == nil {
278278
if err := r.adoptOrphan(d, ms); err != nil {
279+
r.recorder.Eventf(d, corev1.EventTypeWarning, "FailedAdopt", "Failed to adopt MachineSet %q: %v", ms.Name, err)
279280
klog.Warningf("Failed to adopt MachineSet %q into MachineDeployment %q: %v", ms.Name, d.Name, err)
280281
continue
281282
}
283+
r.recorder.Eventf(d, corev1.EventTypeNormal, "SuccessfulAdopt", "Adopted MachineSet %q", ms.Name)
282284
}
283285

284286
if !metav1.IsControlledBy(ms, d) {

pkg/controller/machinedeployment/machinedeployment_controller_test.go

+10-6
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222

2323
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2424
"k8s.io/client-go/kubernetes/scheme"
25+
"k8s.io/client-go/tools/record"
2526
"sigs.k8s.io/cluster-api/pkg/apis/cluster/v1alpha1"
2627
"sigs.k8s.io/controller-runtime/pkg/client"
2728
"sigs.k8s.io/controller-runtime/pkg/client/fake"
@@ -132,8 +133,9 @@ func TestMachineSetToDeployments(t *testing.T) {
132133

133134
v1alpha1.AddToScheme(scheme.Scheme)
134135
r := &ReconcileMachineDeployment{
135-
Client: fake.NewFakeClient(&ms1, &ms2, &ms3, machineDeplopymentList),
136-
scheme: scheme.Scheme,
136+
Client: fake.NewFakeClient(&ms1, &ms2, &ms3, machineDeplopymentList),
137+
scheme: scheme.Scheme,
138+
recorder: record.NewFakeRecorder(32),
137139
}
138140

139141
for _, tc := range testsCases {
@@ -206,8 +208,9 @@ func TestGetMachineDeploymentsForMachineSet(t *testing.T) {
206208
}
207209
v1alpha1.AddToScheme(scheme.Scheme)
208210
r := &ReconcileMachineDeployment{
209-
Client: fake.NewFakeClient(&ms1, &ms2, machineDeplopymentList),
210-
scheme: scheme.Scheme,
211+
Client: fake.NewFakeClient(&ms1, &ms2, machineDeplopymentList),
212+
scheme: scheme.Scheme,
213+
recorder: record.NewFakeRecorder(32),
211214
}
212215

213216
for _, tc := range testCases {
@@ -327,8 +330,9 @@ func TestGetMachineSetsForDeployment(t *testing.T) {
327330

328331
v1alpha1.AddToScheme(scheme.Scheme)
329332
r := &ReconcileMachineDeployment{
330-
Client: fake.NewFakeClient(machineSetList),
331-
scheme: scheme.Scheme,
333+
Client: fake.NewFakeClient(machineSetList),
334+
scheme: scheme.Scheme,
335+
recorder: record.NewFakeRecorder(32),
332336
}
333337
for _, tc := range testCases {
334338
got, err := r.getMachineSetsForDeployment(&tc.machineDeployment)

pkg/controller/machinedeployment/sync.go

+9-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"strconv"
2525

2626
"github.com/pkg/errors"
27+
corev1 "k8s.io/api/core/v1"
2728
"k8s.io/apimachinery/pkg/api/equality"
2829
apierrors "k8s.io/apimachinery/pkg/api/errors"
2930
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -200,11 +201,13 @@ func (r *ReconcileMachineDeployment) getNewMachineSet(d *clusterv1alpha1.Machine
200201
return nil, err
201202
case err != nil:
202203
klog.V(4).Infof("Failed to create new machine set %q: %v", newMS.Name, err)
204+
r.recorder.Eventf(d, corev1.EventTypeWarning, "FailedCreate", "Failed to create MachineSet %q: %v", newMS.Name, err)
203205
return nil, err
204206
}
205207

206208
if !alreadyExists {
207209
klog.V(4).Infof("Created new machine set %q", createdMS.Name)
210+
r.recorder.Eventf(d, corev1.EventTypeNormal, "SuccessfulCreate", "Created MachineSet %q", newMS.Name)
208211
}
209212

210213
err = r.updateMachineDeployment(d, func(innerDeployment *clusterv1alpha1.MachineDeployment) {
@@ -408,8 +411,11 @@ func (r *ReconcileMachineDeployment) scaleMachineSetOperation(ms *clusterv1alpha
408411
dutil.SetReplicasAnnotations(ms, *(deployment.Spec.Replicas), *(deployment.Spec.Replicas)+dutil.MaxSurge(*deployment))
409412

410413
err = r.Update(context.Background(), ms)
411-
if err == nil && sizeNeedsUpdate {
414+
if err != nil {
415+
r.recorder.Eventf(deployment, corev1.EventTypeWarning, "FailedScale", "Failed to scale MachineSet %q: %v", ms.Name, err)
416+
} else if sizeNeedsUpdate {
412417
scaled = true
418+
r.recorder.Eventf(deployment, corev1.EventTypeNormal, "SuccessfulScale", "Scaled %d MachineSet %q to %d", scaleOperation, ms.Name, newScale)
413419
}
414420
}
415421

@@ -454,8 +460,10 @@ func (r *ReconcileMachineDeployment) cleanupDeployment(oldMSs []*clusterv1alpha1
454460
if err := r.Delete(context.Background(), ms); err != nil && !apierrors.IsNotFound(err) {
455461
// Return error instead of aggregating and continuing DELETEs on the theory
456462
// that we may be overloading the api server.
463+
r.recorder.Eventf(deployment, corev1.EventTypeWarning, "FailedDelete", "Failed to delete MachineSet %q: %v", ms.Name, err)
457464
return err
458465
}
466+
r.recorder.Eventf(deployment, corev1.EventTypeNormal, "SuccessfulDelete", "Deleted MachineSet %q", ms.Name)
459467
}
460468

461469
return nil

0 commit comments

Comments
 (0)