Spark-on-k8s-operator: Any luck installing on Helm3

Created on 5 Dec 2019  路  17Comments  路  Source: GoogleCloudPlatform/spark-on-k8s-operator

Hello, here is where I start (following documented instructions)

$ helm install incubator/sparkoperator --namespace spark-operator
Error: must either provide a name or specify --generate-name
$ helm install incubator/sparkoperator --namespace spark-operator --generate-name
Error: create: failed to create: namespaces "spark-operator" not found
$

If I manually create the namespace, it will fail to install. Now removing the "namespace spark-operator" will install fine. Any ideas?

bug

Most helpful comment

@liyinan926

seems to be working

$ helm3 install incubator/sparkoperator --generate-name --skip-crds
NAME: sparkoperator-1577990500
LAST DEPLOYED: Thu Jan 2 10:41:41 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
$

All 17 comments

Need to create namespace as Helm 3.0 doesn't do it anymore.

@TheJaySmith have you been able to install with Helm 3?

I ran into other issues with helm3:

```$ helm install spark-operator-test incubator/sparkoperator --namespace spark-operator --set sparkJobNamespace=default --set operatorVersion=v1beta2-1.0.2-2.4.5-SNAPSHOT --debug
install.go:148: [debug] Original chart version: ""
install.go:165: [debug] CHART PATH: /Users/xxxx/Library/Caches/helm/repository/sparkoperator-0.6.1.tgz

client.go:87: [debug] creating 2 resource(s)
install.go:126: [debug] CRD sparkapplications.sparkoperator.k8s.io is already present. Skipping.
install.go:139: [debug] Clearing discovery cache
wait.go:51: [debug] beginning wait for 0 resources with timeout of 1m0s
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: kind: CustomResourceDefinition, namespace: , name: sparkapplications.sparkoperator.k8s.io
helm.go:76: [debug] existing resource conflict: kind: CustomResourceDefinition, namespace: , name: sparkapplications.sparkoperator.k8s.io
rendered manifests contain a resource that already exists. Unable to continue with install
helm.sh/helm/v3/pkg/action.(Install).Run
/private/tmp/helm-20191206-15945-o5deut/src/helm.sh/helm/pkg/action/install.go:242
main.runInstall
/private/tmp/helm-20191206-15945-o5deut/src/helm.sh/helm/cmd/helm/install.go:209
main.newInstallCmd.func1
/private/tmp/helm-20191206-15945-o5deut/src/helm.sh/helm/cmd/helm/install.go:115
github.com/spf13/cobra.(
Command).execute
/private/tmp/helm-20191206-15945-o5deut/pkg/mod/github.com/spf13/[email protected]/command.go:826
github.com/spf13/cobra.(Command).ExecuteC
/private/tmp/helm-20191206-15945-o5deut/pkg/mod/github.com/spf13/[email protected]/command.go:914
github.com/spf13/cobra.(
Command).Execute
/private/tmp/helm-20191206-15945-o5deut/pkg/mod/github.com/spf13/[email protected]/command.go:864
main.main
/private/tmp/helm-20191206-15945-o5deut/src/helm.sh/helm/cmd/helm/helm.go:75
runtime.main
/usr/local/Cellar/go/1.13.4/libexec/src/runtime/proc.go:203
runtime.goexit
/usr/local/Cellar/go/1.13.4/libexec/src/runtime/asm_amd64.s:1357```

@duongnt can you try with --set installCrds=false?

@liyinan926 Unfortunately this is what I see

Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: kind: CustomResourceDefinition, namespace: , name: scheduledsparkapplications.sparkoperator.k8s.io

@TheJaySmith OK,so you might want to manually delete the CRDs before trying to install.

@TheJaySmith OK,so you might want to manually delete the CRDs before trying to install.

Still showing the same error even after I manually deleted the CRDs

Still showing the same error even after I manually deleted the CRDs

Are you using Helm 2 or 3?

@liyinan926

On Helm 3.0.2 I deleted the CRD and tried again

$ helm3 install incubator/sparkoperator --generate-name
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: kind: CustomResourceDefinition, namespace: , name: sparkapplications.sparkoperator.k8s
.io
$

I am hitting similar issues with helm v3.0.2, anyone tried any workaround? I tried deleting the crds and installing it again but faced similar problem, even skip-crd gave similar issues.

# kubectl version --short
Client Version: v1.17.0
Server Version: v1.17.0
# helm version
version.BuildInfo{Version:"v3.0.2", GitCommit:"19e47ee3283ae98139d98460de796c1be1e3975f", GitTreeState:"clean", GoVersion:"go1.13.5"}

# helm install sparkoperator --namespace spark-operator --set sparkJobNamespace=default  --generate-name 
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: kind: CustomResourceDefinition, namespace: , name: sparkapplications.sparkoperator.k8s.io

# kubectl delete CustomResourceDefinition sparkapplications.sparkoperator.k8s.io scheduledsparkapplications.sparkoperator.k8s.io
customresourcedefinition.apiextensions.k8s.io "sparkapplications.sparkoperator.k8s.io" deleted
customresourcedefinition.apiextensions.k8s.io "scheduledsparkapplications.sparkoperator.k8s.io" deleted

# helm install sparkoperator --namespace spark-operator --set sparkJobNamespace=default  --generate-name 
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: kind: CustomResourceDefinition, namespace: , name: sparkapplications.sparkoperator.k8s.io

# helm install sparkoperator --namespace spark-operator --set sparkJobNamespace=default  --generate-name --skip-crds
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: kind: CustomResourceDefinition, namespace: , name: sparkapplications.sparkoperator.k8s.io

# helm install sparkoperator --namespace spark-operator --set sparkJobNamespace=default  --generate-name --set installCrds=false
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: kind: Role, namespace: default, name: spark-role

If anyone has a working solution then please let us know.

@TheJaySmith @asifdxtreme can you try adding the option --skip-crds?

@liyinan926

seems to be working

$ helm3 install incubator/sparkoperator --generate-name --skip-crds
NAME: sparkoperator-1577990500
LAST DEPLOYED: Thu Jan 2 10:41:41 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
$

Having closed this, it would be good to capture the knowledge somewhere in a readme.

Sure, will update the README and quick start guide.

Running into the same issue (using helm 3.0.2). I didn't have any versionof spark operator installed on that cluster, but it still gave me

Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: kind: CustomResourceDefinition, namespace: , name: scheduledsparkapplications.sparkoperator.k8s.io

Deleting the now suddenly existing CRDs and retrying results in the same issue.
Deleting the CRDs and installing with "--skip-crd" seems to work.
Can someone elaborate what this is about? It seems as if the chart tries to install the same CRDs twice and saying "--skip-crd" skips one set of CRDs, but keeps the other?

There was a bug with the chart, which has been fixed in https://github.com/helm/charts/pull/20308. Installation with Helm 3 should work without needing to add the skip-crds option.

The bug with installation with Helm 3 has been fixed in version 0.6.2 of the chart.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

leandro-rouberte picture leandro-rouberte  路  4Comments

chenqin picture chenqin  路  3Comments

AceHack picture AceHack  路  6Comments

liyinan926 picture liyinan926  路  7Comments

jdelgadillo picture jdelgadillo  路  8Comments