cloud-ark / kubeplus

Kubernetes Operator for multi-instance multi-tenancy
https://cloudark.io/
Apache License 2.0
654 stars 78 forks source link

Deny ResourceComposition update if new chart is not uploaded #1187

Closed eminalparslan closed 8 months ago

eminalparslan commented 1 year ago

Running kubectl apply on an updated ResourceComposition instance referring to a new local chart version should check if the new chart has actually been uploaded to KubePlus. Currently, the chart is only checked when creating a new ResourceComposition instance.

devdattakulkarni commented 8 months ago

If new chart is not uploaded, then following error shows up in helmer: ` Inside untarChart.untar cmd:tar -xvzf basicwebapp-0.0.3.tgz StdOutput: StdErr: Error: tar (child): basicwebapp-0.0.3.tgz: Cannot open: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now

The command tar -xvzf basicwebapp-0.0.3.tgz returned False : command terminated with exit code 2 Untar output:Error: tar (child): basicwebapp-0.0.3.tgz: Cannot open: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now ABC:[Error: tar (child): basicwebapp-0.0.3.tgz: Cannot open: No such file or directory]Chart Name:Error: tar (child): basicwebapp-0.0.3.tgz: Cannot open: No such file or directory APIVersion:platformapi.kubeplus/v1alpha1 GVR:platformapi.kubeplus/v1alpha1, Resource=webappservices objData:map[apiVersion:platformapi.kubeplus/v1alpha1 kind:WebAppService metadata:map[annotations:map[accountidentity:system:serviceaccount:default:kubeplus-saas-provider] creationTimestamp:2024-01-08T22:27:49Z generation:2 managedFields:[map[apiVersion:platformapi.kubeplus/v1alpha1 fieldsType:FieldsV1 fieldsV1:map[f:spec:map[.:map[] f:nodeName:map[]]] manager:kubectl-create operation:Update time:2024-01-08T22:27:45Z] map[apiVersion:platformapi.kubeplus/v1alpha1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:helmrelease:map[]]] manager:helm-pod operation:Update time:2024-01-08T22:27:56Z]] name:bwa-tenant1 namespace:default resourceVersion:4692215 uid:0ab78370-ad7b-4006-bcee-9df5c1bd3498] spec:map[nodeName:minikube] status:map[helmrelease:bwa-tenant1:webappservice-bwa-tenant1 ]] Status:map[helmrelease:bwa-tenant1:webappservice-bwa-tenant1 ] Helm release1:bwa-tenant1:webappservice-bwa-tenant1

Helm release:bwa-tenant1, webappservice-bwa-tenant1 Helm release updated... Helm release:webappservice-bwa-tenant1 Helm upgrade cmd:helm upgrade webappservice-bwa-tenant1 /basicwebapp -n bwa-tenant1 StdOutput: StdErr: Error: Error: path "/basicwebapp" not found

The command helm upgrade webappservice-bwa-tenant1 /basicwebapp -n bwa-tenant1 returned False : command terminated with exit code 1 Helm upgrade o/p:Error: Error: path "/basicwebapp" not found `