helm-charts icon indicating copy to clipboard operation
helm-charts copied to clipboard

Charts will not deploy automatically

Open inviscid opened this issue 2 years ago • 1 comments

This looks like a great solution but I've been struggling to get anything but the base piraeus-operator to deploy properly.

The first challenge was figuring out that the operator was not in the helm-charts repo. Easily fixed but it did take a few tries to realize it wasn't in the repo and that there wasn't another repo available. I just ended up creating my own helm repo for it.

I tried making the following as Chart dependencies for my application:

  • piraeus-ha-controller
  • linstor-affinity-controller
  • linstor-scheduler

I also tried creating my own helm repo for the piraeus-operator and setting the above as Chart dependencies of the operator. In both cases, it will not deploy with the following error:

Please specify linstor.endpoint, no default URL could be determined

However, in the documentation it states that the linstor.endpoint does not need to be specified if it is deployed alongside and in the same namespace as the operator, which mine is.

I would set the linstor.endpoint if I knew what to set it to. It's not clear how I can determine the correct value.

Appreciate any insight into a typical approach to get this deployed using helm. I'd like to not resort to kubectl since it is less automated.

Thanks in advance...

inviscid avatar Dec 13 '22 02:12 inviscid

I think this happens because the Helm is looking for the LinstorController resource, but when you deploy charts as dependencies, Helm will try to render all templates first, and only then apply them all at once. So when you install LinstorController does not have any resources yet.

You can manually set the required values to this:

  • If you did not configure HTTPS for piraeus: linstor.endpoint=http://piraeus-op-cs.piraeus-namespace.svc:3370. piraeus-op-cs is the name of the helm release + -cs, piraeus-namespace is the namespace in which it was deployed
  • If you configured HTTPS for piraeus: linstor.endpoint=https://piraeus-op-cs.piraeus-namespace.svc:3371 and linstor.clientSecret=piraeus-op-client-secret, where piraeus-op-client-secret is the TLS secret created to access the controller API.

WanzenBug avatar Dec 13 '22 08:12 WanzenBug