@@ -443,17 +443,6 @@ async def start_cmd(
443443 ),
444444 )
445445
446- await run_in_vm (
447- vm_name ,
448- [
449- "bash" ,
450- "-c" ,
451- "kubectl --kubeconfig=/kubeconfig get nodes --no-headers -o custom-columns=NAME:.metadata.name 2>/dev/null | xargs -I {} sh -c \" grep -q '{}' /etc/hosts || echo '127.0.0.1 {}' >> /etc/hosts\" " ,
452- ],
453- "Ensuring node name resolution" ,
454- check = False ,
455- )
456-
457446 if platform == "k3s" :
458447 await run_in_vm (
459448 vm_name ,
@@ -592,6 +581,16 @@ async def start_cmd(
592581 )
593582 ).stdout .decode ()
594583 )
584+ await run_in_vm (
585+ vm_name ,
586+ [
587+ "bash" ,
588+ "-c" ,
589+ "timeout 5m bash -c 'until kubectl --kubeconfig=/kubeconfig get nodes --no-headers -o custom-columns=NAME:.metadata.name 2>/dev/null | grep -q .; do sleep 5; done' && "
590+ "kubectl --kubeconfig=/kubeconfig get nodes --no-headers -o custom-columns=NAME:.metadata.name | xargs -I {} sh -c \" grep -q '{}' /etc/hosts || echo '127.0.0.1 {}' >> /etc/hosts\" " ,
591+ ],
592+ "Ensuring node name resolution" ,
593+ )
595594 await run_in_vm (
596595 vm_name ,
597596 [
@@ -604,6 +603,7 @@ async def start_cmd(
604603 "--create-namespace" ,
605604 "--values=/tmp/agentstack-values.yaml" ,
606605 "--timeout=20m" ,
606+ "--wait" ,
607607 "--kubeconfig=/kubeconfig" ,
608608 * (f"--set={ value } " for value in set_values_list ),
609609 ],
@@ -664,11 +664,12 @@ async def start_cmd(
664664 ["bash" ],
665665 "Forwarding VM services to host" ,
666666 input = textwrap .dedent ("""\
667+ set -euxo pipefail
667668 systemctl daemon-reload
668669 kubectl --kubeconfig=/kubeconfig get svc -n default -o 'jsonpath={range .items[*]}{.metadata.name}{":"}{.spec.ports[*].port}{"\\ n"}{end}' | while IFS=: read svc ports; do
669670 for port in $ports; do
670671 if [[ ( "$port" -ge 8333 && "$port" -le 8399 ) || "$port" -eq 4318 ]]; then
671- systemctl start "kubectl-port-forward@${svc}:${port}" &
672+ systemctl start "kubectl-port-forward@${svc}:${port}"
672673 fi
673674 done
674675 done
0 commit comments