Skip to content

Commit 6897e3e

Browse files
authored
fix(devbox): controller enqueue logic (#6465)
* fix: controller enqueue logic * feat(devbox): fix ci lint * feat(devbox): fix ci lint * feat(devbox): fix ci lint
1 parent 1d07cda commit 6897e3e

File tree

6 files changed

+308
-78
lines changed

6 files changed

+308
-78
lines changed

controllers/devbox/cmd/main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,8 @@ func main() {
326326
&corev1.Pod{}: {Label: cacheObjLabelSelector},
327327
&corev1.Secret{}: {Label: cacheObjLabelSelector},
328328
}
329+
// set sync period to 1 hour for devbox controller to reconcile all devboxes.
330+
opts.SyncPeriod = ptr.To(time.Hour)
329331
return cache.New(config, opts)
330332
},
331333
Controller: ctrlconfig.Controller{

controllers/devbox/internal/commit/commit.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,12 @@ func (c *CommitterImpl) forceGC(ctx context.Context) error {
486486
imageNames = append(imageNames, image.Name())
487487
}
488488
if len(imageNames) > 0 {
489-
if err := c.RemoveImages(ctx, imageNames, DefaultRemoveImageForce, DefaultRemoveImageAsync); err != nil {
489+
if err := c.RemoveImages(
490+
ctx,
491+
imageNames,
492+
DefaultRemoveImageForce,
493+
DefaultRemoveImageAsync,
494+
); err != nil {
490495
log.Printf("Failed to remove images, err: %v", err)
491496
return err
492497
}

controllers/devbox/internal/commit/commit_test.go

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,12 @@ func TestDeleteContainer(t *testing.T) {
8888
// create a container
8989
devboxName := fmt.Sprintf("test-devbox-%d", time.Now().Unix())
9090
var containerID string
91-
if containerID, err = committer.CreateContainer(ctx, devboxName, "test-content-id-789", baseImageAlpine); err != nil {
91+
if containerID, err = committer.CreateContainer(
92+
ctx,
93+
devboxName,
94+
"test-content-id-789",
95+
baseImageAlpine,
96+
); err != nil {
9297
t.Fatalf("CreateContainer failed: %v", err)
9398
}
9499

@@ -140,7 +145,12 @@ func TestRemoveContainer(t *testing.T) {
140145
// create a container
141146
devboxName := fmt.Sprintf("test-devbox-%d", time.Now().Unix())
142147
var containerID string
143-
if containerID, err = committer.CreateContainer(ctx, devboxName, "test-content-id-789", baseImageAlpine); err != nil {
148+
if containerID, err = committer.CreateContainer(
149+
ctx,
150+
devboxName,
151+
"test-content-id-789",
152+
baseImageAlpine,
153+
); err != nil {
144154
t.Fatalf("CreateContainer failed: %v", err)
145155
}
146156

@@ -190,7 +200,12 @@ func TestErrorCases(t *testing.T) {
190200
}
191201

192202
// test use not exist image to create container
193-
if _, err = committer.CreateContainer(ctx, "test-devbox", "test-content-id", "not-exist-image:latest"); err == nil {
203+
if _, err = committer.CreateContainer(
204+
ctx,
205+
"test-devbox",
206+
"test-content-id",
207+
"not-exist-image:latest",
208+
); err == nil {
194209
t.Fatalf("expected error when creating container with non-exist image")
195210
}
196211

@@ -278,7 +293,12 @@ func TestRuntimeSelection(t *testing.T) {
278293
contentID := "test-runtime-content-id"
279294

280295
var containerID string
281-
if containerID, err = committer.CreateContainer(ctx, devboxName, contentID, baseImageBusyBox); err != nil {
296+
if containerID, err = committer.CreateContainer(
297+
ctx,
298+
devboxName,
299+
contentID,
300+
baseImageBusyBox,
301+
); err != nil {
282302
t.Fatalf("CreateContainer failed: %v", err)
283303
}
284304
assert.NotEmpty(t, containerID)
@@ -335,7 +355,12 @@ func TestConnectionManagement(t *testing.T) {
335355
contentID := "903b3c87-1458-4dd8-b0f4-9da7184cf8ca"
336356
testImage := "ghcr.io/labring-actions/devbox/go-1.23.0:13aacd8"
337357
var containerID string
338-
if containerID, err = committer.CreateContainer(ctx, devboxName, contentID, testImage); err != nil {
358+
if containerID, err = committer.CreateContainer(
359+
ctx,
360+
devboxName,
361+
contentID,
362+
testImage,
363+
); err != nil {
339364
t.Fatalf("CreateContainer failed: %v", err)
340365
}
341366
assert.NotEmpty(t, containerID)
@@ -351,7 +376,12 @@ func TestConnectionManagement(t *testing.T) {
351376
}
352377

353378
// create container again
354-
if containerID, err = committer.CreateContainer(ctx, devboxName, contentID, testImage); err != nil {
379+
if containerID, err = committer.CreateContainer(
380+
ctx,
381+
devboxName,
382+
contentID,
383+
testImage,
384+
); err != nil {
355385
t.Fatalf("CreateContainer failed: %v", err)
356386
}
357387
assert.NotEmpty(t, containerID)
@@ -530,7 +560,12 @@ func TestAtomicLabels(t *testing.T) {
530560
devboxName := fmt.Sprintf("test-atomic-%d", time.Now().Unix())
531561
contentID := fmt.Sprintf("test-atomic-content-%d", time.Now().Unix())
532562
var containerID string
533-
if containerID, err = committer.CreateContainer(ctx, devboxName, contentID, baseImageBusyBox); err != nil {
563+
if containerID, err = committer.CreateContainer(
564+
ctx,
565+
devboxName,
566+
contentID,
567+
baseImageBusyBox,
568+
); err != nil {
534569
t.Fatalf("CreateContainer failed: %v", err)
535570
}
536571

0 commit comments

Comments
 (0)