smarter-project / smarter-device-manager

Enables k8s containers to access devices (linux device drivers) available on nodes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bluetooth hci device not showing up

chrmel opened this issue · comments

commented

Are there special configurations to make to get the smarter-device-manager to recognize/report/show hci bluetooth devices?

Problem

The smarter-device-manager daemon set is deployed to a K3s (version v1.25.5+k3s2) cluster. All devices like tty, video, i2c show up but hci bluetooth devices don't.

Configuration

apiVersion: v1
kind: Namespace
metadata:
  name: device-access
  labels:
    name: device-access
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: smarter-device-manager
  namespace: device-access
data:
  conf.yaml: |
    - devicematch: ^snd$
      nummaxdevices: 20
    - devicematch: ^gpiomem$
      nummaxdevices: 40
    - devicematch: ^gpiochip[0-9]*$
      nummaxdevices: 20
    - devicematch: ^hci[0-9]*$
      nummaxdevices: 1
    - devicematch: ^i2c-[0-9]*$
      nummaxdevices: 1
    - devicematch: ^rtc0$
      nummaxdevices: 20
    - devicematch: ^video[0-9]*$
      nummaxdevices: 20
    - devicematch: ^vchiq$
      nummaxdevices: 20
    - devicematch: ^vcsm.*$
      nummaxdevices: 20
    - devicematch: ^ttyUSB[0-9]*$
      nummaxdevices: 1
    - devicematch: ^ttyACM[0-9]*$
      nummaxdevices: 1
    - devicematch: ^ttyTHS[0-9]*$
      nummaxdevices: 1
    - devicematch: ^ttyS[0-9]*$
      nummaxdevices: 1
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: smarter-device-manager
  namespace: device-access
  labels:
    name: smarter-device-manager
    role: agent
spec:
  selector:
    matchLabels:
      name: smarter-device-manager
  updateStrategy:
    type: RollingUpdate
  template:
    metadata:
      labels: 
        name: smarter-device-manager
      annotations:
        node.kubernetes.io/bootstrap-checkpoint: "true"
    spec: 
      priorityClassName: "system-node-critical"
      hostname: smarter-device-management
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet
      containers:
      - name: smarter-device-manager
        image: ghcr.io/smarter-project/smarter-device-manager:v1.20.11
        imagePullPolicy: IfNotPresent
        securityContext:
          allowPrivilegeEscalation: false
          capabilities:
            drop: ["ALL"]
        resources:
          limits:
            cpu: 100m
            memory: 15Mi
          requests:
            cpu: 10m
            memory: 15Mi
        volumeMounts:
          - name: device-plugin
            mountPath: /var/lib/kubelet/device-plugins
          - name: dev-dir
            mountPath: /dev
          - name: sys-dir
            mountPath: /sys
          - name: config
            mountPath: /root/config
      volumes:
        - name: device-plugin
          hostPath:
            path: /var/lib/kubelet/device-plugins
        - name: dev-dir
          hostPath:
            path: /dev
        - name: sys-dir
          hostPath:
            path: /sys
        - name: config
          configMap:
             name: smarter-device-manager
      terminationGracePeriodSeconds: 30

Any help would be greatly appreciated!
Thank you!