refactor: expose imageSpec conversion functions

Signed-off-by: Itamar Holder <iholder@redhat.com>
This commit is contained in:
Itamar Holder
2025-07-06 19:23:53 +03:00
parent c10cead493
commit 21830a160e
3 changed files with 10 additions and 10 deletions

View File

@@ -27,7 +27,7 @@ import (
// This file contains help function to kuberuntime types to CRI runtime API types, or vice versa.
func toKubeContainerImageSpec(image *runtimeapi.Image) kubecontainer.ImageSpec {
func ToKubeContainerImageSpec(image *runtimeapi.Image) kubecontainer.ImageSpec {
var annotations []kubecontainer.Annotation
if image.Spec != nil && len(image.Spec.Annotations) > 0 {
@@ -60,7 +60,7 @@ func toKubeContainerImageSpec(image *runtimeapi.Image) kubecontainer.ImageSpec {
return spec
}
func toRuntimeAPIImageSpec(imageSpec kubecontainer.ImageSpec) *runtimeapi.ImageSpec {
func ToRuntimeAPIImageSpec(imageSpec kubecontainer.ImageSpec) *runtimeapi.ImageSpec {
var annotations = make(map[string]string)
if imageSpec.Annotations != nil {
for _, a := range imageSpec.Annotations {

View File

@@ -94,7 +94,7 @@ func TestConvertToKubeContainerImageSpec(t *testing.T) {
}
for _, test := range testCases {
actual := toKubeContainerImageSpec(test.input)
actual := ToKubeContainerImageSpec(test.input)
assert.Equal(t, test.expected, actual)
}
}
@@ -155,7 +155,7 @@ func TestConvertToRuntimeAPIImageSpec(t *testing.T) {
}
for _, test := range testCases {
actual := toRuntimeAPIImageSpec(test.input)
actual := ToRuntimeAPIImageSpec(test.input)
assert.Equal(t, test.expected, actual)
}
}
@@ -232,7 +232,7 @@ func TestConvertToKubeContainerImageSpecWithRuntimeHandlerInImageSpecCri(t *test
for _, test := range testCases {
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RuntimeClassInImageCriAPI, true)
actual := toKubeContainerImageSpec(test.input)
actual := ToKubeContainerImageSpec(test.input)
assert.Equal(t, test.expected, actual)
}
}
@@ -294,7 +294,7 @@ func TestConvertToRuntimeAPIImageSpecWithRuntimeHandlerInImageSpecCri(t *testing
for _, test := range testCases {
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RuntimeClassInImageCriAPI, true)
actual := toRuntimeAPIImageSpec(test.input)
actual := ToRuntimeAPIImageSpec(test.input)
assert.Equal(t, test.expected, actual)
}
}

View File

@@ -33,7 +33,7 @@ import (
func (m *kubeGenericRuntimeManager) PullImage(ctx context.Context, image kubecontainer.ImageSpec, credentials []crededentialprovider.TrackedAuthConfig, podSandboxConfig *runtimeapi.PodSandboxConfig) (string, *crededentialprovider.TrackedAuthConfig, error) {
logger := klog.FromContext(ctx)
img := image.Image
imgSpec := toRuntimeAPIImageSpec(image)
imgSpec := ToRuntimeAPIImageSpec(image)
if len(credentials) == 0 {
logger.V(3).Info("Pulling image without credentials", "image", img)
@@ -74,7 +74,7 @@ func (m *kubeGenericRuntimeManager) PullImage(ctx context.Context, image kubecon
// the local storage. It returns ("", nil) if the image isn't in the local storage.
func (m *kubeGenericRuntimeManager) GetImageRef(ctx context.Context, image kubecontainer.ImageSpec) (string, error) {
logger := klog.FromContext(ctx)
resp, err := m.imageService.ImageStatus(ctx, toRuntimeAPIImageSpec(image), false)
resp, err := m.imageService.ImageStatus(ctx, ToRuntimeAPIImageSpec(image), false)
if err != nil {
logger.Error(err, "Failed to get image status", "image", image.Image)
return "", err
@@ -87,7 +87,7 @@ func (m *kubeGenericRuntimeManager) GetImageRef(ctx context.Context, image kubec
func (m *kubeGenericRuntimeManager) GetImageSize(ctx context.Context, image kubecontainer.ImageSpec) (uint64, error) {
logger := klog.FromContext(ctx)
resp, err := m.imageService.ImageStatus(ctx, toRuntimeAPIImageSpec(image), false)
resp, err := m.imageService.ImageStatus(ctx, ToRuntimeAPIImageSpec(image), false)
if err != nil {
logger.Error(err, "Failed to get image status", "image", image.Image)
return 0, err
@@ -126,7 +126,7 @@ func (m *kubeGenericRuntimeManager) ListImages(ctx context.Context) ([]kubeconta
Size: int64(img.Size),
RepoTags: img.RepoTags,
RepoDigests: img.RepoDigests,
Spec: toKubeContainerImageSpec(img),
Spec: ToKubeContainerImageSpec(img),
Pinned: img.Pinned,
})
}