democratic-csi: Error on running image

Hi, I don’t know if this is the right place for opening this bug, but here it goes.

Since today after re downloading the latest image of:

docker.io/democraticcsi/democratic-csi:latest

I just had a failing deployment, container is throwing:

/usr/bin/env: only ${VARNAME} expansion is supported, error at: ${NO

On docker hub just saw your image was updated yesterday, so maybe a docker file error? Can you point me on the right direction for maybe helping?

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 36 (16 by maintainers)

Most upvoted comments

Yeah, use the next tag…

Oh sorry, I misunderstood the next meaning. Thought it was the “next” release.

Anyways, I tried it out, and it works on my Debian machines. I used this digest:

democraticcsi/democratic-csi@sha256:37507b8a99747e41a28049ff5dafd89375104127cd40bfcfa726ab247bf00cd9

So I would say you’re good to go 👍 . Nice job

It sounds more and more like what I mentioned. I added those env vars in the shebang line to help debugging some other stuff but they aren’t critical so I can remove them. However I’d be interested to know if it works with 1 or 2 of them etc.

I’ve been super busy building out windows support and have made really good progress on that. After finishing that up I’ll come back to this and we’ll get it addressed.

I’m still a bit out from a release so I’ll leave this open until it’s in a versioned release.

Came here to say a massive thank you, this fixed the issue for me too ❤️

For anyone else using Helm and seeing this issue you can add the following to your values.yml file.

node:
  driver:
    enabled: true
    image: docker.io/democraticcsi/democratic-csi@sha256:37507b8a99747e41a28049ff5dafd89375104127cd40bfcfa726ab247bf00cd9

controller:
  driver:
    enabled: true
    image: docker.io/democraticcsi/democratic-csi@sha256:37507b8a99747e41a28049ff5dafd89375104127cd40bfcfa726ab247bf00cd9

Can you show more details on how you did the upgrade from cli with latest ? are you using Debian 10 or upgraded all workers to Ubuntu 20 ?

I think i don’t get what “installed it again with that var” means.

Nevermind, I just review and what I’ve done was downgrading the chart version. It didn’t work because I think all the tag images by default come with “:latest”.

So since I can replace easily the nodes, I just switched the “workers” to ubuntu.

i did kernel upgrade on my non production cluster nodes (workers only), from 4.15 to 5.4-hwe and now all works fine, even in latest version of democratic-csi.

Thanks @diogodias24 and @travisghansen for this great support. You guys rock.

Now i’ll plan to do the same on production nodes when possible (or rollout workers with ubuntu 20 lts nodes…)

Sorry @travisghansen , didn’t have the time to come back with the required debug info.

Nice job @fumoretti . How are you managing the upgrades of the Chart? For example, if you using Lens, you can do something like this:

Screenshot 2022-04-14 at 17 07 32

And change the required image tag.

Hope that helps

Wondering if debian has something very strict for this: https://stackoverflow.com/questions/10813538/shebang-line-limit-in-bash-and-linux-kernel

If you exec into the container (using the previously sent command) and then install vi/vim you can test this theory by trying to execute ./bin/democratic-csi.

The shebang line looks like this: https://github.com/democratic-csi/democratic-csi/blob/master/bin/democratic-csi#L1

You can safely remove ${NODE_OPTIONS_CSI_1} ${NODE_OPTIONS_CSI_2} ${NODE_OPTIONS_CSI_3} ${NODE_OPTIONS_CSI_4} ${NODE_OPTIONS_CSI_5} and then try to launch again and see if it works.

Just tried this. In fact, removing ${NODE_OPTIONS_CSI_1} ${NODE_OPTIONS_CSI_2} ${NODE_OPTIONS_CSI_3} ${NODE_OPTIONS_CSI_4} ${NODE_OPTIONS_CSI_5} from democratic-csi just works:

root@1a5b9534388c:/home/csi/app/bin# head -1 democratic-csi #!/usr/bin/env -S node --expose-gc root@1a5b9534388c:/home/csi/app/bin# ./democratic-csi grpc implementation: @grpc/grpc-js democratic-csi [options]

Options: –driver-config-file provide a path to driver config file [required] –log-level log level [choices: “error”, “warn”, “info”, “verbose”, “debug”, “silly”] –csi-version versin of the csi spec to load [required] [choices: “0.2.0”, “0.3.0”, “1.0.0”, “1.1.0”, “1.2.0”, “1.3.0”, “1.4.0”, “1.5.0”] –csi-name name to use for driver registration [required] –csi-mode mode of the controller [array] [required] [choices: “controller”, “node”] [default: [“controller”,“node”]] –server-address listen address for the server [string] –server-port listen port for the server [number] –server-socket listen socket for the server [string] –server-socket-permissions-mode permissions on the socket file for the server [string] [default: “0600”] –version Show version number [boolean] –help Show help [boolean]

Missing required arguments: driver-config-file, csi-version, csi-name driver-config-file is required csi-version is required csi-name is required root@1a5b9534388c:/home/csi/app/bin#

With v1.6.1 the first line of democratic-csi:

root@0323946fb541:/home/csi/app/bin# head -1 democratic-csi #!/usr/bin/env -S node --nouse-idle-notification --expose-gc root@0323946fb541:/home/csi/app/bin#

So, how i can force helm to use 1.6.1 of democratic-csi, at least until i can further investigate and maybe upgrade my workers nodes to ubuntu 20 (or newest kernel from mainline, etc…).