Skip to content

Commit a9b0e9a

Browse files
committed
Fix DVM/DVMP hotlooping, remove remote watch TouchAnnotation, fix requeue times
Remove predicate Remove leftover log Move default PollReQ setting for better locality Remove redundant requeue Back out explicit requeue
1 parent 7149577 commit a9b0e9a

File tree

7 files changed

+37
-25
lines changed

7 files changed

+37
-25
lines changed

pkg/apis/migration/v1alpha1/directvolumemigrationprogress_types.go

-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ limitations under the License.
1717
package v1alpha1
1818

1919
import (
20-
"github.com/google/uuid"
2120
kapi "k8s.io/api/core/v1"
2221
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2322
)
@@ -64,11 +63,9 @@ type DirectVolumeMigrationProgress struct {
6463
}
6564

6665
func (d *DirectVolumeMigrationProgress) MarkReconciled() {
67-
u, _ := uuid.NewUUID()
6866
if d.Annotations == nil {
6967
d.Annotations = map[string]string{}
7068
}
71-
d.Annotations[TouchAnnotation] = u.String()
7269
d.Status.ObservedDigest = digest(d.Spec)
7370
}
7471

pkg/apis/migration/v1alpha1/resource.go

-6
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,9 @@ func (r *DirectVolumeMigration) GetName() string {
167167
}
168168

169169
func (r *DirectVolumeMigration) MarkReconciled() {
170-
uuid, _ := uuid.NewUUID()
171170
if r.Annotations == nil {
172171
r.Annotations = map[string]string{}
173172
}
174-
r.Annotations[TouchAnnotation] = uuid.String()
175173
r.Status.ObservedDigest = digest(r.Spec)
176174
}
177175

@@ -269,11 +267,9 @@ func (r *DirectImageMigration) GetName() string {
269267
}
270268

271269
func (r *DirectImageMigration) MarkReconciled() {
272-
uuid, _ := uuid.NewUUID()
273270
if r.Annotations == nil {
274271
r.Annotations = map[string]string{}
275272
}
276-
r.Annotations[TouchAnnotation] = uuid.String()
277273
r.Status.ObservedDigest = digest(r.Spec)
278274
}
279275

@@ -303,11 +299,9 @@ func (r *DirectImageStreamMigration) GetName() string {
303299
}
304300

305301
func (r *DirectImageStreamMigration) MarkReconciled() {
306-
uuid, _ := uuid.NewUUID()
307302
if r.Annotations == nil {
308303
r.Annotations = map[string]string{}
309304
}
310-
r.Annotations[TouchAnnotation] = uuid.String()
311305
r.Status.ObservedDigest = digest(r.Spec)
312306
}
313307

pkg/controller/directimagemigration/directimagemigration_controller.go

+11-3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package directimagemigration
1818

1919
import (
2020
"context"
21+
"time"
2122

2223
"github.com/konveyor/controller/pkg/logging"
2324
migapi "github.com/konveyor/mig-controller/pkg/apis/migration/v1alpha1"
@@ -120,7 +121,7 @@ func (r *ReconcileDirectImageMigration) Reconcile(request reconcile.Request) (re
120121
return reconcile.Result{}, nil
121122
}
122123
// Error reading the object - requeue the request.
123-
return reconcile.Result{}, err
124+
return reconcile.Result{Requeue: true}, err
124125
}
125126

126127
// Completed.
@@ -138,8 +139,11 @@ func (r *ReconcileDirectImageMigration) Reconcile(request reconcile.Request) (re
138139
return reconcile.Result{Requeue: true}, nil
139140
}
140141

142+
// Default to PollReQ, can be overridden by r.migrate phase-specific ReQ interval
143+
requeueAfter := time.Duration(PollReQ)
144+
141145
if !imageMigration.Status.HasBlockerCondition() {
142-
_, err = r.migrate(imageMigration)
146+
requeueAfter, err = r.migrate(imageMigration)
143147
if err != nil {
144148
log.Trace(err)
145149
return reconcile.Result{Requeue: true}, nil
@@ -163,6 +167,10 @@ func (r *ReconcileDirectImageMigration) Reconcile(request reconcile.Request) (re
163167
return reconcile.Result{Requeue: true}, nil
164168
}
165169

166-
// Done
170+
// Requeue
171+
if requeueAfter > 0 {
172+
return reconcile.Result{RequeueAfter: requeueAfter}, nil
173+
}
174+
167175
return reconcile.Result{}, nil
168176
}

pkg/controller/directimagestreammigration/directimagestreammigration_controller.go

+11-3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package directimagestreammigration
1818

1919
import (
2020
"context"
21+
"time"
2122

2223
"github.com/konveyor/controller/pkg/logging"
2324
migapi "github.com/konveyor/mig-controller/pkg/apis/migration/v1alpha1"
@@ -111,7 +112,7 @@ func (r *ReconcileDirectImageStreamMigration) Reconcile(request reconcile.Reques
111112
return reconcile.Result{}, nil
112113
}
113114
// Error reading the object - requeue the request.
114-
return reconcile.Result{}, err
115+
return reconcile.Result{Requeue: true}, err
115116
}
116117

117118
// Completed.
@@ -129,8 +130,11 @@ func (r *ReconcileDirectImageStreamMigration) Reconcile(request reconcile.Reques
129130
return reconcile.Result{Requeue: true}, nil
130131
}
131132

133+
// Default to PollReQ, can be overridden by r.migrate phase-specific ReQ interval
134+
requeueAfter := time.Duration(PollReQ)
135+
132136
if !imageStreamMigration.Status.HasBlockerCondition() {
133-
_, err = r.migrate(imageStreamMigration)
137+
requeueAfter, err = r.migrate(imageStreamMigration)
134138
if err != nil {
135139
log.Trace(err)
136140
return reconcile.Result{Requeue: true}, nil
@@ -154,6 +158,10 @@ func (r *ReconcileDirectImageStreamMigration) Reconcile(request reconcile.Reques
154158
return reconcile.Result{Requeue: true}, nil
155159
}
156160

157-
// Done
161+
// Requeue
162+
if requeueAfter > 0 {
163+
return reconcile.Result{RequeueAfter: requeueAfter}, nil
164+
}
165+
158166
return reconcile.Result{}, nil
159167
}

pkg/controller/directvolumemigration/directvolumemigration_controller.go

+11-2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package directvolumemigration
1818

1919
import (
2020
"context"
21+
"time"
2122

2223
"github.com/konveyor/controller/pkg/logging"
2324
migrationv1alpha1 "github.com/konveyor/mig-controller/pkg/apis/migration/v1alpha1"
@@ -101,7 +102,7 @@ func (r *ReconcileDirectVolumeMigration) Reconcile(request reconcile.Request) (r
101102
return reconcile.Result{}, nil
102103
}
103104
// Error reading the object - requeue the request.
104-
return reconcile.Result{}, err
105+
return reconcile.Result{Requeue: true}, err
105106
}
106107

107108
// Set values
@@ -122,8 +123,11 @@ func (r *ReconcileDirectVolumeMigration) Reconcile(request reconcile.Request) (r
122123
return reconcile.Result{Requeue: true}, nil
123124
}
124125

126+
// Default to PollReQ, can be overridden by r.migrate phase-specific ReQ interval
127+
requeueAfter := time.Duration(PollReQ)
128+
125129
if !direct.Status.HasBlockerCondition() {
126-
_, err = r.migrate(direct)
130+
requeueAfter, err = r.migrate(direct)
127131
if err != nil {
128132
log.Trace(err)
129133
return reconcile.Result{Requeue: true}, nil
@@ -147,6 +151,11 @@ func (r *ReconcileDirectVolumeMigration) Reconcile(request reconcile.Request) (r
147151
return reconcile.Result{Requeue: true}, nil
148152
}
149153

154+
// Requeue
155+
if requeueAfter > 0 {
156+
return reconcile.Result{RequeueAfter: requeueAfter}, nil
157+
}
158+
150159
// Done
151160
return reconcile.Result{}, nil
152161
}

pkg/controller/directvolumemigrationprogress/directvolumemigrationprogress_controller.go

-4
Original file line numberDiff line numberDiff line change
@@ -170,10 +170,6 @@ func (r *ReconcileDirectVolumeMigrationProgress) Reconcile(request reconcile.Req
170170
return reconcile.Result{Requeue: true}, nil
171171
}
172172

173-
if !pvProgress.Status.IsReady() {
174-
return reconcile.Result{Requeue: true}, nil
175-
}
176-
177173
// we will requeue this every 5 seconds
178174
return reconcile.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil
179175
}

pkg/controller/migmigration/migmigration_controller.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ func (r *ReconcileMigMigration) Reconcile(request reconcile.Request) (reconcile.
155155
if err != nil {
156156
if errors.IsNotFound(err) {
157157
err = r.deleted()
158-
return reconcile.Result{Requeue: false}, nil
158+
return reconcile.Result{}, nil
159159
}
160160
log.Info("Error getting migmigration for reconcile, requeueing.")
161161
log.Trace(err)
@@ -203,9 +203,6 @@ func (r *ReconcileMigMigration) Reconcile(request reconcile.Request) (reconcile.
203203
return reconcile.Result{Requeue: true}, err
204204
}
205205

206-
// Re-queue (after) in seconds.
207-
requeueAfter := time.Duration(PollReQ)
208-
209206
// Begin staging conditions.
210207
migration.Status.BeginStagingConditions()
211208

@@ -217,6 +214,9 @@ func (r *ReconcileMigMigration) Reconcile(request reconcile.Request) (reconcile.
217214
return reconcile.Result{Requeue: true}, nil
218215
}
219216

217+
// Default to PollReQ, can be overridden by r.postpone() or r.migrate()
218+
requeueAfter := time.Duration(PollReQ)
219+
220220
// Ensure that migrations run serially ordered by when created
221221
// and grouped with stage migrations followed by final migrations.
222222
// Reconcile of a migration not in the desired order will be postponed.

0 commit comments

Comments
 (0)