---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: ovsdpdk
  namespace: kube-system
---
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: kube-ovsdpdk-ds
  namespace: kube-system
  labels:
    tier: node
    app: ovsdpdk
spec:
  template:
    metadata:
      labels:
        tier: node
        app: ovsdpdk
    spec:
      hostNetwork: true
      nodeSelector:
        beta.kubernetes.io/arch: amd64
      tolerations:
      - key: node-role.kubernetes.io/master
        operator: Exists
        effect: NoSchedule
      serviceAccountName: ovsdpdk
      containers:
      - name: install-ovsdpdk
        image: openretriever/ubuntu1604-ovsdpdk
        command: [ "/bin/bash", "/ovsdpdk/start.sh" ]
        securityContext:
          privileged: true
        volumeMounts:
        - name: local-bin
          mountPath: /usr/local/bin
        - name: var-run
          mountPath: /var/run/openvswitch
        - name: lib-modules
          mountPath: /lib/modules
        - name: dev-hugepage
          mountPath: /dev
      volumes:
        - name: local-bin
          hostPath:
            path: /usr/local/bin
        - name: var-run
          hostPath:
            path: /var/run/openvswitch
        - name: lib-modules
          hostPath:
            path: /lib/modules
        - name: dev-hugepage
          hostPath:
            path: /dev