Skip to content

Commit cbf4bec

Browse files
committed
Add '--kubelet-root-dir' flag to configure the root directory of kubelet
Signed-off-by: Cyclinder Kuo <[email protected]>
1 parent 9f1f8ab commit cbf4bec

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

cmd/k8s-rdma-shared-dp/main.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,13 @@ func main() {
6060

6161
// add version flag
6262
versionOpt := false
63-
var configFilePath string
63+
useCdi := false
64+
var configFilePath, kubeletRootDir string
6465
flag.BoolVar(&versionOpt, "version", false, "Show application version")
6566
flag.BoolVar(&versionOpt, "v", false, "Show application version")
6667
flag.StringVar(
6768
&configFilePath, "config-file", resources.DefaultConfigFilePath, "path to device plugin config file")
68-
useCdi := false
69+
flag.StringVar(&kubeletRootDir, "kubelet-root-dir", "/var/lib/kubelet", "root directory of kubelet")
6970
flag.BoolVar(&useCdi, "use-cdi", false,
7071
"Use Container Device Interface to expose devices in containers")
7172
flag.Parse()
@@ -80,7 +81,7 @@ func main() {
8081

8182
log.Println("Starting K8s RDMA Shared Device Plugin version=", version)
8283

83-
rm := resources.NewResourceManager(configFilePath, useCdi)
84+
rm := resources.NewResourceManager(configFilePath, kubeletRootDir, useCdi)
8485

8586
log.Println("resource manager reading configs")
8687
if err := rm.ReadConfig(); err != nil {

pkg/resources/resources_manager.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import (
3939
"fmt"
4040
"log"
4141
"os"
42+
"path"
4243
"regexp"
4344
"strconv"
4445
"time"
@@ -90,7 +91,12 @@ type resourceManager struct {
9091
useCdi bool
9192
}
9293

93-
func NewResourceManager(configFile string, useCdi bool) types.ResourceManager {
94+
func NewResourceManager(configFile, kubeletRootDir string, useCdi bool) types.ResourceManager {
95+
if kubeletRootDir != "" {
96+
activeSockDir = path.Join(kubeletRootDir, "plugins_registry")
97+
deprecatedSockDir = path.Join(kubeletRootDir, "device-plugins")
98+
}
99+
94100
watcherMode := detectPluginWatchMode(activeSockDir)
95101
if watcherMode {
96102
fmt.Println("Using Kubelet Plugin Registry Mode")

pkg/resources/resources_manager_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,19 @@ func (l *FakeLink) Type() string {
6969
var _ = Describe("ResourcesManger", func() {
7070
Context("NewResourceManager", func() {
7171
const activeSockDirBackUP = "/var/lib/kubelet/plugins_registry"
72+
const kubeletRootDir = "/var/lib/kubelet"
7273

7374
It("Resource Manager with watcher mode", func() {
7475
fs := utils.FakeFilesystem{
7576
Dirs: []string{activeSockDir[1:]},
7677
}
77-
defer fs.Use()()
78+
defer fs.Use()
7879
activeSockDir = path.Join(fs.RootDir, activeSockDirBackUP[1:])
7980
defer func() {
8081
activeSockDir = activeSockDirBackUP
8182
}()
8283

83-
obj := NewResourceManager(DefaultConfigFilePath, false)
84+
obj := NewResourceManager(DefaultConfigFilePath, kubeletRootDir, false)
8485
rm := obj.(*resourceManager)
8586
Expect(rm.watchMode).To(Equal(true))
8687
})
@@ -92,7 +93,7 @@ var _ = Describe("ResourcesManger", func() {
9293
activeSockDir = activeSockDirBackUP
9394
}()
9495

95-
obj := NewResourceManager(DefaultConfigFilePath, false)
96+
obj := NewResourceManager(DefaultConfigFilePath, kubeletRootDir, false)
9697
rm := obj.(*resourceManager)
9798
Expect(rm.watchMode).To(Equal(false))
9899
})

0 commit comments

Comments
 (0)