From 47043ec31e2eea92a63d42cadbda23e884b9c90b Mon Sep 17 00:00:00 2001 From: Prathamesh Musale Date: Tue, 21 Apr 2026 06:39:26 +0000 Subject: [PATCH] test(k8s-deployment-control): split cluster-id vs deployment-id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same test-fixture fix as tests/k8s-deploy/run-deploy-test.sh: after the cluster-id/deployment-id decouple, deployment.yml has two lines instead of one, so \`cut -d ' ' -f 2\` yields a multi-value string. The assignment to \$deployment_id then corrupted the kubectl label selector — kubectl saw "a name AND a selector" and refused. Split the extraction by field, with deployment-id falling back to cluster-id when the field is absent (pre-decouple deployment.yml). Use cluster-id for the kind worker node name; deployment-id for the app= label selector. Co-Authored-By: Claude Opus 4.7 (1M context) --- tests/k8s-deployment-control/run-test.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tests/k8s-deployment-control/run-test.sh b/tests/k8s-deployment-control/run-test.sh index bf003228..4b5ffec7 100755 --- a/tests/k8s-deployment-control/run-test.sh +++ b/tests/k8s-deployment-control/run-test.sh @@ -185,8 +185,15 @@ node-tolerations: value: c EOF -# Get the deployment ID so we can generate low level kubectl commands later -deployment_id=$(cat ${test_deployment_dir}/deployment.yml | cut -d ' ' -f 2) +# cluster-id names the kind cluster (and its worker node names). +# deployment-id is what flows into app_name / resource name prefixes. +# Fall back to cluster-id for deployment.yml files written before the +# deployment-id field existed. +cluster_id=$(awk '/^cluster-id:/ {print $2; exit}' ${test_deployment_dir}/deployment.yml) +deployment_id=$(awk '/^deployment-id:/ {print $2; exit}' ${test_deployment_dir}/deployment.yml) +if [ -z "$deployment_id" ]; then + deployment_id=$cluster_id +fi # Try to start the deployment $TEST_TARGET_SO deployment --dir $test_deployment_dir start --perform-cluster-management @@ -208,7 +215,7 @@ fi # Get get the node onto which the stack pod has been deployed # Namespace is now derived from stack name, not cluster-id deployment_node=$(kubectl get pods -n laconic-test -l app=${deployment_id} -o=jsonpath='{.items..spec.nodeName}') -expected_node=${deployment_id}-worker3 +expected_node=${cluster_id}-worker3 echo "Stack pod deployed to node: ${deployment_node}" if [[ ${deployment_node} == ${expected_node} ]]; then echo "deployment of pod test: passed"