StarRocks / starrocks-kubernetes-operator

Kubernetes Operator for StarRocks
Apache License 2.0
134 stars 67 forks source link

Failed to start Warehouse pod #567

Closed yandongxiao closed 1 month ago

yandongxiao commented 1 month ago

Describe the bug

I put the FE conf under

spec:
  starRocksFeSpec:
    configmaps:
        - mountPath: /opt/starrocks/fe/conf/fe.conf
        name: fe-config
        subPath: fe.conf

not config it under

spec:
  starRocksFeSpec:
     configMapInfo:
        configMapName: fe-config
        resolveKey: fe.conf

I got the following error:

2024-07-12T15:06:04.506+0800    ERROR   StarRocksWarehouseReconciler    sub controller reconciles spec failed   {"controller": "starrockswarehouse", "controllerGroup": "[starrocks.com](http://starrocks.com/)", "controllerKind": "StarRocksWarehouse", "StarRocksWarehouse": {"name":"public-wh","namespace":"starrocks-bus"}, "namespace": "starrocks-bus", "name": "public-wh", "reconcileID": "95b6bbe7-42d7-499d-9e5d-d29cc1137751", "name": "public-wh", "namespace": "starrocks-bus", "error": "StarRocks Cluster should run in shared_data mode"}
[github.com/StarRocks/starrocks-kubernetes-operator/pkg/controllers.handleSyncWarehouseError](http://github.com/StarRocks/starrocks-kubernetes-operator/pkg/controllers.handleSyncWarehouseError)
        /go/src/app/pkg/controllers/starrockswarehouse_controller.go:151
[github.com/StarRocks/starrocks-kubernetes-operator/pkg/controllers.(*StarRocksWarehouseReconciler).Reconcile](http://github.com/StarRocks/starrocks-kubernetes-operator/pkg/controllers.(*StarRocksWarehouseReconciler).Reconcile)
        /go/src/app/pkg/controllers/starrockswarehouse_controller.go:98
[sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile](http://sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile)
        /go/src/app/vendor/[sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:122](http://sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:122)
[sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler](http://sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler)
        /go/src/app/vendor/[sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:323](http://sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:323)
[sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem](http://sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem)
        /go/src/app/vendor/[sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:274](http://sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:274)
[sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2](http://sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2)
        /go/src/app/vendor/[sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:235](http://sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:235)
2024-07-12T15:06:04.524+0800    ERROR   Reconciler error        {"controller": "starrockswarehouse", "controllerGroup": "[starrocks.com](http://starrocks.com/)", "controllerKind": "StarRocksWarehouse", "StarRocksWarehouse": {"name":"public-wh","namespace":"starrocks-bus"}, "namespace": "starrocks-bus", "name": "public-wh", "reconcileID": "95b6bbe7-42d7-499d-9e5d-d29cc1137751", "error": "StarRocks Cluster should run in shared_data mode"}
[sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler](http://sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler)
        /go/src/app/vendor/[sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:329](http://sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:329)
[sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem](http://sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem)
        /go/src/app/vendor/[sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:274](http://sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:274)
[sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2](http://sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2)
        /go/src/app/vendor/[sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:235](http://sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:235)

I am sure I set up cluster in shared-data mode. The above error means operator had read a wrong FE config.

Expected behavior

Respect the config under configmaps

Please complete the following information

kevincai commented 1 month ago

this might not work at all in case the configmap is mounted as readonly and we do want to make some changes suitable for kubernetes environment deploy.

yandongxiao commented 1 month ago

‌‌‌‌‌Yes. When the container is running, there will be instances where the fe.conf file is modified. For example, when a user sets the LOG_CONSOLE environment variable, the SR startup script will append configuration information to the fe.conf.

yandongxiao commented 1 month ago

‌‌‌‌‌‌‌Users might have overlooked the configuration of starRocksFeSpec. It starts successfully and runs smoothly through the method of configmaps. User may think this is make sence way to set up SR cluster.

yandongxiao commented 1 month ago

‌Regardless, at this stage, there is indeed the situation you mentioned, where a read-only configmap cannot be directly modified.