7 Commits

Author SHA1 Message Date
Eric Van Hensbergen
29f67be0d4 Baseline SAGE description file for ECR 2021-08-27 17:29:47 +00:00
Alexandre Ferreira
741d8edc23 Merge branch 'dev' into 'master'
Fix examples to tag 1.20.7

See merge request arm-research/smarter/smarter-device-manager!19
2021-05-18 21:18:07 +00:00
Alexandre Ferreira
261f70121a Fix examples to tag 1.20.7 2021-05-18 16:16:55 -05:00
Alexandre Ferreira
8a304aa5ee Merge branch 'dev' into 'master'
Fix recursion problem

See merge request arm-research/smarter/smarter-device-manager!18
2021-05-18 21:16:01 +00:00
Alexandre Ferreira
1421f564e5 Fix recursion problem 2021-05-18 16:06:16 -05:00
Alexandre Ferreira
567ac37994 Merge branch 'dev' into 'master'
Fix opening /dev/<files> to see if it is a directory (dangerous and it can take too long)

See merge request arm-research/smarter/smarter-device-manager!17
2021-05-18 19:55:29 +00:00
Alexandre Ferreira
a6c2189a98 Fix opening /dev/<files> to see if it is a directory (dangerous and it can take too long) 2021-05-18 14:45:08 -05:00
11 changed files with 40 additions and 16 deletions

19
main.go
View File

@@ -55,9 +55,18 @@ func init() {
flag.Parse() flag.Parse()
} }
func readDevDirectory(dirToList string) (files []string, err error) { func readDevDirectory(dirToList string, allowedRecursions uint8) (files []string, err error) {
var foundFiles []string var foundFiles []string
fType, err := os.Stat(dirToList)
if err != nil {
return nil, err
}
if !fType.IsDir() {
return nil, nil
}
f, err := os.Open(dirToList) f, err := os.Open(dirToList)
if err != nil { if err != nil {
return nil, err return nil, err
@@ -70,13 +79,15 @@ func readDevDirectory(dirToList string) (files []string, err error) {
f.Close() f.Close()
for _, subDir := range files { for _, subDir := range files {
foundFiles = append(foundFiles, subDir) foundFiles = append(foundFiles, subDir)
filesDir, err := readDevDirectory(dirToList+"/"+subDir) if allowedRecursions > 0 {
filesDir, err := readDevDirectory(dirToList+"/"+subDir,allowedRecursions-1)
if err == nil { if err == nil {
for _, fileName := range filesDir { for _, fileName := range filesDir {
foundFiles = append(foundFiles, subDir+"/"+fileName) foundFiles = append(foundFiles, subDir+"/"+fileName)
} }
} }
} }
}
return foundFiles, nil return foundFiles, nil
} }
@@ -118,13 +129,13 @@ func main() {
} }
glog.V(0).Info("Reading existing devices on /dev") glog.V(0).Info("Reading existing devices on /dev")
ExistingDevices, err := readDevDirectory("/dev") ExistingDevices, err := readDevDirectory("/dev",10)
if err != nil { if err != nil {
glog.Errorf(err.Error()) glog.Errorf(err.Error())
os.Exit(1) os.Exit(1)
} }
ExistingDevicesSys, err := readDevDirectory("/sys/devices") ExistingDevicesSys, err := readDevDirectory("/sys/devices",0)
if err != nil { if err != nil {
glog.Errorf(err.Error()) glog.Errorf(err.Error())
os.Exit(1) os.Exit(1)

13
sage.yaml Normal file
View File

@@ -0,0 +1,13 @@
name: device-manager
namespace: smarter
version: "1.20.7"
description: A kubernetes device manager for governing access to node devices
source:
architectures:
- linux/amd64
- linux/arm/v7
- linux/arm64
url: https://github.com/smarter/smarter-device-manager
branch: sage

View File

@@ -15,7 +15,7 @@ spec:
nodeName: smarter-jetson-xavier-4bcc2584 nodeName: smarter-jetson-xavier-4bcc2584
containers: containers:
- name: smarter-device-manager - name: smarter-device-manager
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.5 image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false

View File

@@ -15,7 +15,7 @@ spec:
nodeName: <replace with node to run> nodeName: <replace with node to run>
containers: containers:
- name: smarter-device-manager - name: smarter-device-manager
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.5 image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false

View File

@@ -15,7 +15,7 @@ spec:
nodeName: <replace with node to run> nodeName: <replace with node to run>
containers: containers:
- name: smarter-device-manager - name: smarter-device-manager
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.5 image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false

View File

@@ -34,7 +34,7 @@ spec:
dnsPolicy: ClusterFirstWithHostNet dnsPolicy: ClusterFirstWithHostNet
containers: containers:
- name: smarter-device-manager - name: smarter-device-manager
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.5 image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false

View File

@@ -34,7 +34,7 @@ spec:
dnsPolicy: ClusterFirstWithHostNet dnsPolicy: ClusterFirstWithHostNet
containers: containers:
- name: smarter-device-manager - name: smarter-device-manager
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.5 image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false

View File

@@ -34,7 +34,7 @@ spec:
dnsPolicy: ClusterFirstWithHostNet dnsPolicy: ClusterFirstWithHostNet
containers: containers:
- name: smarter-device-manager - name: smarter-device-manager
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.5 image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false

View File

@@ -34,7 +34,7 @@ spec:
dnsPolicy: ClusterFirstWithHostNet dnsPolicy: ClusterFirstWithHostNet
containers: containers:
- name: smarter-device-manager - name: smarter-device-manager
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.5 image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false

View File

@@ -34,7 +34,7 @@ spec:
dnsPolicy: ClusterFirstWithHostNet dnsPolicy: ClusterFirstWithHostNet
containers: containers:
- name: smarter-device-manager - name: smarter-device-manager
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.5 image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false

View File

@@ -34,7 +34,7 @@ spec:
dnsPolicy: ClusterFirstWithHostNet dnsPolicy: ClusterFirstWithHostNet
containers: containers:
- name: smarter-device-manager - name: smarter-device-manager
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.5 image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.20.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false