1

I'm trying set up NFS CSI volume on nomad cluster. I successfully configured controller, node jobs and created new volume on Linux nodes. But I cant do it on Windows 2019 nodes.

I catch an error:

Driver Failure  failed to create container: API error (400): invalid mount config for type "bind": invalid mount path: '/csi'

The controller job spec:

job "democratic-csi-nfs-controller" {
  datacenters = ["dc1"]
  type        = "system"
  namespace   = "CSI-Test"

  group "controller" {
    constraint {
      attribute = "${attr.kernel.name}"
      value     = "windows"
    }

    task "plugin" {
      driver = "docker"

      config {
        image = "docker.io/democraticcsi/democratic-csi:latest"

        args = [
          "--csi-version=1.5.0",
          "--csi-name=org.democratic-csi.nfs",
          "--log-level=info",
          "--csi-mode=controller",
          "--server-socket=unix:///csi/csi.sock",
          "--server-address=172.20.19.52:/Nomad_share",
        ]
      }

      csi_plugin {
        id        = "org.democratic-csi.nfs"
        type      = "controller"
        mount_dir = "/csi"
      }

      resources {
        cpu    = 500
        memory = 256
      }
    }
  }
}

I tried to specify path in Windows the way (--server-socket=unix:///csi/csi.sock/--server-socket=/csi/csi.sock and/or mount_dir = "C:\\csi"). But I have the same error.

I also tried with mcr.microsoft.com/k8s/csi/smb-csi:v1.7.0 image, but I have the same error. Config part for smb-csi:v1.7.0 image:

      config {
        image = "mcr.microsoft.com/k8s/csi/smb-csi:v1.7.0"
        args = [
          "--v=5",
          "--nodeid=${attr.unique.hostname}",
          "--endpoint=unix:///csi/csi.sock",
          "--drivername=smb.csi.k8s.io"
        ]
      }
artem_d
  • 11
  • 2

0 Answers0