Skip to content

Commit

Permalink
Merge pull request #120056 from ruiwen-zhao/automated-cherry-pick-of-…
Browse files Browse the repository at this point in the history
…#119986-upstream-release-1.25

Automated cherry pick of #119986: Pass Pinned field to kubecontainer.Image
  • Loading branch information
k8s-ci-robot committed Aug 30, 2023
2 parents ad9995e + 5086223 commit f4a9baf
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 0 deletions.
1 change: 1 addition & 0 deletions pkg/kubelet/kuberuntime/kuberuntime_image.go
Expand Up @@ -109,6 +109,7 @@ func (m *kubeGenericRuntimeManager) ListImages() ([]kubecontainer.Image, error)
RepoTags: img.RepoTags,
RepoDigests: img.RepoDigests,
Spec: toKubeContainerImageSpec(img),
Pinned: img.Pinned,
})
}

Expand Down
23 changes: 23 additions & 0 deletions pkg/kubelet/kuberuntime/kuberuntime_image_test.go
Expand Up @@ -77,6 +77,29 @@ func TestListImages(t *testing.T) {
assert.Equal(t, expected.List(), actual.List())
}

func TestListImagesPinnedField(t *testing.T) {
_, fakeImageService, fakeManager, err := createTestRuntimeManager()
assert.NoError(t, err)

imagesPinned := map[string]bool{
"1111": false,
"2222": true,
"3333": false,
}
imageList := []string{}
for image, pinned := range imagesPinned {
fakeImageService.SetFakeImagePinned(image, pinned)
imageList = append(imageList, image)
}
fakeImageService.SetFakeImages(imageList)

actualImages, err := fakeManager.ListImages()
assert.NoError(t, err)
for _, image := range actualImages {
assert.Equal(t, imagesPinned[image.ID], image.Pinned)
}
}

func TestListImagesWithError(t *testing.T) {
_, fakeImageService, fakeManager, err := createTestRuntimeManager()
assert.NoError(t, err)
Expand Down
13 changes: 13 additions & 0 deletions staging/src/k8s.io/cri-api/pkg/apis/testing/fake_image_service.go
Expand Up @@ -33,6 +33,7 @@ type FakeImageService struct {
Called []string
Errors map[string][]error
Images map[string]*runtimeapi.Image
Pinned map[string]bool

pulledImages []*pulledImage

Expand Down Expand Up @@ -72,6 +73,17 @@ func (r *FakeImageService) SetFakeImageSize(size uint64) {
r.FakeImageSize = size
}

// SetFakeImagePinned sets the image Pinned field for one image.
func (r *FakeImageService) SetFakeImagePinned(image string, pinned bool) {
r.Lock()
defer r.Unlock()

if r.Pinned == nil {
r.Pinned = make(map[string]bool)
}
r.Pinned[image] = pinned
}

// SetFakeFilesystemUsage sets the FilesystemUsage for FakeImageService.
func (r *FakeImageService) SetFakeFilesystemUsage(usage []*runtimeapi.FilesystemUsage) {
r.Lock()
Expand All @@ -95,6 +107,7 @@ func (r *FakeImageService) makeFakeImage(image *runtimeapi.ImageSpec) *runtimeap
Size_: r.FakeImageSize,
Spec: image,
RepoTags: []string{image.Image},
Pinned: r.Pinned[image.Image],
}
}

Expand Down

0 comments on commit f4a9baf

Please sign in to comment.