metal-stack / csi-driver-lvm

MIT License
120 stars 25 forks source link

Feature Request: hashicorp nomad support #81

Closed nathanaelle closed 1 year ago

nathanaelle commented 1 year ago

Hello,

Recently, I began to use nomad for my personal homelab. Nomad supports CSI plugin for storage.

Actually, I am not familiar enough with Nomad and CSI spec, to create the CSI plugin.

So, can you make a doc for the use of your CSI plugin with Nomad or at least, provides some guidelines to help me to implement it ?

Some links to ease your discovery of Nomad if you accept to help me :

I've looked for some inspiration also here, before opening this feature request :

majst01 commented 1 year ago

csi-driver-lvm is designed to run on kubernetes, we do not have any experience with nomad and therefore we are not able to implement support for nomad.

nathanaelle commented 1 year ago

thank you for your answer :)

just to clarify, Nomad is able to run kubernetes CSI : same binary in the same container image, the only difference is the grammar of the config file that launch the controller and the sidecar.

I chose nomad because k8s/k3s/… are too complex and heavy for my use case (my personal homelab at home) and the k8s stack has a power consumption too high.

I never wrote any CSI plugin nor CSI helm chart in my life, so I don't know how to adapt the helm charts you provided to a nomad config files.

I've supposed it may be easier for you to help me because my main issue is to find what are the arguments I'm supposed to pass to --v=, --drivername=, --csi-name=, --controllerserver= and so on .

I found the same kind of options in your helm chart https://github.com/metal-stack/helm-charts/blob/master/charts/csi-driver-lvm/templates/controller.yaml

So I you have at least few minutes to help me to find what the option I need to put, I'll be happy to push a merge request with some explanation about Nomad :)

If you don't have any time to help me, it's ok :)

Gerrit91 commented 1 year ago

Hey @nathanaelle,

I would assume that this plugin would actually not work without broader changes in Nomad because we have code parts using the Kubernetes API in there (see https://github.com/metal-stack/csi-driver-lvm/blob/v0.5.1/pkg/lvm/controllerserver.go#L180-L189).

Maybe you have better luck asking in the Nomad community in order to target a broader audience for your request. They can probably better decide if this would work somehow or not. Our team, apart from being very small and busy, has AFAIK no experience with Nomad. 😅

Hope it's okay for you if I close down this issue because we cannot schedule this on our sprint backlog.

nathanaelle commented 1 year ago

thanks for your answer :)

it's ok for me to close this issue :)