Skip to content

Commit 0ff3a13

Browse files
Making GetModuleReady/GetDevicePluginReadyLabels functions public (#672)
since "ready" labels are public APIs of KMM, operators using KMM may want to schedule they workloads based on the presence of those labels.
1 parent f2550bb commit 0ff3a13

File tree

4 files changed

+55
-1
lines changed

4 files changed

+55
-1
lines changed

Dockerfile.kmm-operator-build

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM golang:1.21-alpine3.18 as builder
1+
FROM golang:1.20-alpine3.18 as builder
22

33
ENV GO111MODULE=on
44
ENV GOFLAGS=""

pkg/labels/labels.go

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package labels
2+
3+
import (
4+
"github.com/kubernetes-sigs/kernel-module-management/internal/utils"
5+
)
6+
7+
func GetKernelModuleReadyNodeLabel(namespace, moduleName string) string {
8+
return utils.GetKernelModuleReadyNodeLabel(namespace, moduleName)
9+
}
10+
11+
func GetDevicePluginNodeLabel(namespace, moduleName string) string {
12+
return utils.GetDevicePluginNodeLabel(namespace, moduleName)
13+
}

pkg/labels/labels_test.go

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package labels
2+
3+
import (
4+
. "github.com/onsi/ginkgo/v2"
5+
. "github.com/onsi/gomega"
6+
)
7+
8+
var _ = Describe("GetModuleReadyAndDevicePluginReadyLabels", func() {
9+
It("module ready label", func() {
10+
res := GetKernelModuleReadyNodeLabel("some-namespace", "some-module")
11+
Expect(res).To(Equal("kmm.node.kubernetes.io/some-namespace.some-module.ready"))
12+
})
13+
14+
It("device-plugin ready label", func() {
15+
res := GetDevicePluginNodeLabel("some-namespace", "some-module")
16+
Expect(res).To(Equal("kmm.node.kubernetes.io/some-namespace.some-module.device-plugin-ready"))
17+
})
18+
})

pkg/labels/suite_test.go

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package labels
2+
3+
import (
4+
"testing"
5+
6+
"github.com/kubernetes-sigs/kernel-module-management/internal/test"
7+
. "github.com/onsi/ginkgo/v2"
8+
. "github.com/onsi/gomega"
9+
"k8s.io/apimachinery/pkg/runtime"
10+
)
11+
12+
var scheme *runtime.Scheme
13+
14+
func TestSuite(t *testing.T) {
15+
RegisterFailHandler(Fail)
16+
17+
var err error
18+
19+
scheme, err = test.TestScheme()
20+
Expect(err).NotTo(HaveOccurred())
21+
22+
RunSpecs(t, "Job Suite")
23+
}

0 commit comments

Comments
 (0)