[PR #16] [MERGED] fix: go hid the real failure and then tried SSH against a stopped box #17

Closed
opened 2026-10-31 22:02:41 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/comfy-qa-tools/pull/16
Author: @aliranjah
Created: 8/25/2026
Status: ✅ Merged
Merged: 8/25/2026
Merged by: @aliranjah

Base: main ← Head: fix/go-swallowed-failure


📝 Commits (1)

  • 3da2327 fix: go hid the real failure and then tried SSH against a stopped box

📊 Changes

3 files changed (+121 additions, -3 deletions)

View changed files

📝 comfy_qa/host.py (+18 -2)
📝 comfy_qa/lifecycle.py (+44 -1)
📝 tests/test_lifecycle.py (+59 -0)

📄 Description

A live run produced this:

  comfy-win is stopped — starting it
  looking for ComfyUI in C:\ComfyUI

could not run a command on comfy-win: ... Failed to connect to port 22

Note what is missing between those two lines: is running and tunnel open. The
box never came up — and go caught every LifecycleError alike, threw the reason
away, and carried on to SSH a machine that was not running. The error shown was
real and told you nothing about the actual problem.

Fixes

  • LifecycleError carries a kind. go continues past exactly one failure —
    ComfyUI not being installed yet, which is what the next steps exist to fix — and
    reports everything else instead of swallowing it.
  • RUNNING is not ready. Windows takes minutes to start its SSH server, and
    connecting too early fails with failed to connect to backend, which reads like
    a permissions problem and is not. wait_for_ssh polls until the box accepts a
    command, says why it is waiting, and gives up with the manual way in.

Learned from the live box while fixing this

  • SSH over IAP works — enable-windows-ssh is set and the default firewall
    rules already cover IAP's range.
  • ComfyUI is already installed at C:\ComfyUI, so the install path was never
    the problem here. It stays for boxes that need it.

Verified

208 tests, 4 new.

🤖 Generated with Claude Code

https://claude.ai/code/session_015X8c3zczxydWiPfhnxfYNx


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/comfy-qa-tools/pull/16 **Author:** [@aliranjah](https://github.com/aliranjah) **Created:** 8/25/2026 **Status:** ✅ Merged **Merged:** 8/25/2026 **Merged by:** [@aliranjah](https://github.com/aliranjah) **Base:** `main` ← **Head:** `fix/go-swallowed-failure` --- ### 📝 Commits (1) - [`3da2327`](https://github.com/Comfy-Org/comfy-qa-tools/commit/3da23277fee196d266428e38056dd79fafbc5f2f) fix: `go` hid the real failure and then tried SSH against a stopped box ### 📊 Changes **3 files changed** (+121 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `comfy_qa/host.py` (+18 -2) 📝 `comfy_qa/lifecycle.py` (+44 -1) 📝 `tests/test_lifecycle.py` (+59 -0) </details> ### 📄 Description A live run produced this: ``` comfy-win is stopped — starting it looking for ComfyUI in C:\ComfyUI could not run a command on comfy-win: ... Failed to connect to port 22 ``` Note what is missing between those two lines: `is running` and `tunnel open`. The box never came up — and `go` caught every `LifecycleError` alike, threw the reason away, and carried on to SSH a machine that was not running. **The error shown was real and told you nothing about the actual problem.** ## Fixes - **`LifecycleError` carries a kind.** `go` continues past exactly one failure — ComfyUI not being installed yet, which is what the next steps exist to fix — and reports everything else instead of swallowing it. - **RUNNING is not ready.** Windows takes minutes to start its SSH server, and connecting too early fails with `failed to connect to backend`, which reads like a permissions problem and is not. `wait_for_ssh` polls until the box accepts a command, says *why* it is waiting, and gives up with the manual way in. ## Learned from the live box while fixing this - SSH over IAP **works** — `enable-windows-ssh` is set and the default firewall rules already cover IAP's range. - **ComfyUI is already installed** at `C:\ComfyUI`, so the install path was never the problem here. It stays for boxes that need it. ## Verified 208 tests, 4 new. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_015X8c3zczxydWiPfhnxfYNx --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 22:02:41 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/comfy-qa-tools#17
No description provided.