Skip to content

Commit 4da60d3

Browse files
use "registry.suse.com" as the default base image registry if OS == "sles"
* although, use-specified `BaseImageRegistry` still takes precedence * also extend tests in `internal/kmmodule/kmmodule_test.go` to test above changes in `resolveDockerfile` func
1 parent b625441 commit 4da60d3

2 files changed

Lines changed: 61 additions & 0 deletions

File tree

internal/kmmmodule/kmmmodule.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,11 @@ func resolveDockerfile(cmName string, devConfig *amdv1alpha1.DeviceConfig) (stri
252252
// render base image registry
253253
baseImageRegistry := defaultBaseImageRegistry
254254
if devConfig.Spec.Driver.ImageBuild.BaseImageRegistry != "" {
255+
// user-specified registry takes precendence
255256
baseImageRegistry = devConfig.Spec.Driver.ImageBuild.BaseImageRegistry
257+
} else if osDistro == "sles" {
258+
// if OS == "sles", use default image registry as "registry.suse.com"
259+
baseImageRegistry = "registry.suse.com"
256260
}
257261
dockerfileTemplate = strings.Replace(dockerfileTemplate, "$$BASEIMG_REGISTRY", baseImageRegistry, -1)
258262
// render driver version

internal/kmmmodule/kmmmodule_test.go

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -678,3 +678,60 @@ var _ = Describe("getKernelMappings", func() {
678678
}
679679
})
680680
})
681+
682+
var _ = Describe("resolveDockerfile", func() {
683+
It("should use correct default registry when not specified by user", func() {
684+
testCases := []struct {
685+
cmName string
686+
expectedImageUrl string
687+
}{
688+
{"ubuntu-22.04", "docker.io/ubuntu:22.04"},
689+
{"sles-15.6", "registry.suse.com/suse/sle15:15.6"},
690+
}
691+
for _, tc := range testCases {
692+
input := &amdv1alpha1.DeviceConfig{
693+
Spec: amdv1alpha1.DeviceConfigSpec{
694+
Driver: amdv1alpha1.DriverSpec{},
695+
},
696+
}
697+
dockerfile, err := resolveDockerfile(tc.cmName, input)
698+
Expect(err).To(BeNil())
699+
Expect(dockerfile).To(ContainSubstring(tc.expectedImageUrl))
700+
}
701+
})
702+
It("should respect user-specified BaseImageRegistry for all OS types", func() {
703+
testCases := []struct {
704+
cmName string
705+
expectedImageUrl string
706+
}{
707+
{"ubuntu-22.04", "example-image-registry.com/ubuntu:22.04"},
708+
{"sles-15.6", "example-image-registry.com/suse/sle15:15.6"},
709+
}
710+
for _, tc := range testCases {
711+
input := &amdv1alpha1.DeviceConfig{
712+
Spec: amdv1alpha1.DeviceConfigSpec{
713+
Driver: amdv1alpha1.DriverSpec{
714+
ImageBuild: amdv1alpha1.ImageBuildSpec{
715+
BaseImageRegistry: "example-image-registry.com",
716+
},
717+
},
718+
},
719+
}
720+
dockerfile, err := resolveDockerfile(tc.cmName, input)
721+
Expect(err).To(BeNil())
722+
Expect(dockerfile).To(ContainSubstring(tc.expectedImageUrl))
723+
Expect(dockerfile).NotTo(ContainSubstring("docker.io"))
724+
Expect(dockerfile).NotTo(ContainSubstring("registry.suse.com"))
725+
}
726+
})
727+
It("should return error for unsupported OS", func() {
728+
input := &amdv1alpha1.DeviceConfig{
729+
Spec: amdv1alpha1.DeviceConfigSpec{
730+
Driver: amdv1alpha1.DriverSpec{},
731+
},
732+
}
733+
_, err := resolveDockerfile("unsupported-os", input)
734+
Expect(err).NotTo(BeNil())
735+
Expect(err.Error()).To(ContainSubstring("not supported OS"))
736+
})
737+
})

0 commit comments

Comments
 (0)