fluid-cloudnative / fluid

Fluid, elastic data abstraction and acceleration for BigData/AI applications in cloud. (Project under CNCF)
https://fluid-cloudnative.github.io/
Apache License 2.0
1.63k stars 957 forks source link

[BUG]failed to install kubernetes resources of /charts/juicefs: Error: INSTALLATION FAILED: error unpacking library in juicefs: Chart.yaml file is missing\n" #4288

Open airlenet opened 3 weeks ago

airlenet commented 3 weeks ago

What is your environment(Kubernetes version, Fluid version, etc.)

kubectl version --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.27.7
Kustomize Version: v5.0.1
Server Version: v1.27.7
 helm version
version.BuildInfo{Version:"v3.9.4", GitCommit:"dbc6d8e20fe1d58d50e6ed30f09a04a77e4c68db", GitTreeState:"clean", GoVersion:"go1.17.13"}
 helm list
NAME    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
fluid   default         1               2024-08-22 13:36:59.601931943 +0800 CST deployed        fluid-1.0.1     1.0.1-14eda3b
 kubectl get pods -n fluid-system
NAME                                         READY   STATUS    RESTARTS   AGE
alluxioruntime-controller-5c46875b49-hfdx7   1/1     Running   0          65m
csi-nodeplugin-fluid-njm5w                   2/2     Running   0          65m
dataset-controller-7cc85d4f6-rxmg4           1/1     Running   0          65m
fluid-webhook-56c896ffb5-7j5cm               1/1     Running   0          65m
fluidapp-controller-7557944c85-rc4zb         1/1     Running   0          65m
juicefsruntime-controller-5694b75d59-ng8zz   1/1     Running   0          65m

Describe the bug

2024-08-22T14:46:16.259+0800    INFO    helm    helm/utils.go:73        Exec    {"command": "/usr/local/bin/ddc-helm install -f /tmp/jfsdemo-juicefs-values.yaml1446131301 --namespace default jfsdemo /charts/juicefs"}
2024-08-22T14:46:17.853+0800    INFO    helm    helm/utils.go:76        Error: INSTALLATION FAILED: error unpacking library in juicefs: Chart.yaml file is missing

2024-08-22T14:46:17.853+0800    ERROR   helm    helm/utils.go:79        failed to execute InstallRelease() command     {"command": "/usr/local/bin/ddc-helm install -f /tmp/jfsdemo-juicefs-values.yaml1446131301 --namespace default jfsdemo /charts/juicefs", "error": "exit status 1"}
github.com/fluid-cloudnative/fluid/pkg/utils/helm.InstallRelease
        /go/src/github.com/fluid-cloudnative/fluid/pkg/utils/helm/utils.go:79
github.com/fluid-cloudnative/fluid/pkg/ddc/juicefs.(*JuiceFSEngine).setupMasterInternal
        /go/src/github.com/fluid-cloudnative/fluid/pkg/ddc/juicefs/master_internal.go:58
github.com/fluid-cloudnative/fluid/pkg/ddc/juicefs.JuiceFSEngine.SetupMaster
        /go/src/github.com/fluid-cloudnative/fluid/pkg/ddc/juicefs/master.go:61
github.com/fluid-cloudnative/fluid/pkg/ddc/base.(*TemplateEngine).Setup
        /go/src/github.com/fluid-cloudnative/fluid/pkg/ddc/base/setup.go:47
github.com/fluid-cloudnative/fluid/pkg/controllers.(*RuntimeReconciler).ReconcileRuntime
        /go/src/github.com/fluid-cloudnative/fluid/pkg/controllers/runtime_controller.go:246
github.com/fluid-cloudnative/fluid/pkg/controllers.(*RuntimeReconciler).ReconcileInternal
        /go/src/github.com/fluid-cloudnative/fluid/pkg/controllers/runtime_controller.go:165
github.com/fluid-cloudnative/fluid/pkg/controllers/v1alpha1/juicefs.(*JuiceFSRuntimeReconciler).Reconcile
        /go/src/github.com/fluid-cloudnative/fluid/pkg/controllers/v1alpha1/juicefs/juicefsruntime_controller.go:122
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:122
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:323
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:274
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:235
2024-08-22T14:46:19.547+0800    ERROR   juicefsctl.JuiceFSRuntime       base/setup.go:49        SetupMaster     {"juicefsruntime": "default/jfsdemo", "engine": "juicefs", "id": "default-jfsdemo", "error": "failed to install kubernetes resources of /charts/juicefs: Error: INSTALLATION FAILED: error unpacking library in juicefs: Chart.yaml file is missing\n"}
github.com/fluid-cloudnative/fluid/pkg/ddc/base.(*TemplateEngine).Setup
        /go/src/github.com/fluid-cloudnative/fluid/pkg/ddc/base/setup.go:49
github.com/fluid-cloudnative/fluid/pkg/controllers.(*RuntimeReconciler).ReconcileRuntime
        /go/src/github.com/fluid-cloudnative/fluid/pkg/controllers/runtime_controller.go:246
github.com/fluid-cloudnative/fluid/pkg/controllers.(*RuntimeReconciler).ReconcileInternal
        /go/src/github.com/fluid-cloudnative/fluid/pkg/controllers/runtime_controller.go:165
github.com/fluid-cloudnative/fluid/pkg/controllers/v1alpha1/juicefs.(*JuiceFSRuntimeReconciler).Reconcile
        /go/src/github.com/fluid-cloudnative/fluid/pkg/controllers/v1alpha1/juicefs/juicefsruntime_controller.go:122
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:122
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:323
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:274
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:235
2024-08-22T14:46:19.548+0800    ERROR   juicefsctl.JuiceFSRuntime.reconcileRuntime      controllers/runtime_controller.go:249   Failed to setup the ddc engine  {"juicefsruntime": "default/jfsdemo", "error": "failed to install kubernetes resources of /charts/juicefs: Error: INSTALLATION FAILED: error unpacking library in juicefs: Chart.yaml file is missing\n"}
github.com/fluid-cloudnative/fluid/pkg/controllers.(*RuntimeReconciler).ReconcileRuntime
        /go/src/github.com/fluid-cloudnative/fluid/pkg/controllers/runtime_controller.go:249
github.com/fluid-cloudnative/fluid/pkg/controllers.(*RuntimeReconciler).ReconcileInternal
        /go/src/github.com/fluid-cloudnative/fluid/pkg/controllers/runtime_controller.go:165
github.com/fluid-cloudnative/fluid/pkg/controllers/v1alpha1/juicefs.(*JuiceFSRuntimeReconciler).Reconcile
        /go/src/github.com/fluid-cloudnative/fluid/pkg/controllers/v1alpha1/juicefs/juicefsruntime_controller.go:122
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:122
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:323
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:274
github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
        /go/src/github.com/fluid-cloudnative/fluid/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:235

What you expect to happen:

How to reproduce it

Additional Information

cheyang commented 3 weeks ago

@airlenet Could you please check the content of /tmp/jfsdemo-juicefs-values.yaml1446131301? It's inside the container juicefsruntime-controller-5694b75d59-ng8zz.

zwwhdls commented 3 weeks ago

Can you check the directory /charts inside container juicefsruntime-controller-5694b75d59-ng8zz?

airlenet commented 2 weeks ago

@airlenet Could you please check the content of /tmp/jfsdemo-juicefs-values.yaml1446131301? It's inside the container juicefsruntime-controller-5694b75d59-ng8zz.您能不能查看一下 /tmp/jfsdemo-juicefs-values.yaml1446131301 的内容?它位于容器 juicefsruntime-controller-5694b75d59-ng8zz 中。

juicefsruntime-controller-5694b75d59-rw7dp:/# cat /tmp/testdemo-juicefs-values.yaml2941365390 cacheDirs: "1": path: /testCache type: hostPath volumeSource: {} configs: accesskeySecret: jfs-secret accesskeySecretKey: access-key bucket: http://172.16.2.62:9000/test formatCmd: /usr/local/bin/juicefs format --access-key=${ACCESS_KEY} --secret-key=${SECRET_KEY} --storage=minio --bucket=http://172.16.2.62:9000/test ${METAURL} myjfs metaurlSecret: jfs-secret metaurlSecretKey: metaurl name: myjfs secretkeySecret: jfs-secret secretkeySecretKey: secret-key storage: minio edition: community fsGroup: 0 fullnameOverride: testdemo fuse: command: /bin/mount.juicefs ${METAURL} /runtime-mnt/juicefs/test/testdemo/juicefs-fuse -o cache-size=40960,free-space-ratio=0.5,cache-dir=/testCache,metrics=0.0.0.0:14179 criticalPod: true enabled: true hostMountPath: /runtime-mnt/juicefs/test/testdemo hostNetwork: true image: juicedata/juicefs-fuse imagePullPolicy: IfNotPresent imageTag: ce-v1.1.0-rc1 metricsPort: 14179 mountPath: /runtime-mnt/juicefs/test/testdemo/juicefs-fuse nodeSelector: fluid.io/f-test-testdemo: "true" privileged: true resources: {} statCmd: stat -c %i /runtime-mnt/juicefs/test/testdemo/juicefs-fuse volumeMounts:

airlenet commented 2 weeks ago

Can you check the directory /charts inside container juicefsruntime-controller-5694b75d59-ng8zz?可以查看容器 juicefsruntime-controller-5694b75d59-ng8zz 内的 /charts 目录吗?

juicefsruntime-controller-5694b75d59-rw7dp:/charts# tree ./ ./ ├── alluxio │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── README.md │ ├── charts │ │ └── library │ ├── docker │ │ └── init-users │ │ ├── Dockerfile │ │ ├── check_port.sh │ │ ├── chmod_fuse_mountpoint.sh │ │ ├── chmod_tierpath.sh │ │ ├── entrypoint.sh │ │ └── init_users.sh │ ├── templates │ │ ├── _helpers.tpl │ │ ├── config │ │ │ ├── alluxio-conf.yaml │ │ │ └── alluxio-mount-conf.yaml │ │ ├── fuse │ │ │ ├── client-daemonset.yaml │ │ │ └── daemonset.yaml │ │ ├── master │ │ │ ├── service.yaml │ │ │ └── statefulset.yaml │ │ └── worker │ │ ├── domain-socket-pvc.yaml │ │ └── statefulset.yaml │ └── values.yaml ├── efc │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── README.md │ ├── charts │ │ └── library │ ├── templates │ │ ├── _helpers.tpl │ │ ├── fuse │ │ │ └── daemonset.yaml │ │ ├── master │ │ │ └── statefulset.yaml │ │ └── worker │ │ ├── configmap.yaml │ │ └── statefulset.yaml │ └── values.yaml ├── fluid │ ├── README.md │ └── fluid │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── VERSION │ ├── crds │ │ ├── data.fluid.io_alluxioruntimes.yaml │ │ ├── data.fluid.io_databackups.yaml │ │ ├── data.fluid.io_dataloads.yaml │ │ ├── data.fluid.io_datamigrates.yaml │ │ ├── data.fluid.io_dataprocesses.yaml │ │ ├── data.fluid.io_datasets.yaml │ │ ├── data.fluid.io_efcruntimes.yaml │ │ ├── data.fluid.io_goosefsruntimes.yaml │ │ ├── data.fluid.io_jindoruntimes.yaml │ │ ├── data.fluid.io_juicefsruntimes.yaml │ │ ├── data.fluid.io_thinruntimeprofiles.yaml │ │ ├── data.fluid.io_thinruntimes.yaml │ │ └── data.fluid.io_vineyardruntimes.yaml │ ├── templates │ │ ├── _helpers.tpl │ │ ├── controller │ │ │ ├── alluxioruntime_controller.yaml │ │ │ ├── dataset_controller.yaml │ │ │ ├── efcruntime_controller.yaml │ │ │ ├── fluidapp_controller.yaml │ │ │ ├── goosefsruntime_controller.yaml │ │ │ ├── jindoruntime_controller.yaml │ │ │ ├── juicefsruntime_controller.yaml │ │ │ ├── thinruntime_controller.yaml │ │ │ └── vineyardruntime_controller.yaml │ │ ├── csi │ │ │ ├── daemonset.yaml │ │ │ └── driver.yaml │ │ ├── role │ │ │ ├── alluxio │ │ │ │ └── rbac.yaml │ │ │ ├── csi │ │ │ │ └── rbac.yaml │ │ │ ├── dataset │ │ │ │ └── rbac.yaml │ │ │ ├── efc │ │ │ │ └── rbac.yaml │ │ │ ├── fluidapp │ │ │ │ └── rbac.yaml │ │ │ ├── goosefs │ │ │ │ └── rbac.yaml │ │ │ ├── jindo │ │ │ │ └── rbac.yaml │ │ │ ├── juicefs │ │ │ │ └── rbac.yaml │ │ │ ├── thin │ │ │ │ └── rbac.yaml │ │ │ ├── vineyard │ │ │ │ └── rbac.yaml │ │ │ └── webhook │ │ │ └── rabc.yaml │ │ ├── upgrade │ │ │ └── crd-upgrade.yaml │ │ └── webhook │ │ ├── plugins-profile.yaml │ │ ├── service.yaml │ │ ├── webhook.yaml │ │ └── webhookconfiguration.yaml │ └── values.yaml ├── fluid-databackup │ ├── alluxio │ │ ├── CHANGELOG.md │ │ ├── Chart.yaml │ │ ├── README.md │ │ ├── charts │ │ │ └── library │ │ ├── templates │ │ │ ├── configmap.yaml │ │ │ └── databackup.yaml │ │ └── values.yaml │ └── goosefs │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── README.md │ ├── charts │ │ └── library │ ├── templates │ │ ├── configmap.yaml │ │ └── databackup.yaml │ └── values.yaml ├── fluid-dataloader │ ├── alluxio │ │ ├── CHANGELOG.md │ │ ├── Chart.yaml │ │ ├── charts │ │ │ └── library │ │ ├── templates │ │ │ ├── configmap.yaml │ │ │ ├── cronjob.yaml │ │ │ └── job.yaml │ │ └── values.yaml │ ├── goosefs │ │ ├── CHANGELOG.md │ │ ├── Chart.yaml │ │ ├── README.md │ │ ├── charts │ │ │ └── library │ │ ├── templates │ │ │ ├── configmap.yaml │ │ │ ├── cronjob.yaml │ │ │ └── job.yaml │ │ └── values.yaml │ ├── jindo │ │ ├── CHANGELOG.md │ │ ├── Chart.yaml │ │ ├── charts │ │ │ └── library │ │ ├── templates │ │ │ ├── configmap.yaml │ │ │ ├── cronjob.yaml │ │ │ └── job.yaml │ │ └── values.yaml │ ├── jindocache │ │ ├── CHANGELOG.md │ │ ├── Chart.yaml │ │ ├── charts │ │ │ └── library │ │ ├── templates │ │ │ ├── configmap.yaml │ │ │ ├── cronjob.yaml │ │ │ └── job.yaml │ │ └── values.yaml │ ├── jindofsx │ │ ├── CHANGELOG.md │ │ ├── Chart.yaml │ │ ├── charts │ │ │ └── library │ │ ├── templates │ │ │ ├── configmap.yaml │ │ │ ├── cronjob.yaml │ │ │ └── job.yaml │ │ └── values.yaml │ └── juicefs │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── charts │ │ └── library │ ├── templates │ │ ├── configmap.yaml │ │ ├── cronjob.yaml │ │ └── job.yaml │ └── values.yaml ├── fluid-datamigrate │ └── juicefs │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── charts │ │ └── library │ ├── templates │ │ ├── configmap.yaml │ │ ├── cronjob.yaml │ │ ├── job.yaml │ │ ├── service.yaml │ │ └── statefulset.yaml │ └── values.yaml ├── fluid-dataprocess │ └── common │ ├── Chart.yaml │ ├── charts │ │ └── library │ ├── templates │ │ ├── _helpers.tpl │ │ ├── configmap.yaml │ │ └── job.yaml │ └── values.yaml ├── goosefs │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── README.md │ ├── charts │ │ └── library │ ├── docker │ │ ├── check_port.sh │ │ └── init-users │ │ ├── Dockerfile │ │ ├── chmod_fuse_mountpoint.sh │ │ ├── chmod_tierpath.sh │ │ ├── entrypoint.sh │ │ └── init_users.sh │ ├── templates │ │ ├── _helpers.tpl │ │ ├── config │ │ │ └── goosefs-conf.yaml │ │ ├── fuse │ │ │ ├── client-daemonset.yaml │ │ │ └── daemonset.yaml │ │ ├── master │ │ │ ├── service.yaml │ │ │ └── statefulset.yaml │ │ └── worker │ │ ├── domain-socket-pvc.yaml │ │ └── statefulset.yaml │ └── values.yaml ├── jindocache │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── README.md │ ├── charts │ │ └── library │ ├── templates │ │ ├── _helpers.tpl │ │ ├── config │ │ │ ├── jindofs-client-conf.yaml │ │ │ └── jindofs-conf.yaml │ │ ├── fuse │ │ │ └── daemonset.yaml │ │ ├── master │ │ │ ├── service.yaml │ │ │ └── statefulset.yaml │ │ └── worker │ │ └── statefulset.yaml │ └── values.yaml ├── jindofs │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── README.md │ ├── charts │ │ └── library │ ├── templates │ │ ├── _helpers.tpl │ │ ├── config │ │ │ ├── jindofs-client-conf.yaml │ │ │ └── jindofs-conf.yaml │ │ ├── fuse │ │ │ └── daemonset.yaml │ │ ├── master │ │ │ ├── service.yaml │ │ │ └── statefulset.yaml │ │ └── worker │ │ └── statefulset.yaml │ └── values.yaml ├── jindofsx │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── README.md │ ├── charts │ │ └── library │ ├── templates │ │ ├── _helpers.tpl │ │ ├── config │ │ │ ├── jindofs-client-conf.yaml │ │ │ └── jindofs-conf.yaml │ │ ├── fuse │ │ │ └── daemonset.yaml │ │ ├── master │ │ │ ├── service.yaml │ │ │ └── statefulset.yaml │ │ └── worker │ │ └── statefulset.yaml │ └── values.yaml ├── juicefs │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── README.md │ ├── charts │ │ └── library │ ├── templates │ │ ├── _helpers.tpl │ │ ├── fuse │ │ │ └── daemonset.yaml │ │ ├── role │ │ │ └── rbac.yaml │ │ └── worker │ │ └── statefulset.yaml │ └── values.yaml ├── library │ ├── Chart.yaml │ └── templates │ └── _recommended_labels.tpl ├── thin │ ├── CHANGELOG.md │ ├── Chart.yaml │ ├── README.md │ ├── charts │ │ └── library │ ├── templates │ │ ├── _helpers.tpl │ │ ├── config │ │ │ └── runtime.yaml │ │ ├── fuse │ │ │ └── daemonset.yaml │ │ ├── fuseconfig │ │ │ └── fuseconfig.yaml │ │ └── worker │ │ └── statefuleset.yaml │ └── values.yaml └── vineyard ├── Chart.yaml ├── charts │ └── library ├── templates │ ├── _helpers.tpl │ ├── config │ │ └── vineyard-rpc-conf.yaml │ ├── fuse │ │ └── daemonset.yaml │ ├── master │ │ ├── service.yaml │ │ └── statefulset.yaml │ └── worker │ ├── service.yaml │ └── statefulset.yaml └── values.yaml

121 directories, 234 files

airlenet commented 2 weeks ago
juicefsruntime-controller-5694b75d59-rw7dp:/charts# /usr/local/bin/ddc-helm install -f /tmp/testdemo-juicefs-values.yaml2941365390 --namespace test testdemo /charts/juicefs
Error: INSTALLATION FAILED: error unpacking library in juicefs: Chart.yaml file is missing