-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bookkeeper operator fails to install when used as a Helm dependency #93
Comments
As a workaround right now, note that https://github.com/pravega/bookkeeper-operator/blob/master/deploy/crds/bookkeeper.pravega.io_bookkeeperclusters_crd.yaml doesn't have that This chart was made during the Helm 2 days. Didn't know about the new CRD support in Helm 3. Quite useful, thanks. |
@ambye85 having the crds folder was not required in our use-case since the crd installation is done in the bookkeeper-operator charts and required in the bookkeeper charts. Hence if you can ensure that the dependencies are installed in a particular order, i.e. the bookkeeper-operator installation happens before attempting to install the bookkeeper charts, that should fix the issue you are facing. |
@jdmaguire thanks, I hadn't spotted the CRD in the deploy folder. @SrishT I initially attempted to enforce an order but soft dependencies between charts is not supported by Helm:
There is a post from 2018 on Stackoverflow which suggests a possible workaround - if it works for Helm 3 the charts would need updating to allow custom annotations to be added. I think a CRD's folder would be a neater solution. |
Description
When specified as a dependency of a Helm chart, the Bookkeeper Operator fails to install due to CRD's not being installed.
Helm cannot find the relevant CRD's because they have not yet been installed, so fails with the following error:
The CRD template file has the conditional statement which prevents
kubectl apply -f https://raw.githubusercontent.com/pravega/bookkeeper-operator/master/charts/bookkeeper-operator/templates/bookkeeper.pravega.io_bookkeeperclusters_crd.yaml
:This is equally applicable to the Pravega and Zookeeper CRD's - I'll raise separate issues for those.
Importance
This is a must have for packaging Pravega as part of a larger application.
Location
charts/bookkeeper-operator/templates/bookkeeper.pravega.io_bookkeeperclusters_crd.yaml
Suggestions for an improvement
CRD's can be included in a
crd
directory and Helm will apply these first. The CRD's could also be provided in a separate Helm chart but I wouldn't find this particularly useful due to not being able to specify a dependency application order. https://helm.sh/docs/chart_best_practices/custom_resource_definitions/Alternatively, the CRD could be provided as a release artefact that can be installed before running Helm with
crd.create=false
:The text was updated successfully, but these errors were encountered: