-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Description
Problem
The LOCAL_DATASERVER environment variable is not respected. This becomes evident when SDC is deployed in a namespace other than sdc-system.
Reproduction
echo "==> Cleaning up any existing minikube cluster"
minikube delete --all || true
echo "==> Starting minikube (this may take a minute)"
minikube start --embed-certs
echo "==> Ensuring nodes are Ready"
kubectl wait --for=condition=Ready nodes --all --timeout=120s
NAMESPACE=network-system
echo "==> Install sdc in namespace ${NAMESPACE}"
tmpdir=$(mktemp -d)
pushd $tmpdir
cat <<EOF > kustomization.yaml
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: network-system
resources:
- https://docs.sdcio.dev/artifacts/basic-usage/installation.yaml
EOF
kubectl kustomize . | kubectl apply -f -
popd
rm -rf $tmpdir
echo "==> Waiting for api-server in namespace ${NAMESPACE} to become Ready"
kubectl rollout status deployment/api-server -n ${NAMESPACE}
echo "==> Waiting for controller in namespace ${NAMESPACE} to become Ready"
kubectl rollout status deployment/controller -n ${NAMESPACE}
echo "==> Waiting for data-server in namespace ${NAMESPACE} to become Ready"
kubectl wait --for=jsonpath='{.status.readyReplicas}'=1 statefulset/data-server-controller -n ${NAMESPACE}
echo "==> Get for data-server environment variables"
kubectl -n ${NAMESPACE} get statefulsets data-server-controller -o json | jq ".spec.template.spec.containers[0].env"
echo "==> Get for data-server connection failure logs"
kubectl --context=minikube -n ${NAMESPACE} logs statefulsets/data-server-controller | grep "connect failed"Result
{"time":"2026-02-26T02:16:50.255638405Z","level":"WARN","message":"connect failed","logger":"sdc-controller-logger","data":{"error":{"message":"dataserver connect: connect \"data-server.sdc-system.svc.cluster.local:56000\": context deadline exceeded","stack":["/home/runner/go/pkg/mod/github.com/henderiw/logger@v0.0.0-20230911123436-8655829b1abe/log/handler.go:34 (github.com/henderiw/logger/log.(*Handler).Handle)","/home/runner/work/config-server/config-server/pkg/sdc/dataserver/manager/manager.go:203 (github.com/sdcio/config-server/pkg/sdc/dataserver/manager.(*DSConnManager).run)","/opt/hostedtoolcache/go/1.24.3/x64/src/runtime/asm_amd64.s:1700 (runtime.goexit)"]}}}Controller is attempting to connect to data-server.sdc-system.svc.cluster.local:56000 instead of localhost:56000.
I believe this is due to https://github.com/sdcio/config-server/blob/main/cmd/controller/main.go#L138. We should instead be calling GetLocalDataServerAddress() not GetDataServerAddress()
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels