Skip to content

Skip unreachable nodes in get_vms instead of failing#15

Open
kovalevsky wants to merge 1 commit intocanvrno:mainfrom
kovalevsky:fix/skip-offline-nodes-in-get-vms
Open

Skip unreachable nodes in get_vms instead of failing#15
kovalevsky wants to merge 1 commit intocanvrno:mainfrom
kovalevsky:fix/skip-offline-nodes-in-get-vms

Conversation

@kovalevsky
Copy link

@kovalevsky kovalevsky commented Feb 2, 2026

Previously, a single offline node caused the entire get_vms tool to fail with 595 No route to host.

  • Wrap per-node qemu.get() call in try/except so offline/unreachable nodes are skipped gracefully
  • VMs on reachable nodes are now returned normally; unreachable nodes are logged and skipped

When a node is offline, proxmox.nodes(node).qemu.get() throws a
connection error that bubbles up and fails the entire get_vms call.
Wrap the per-node VM query in try/except so offline nodes are skipped
gracefully while VMs on reachable nodes are still returned.
markmcjr pushed a commit to markmcjr/ProxmoxMCP that referenced this pull request Feb 15, 2026
- Remove execute_vm_command MCP tool registration (arbitrary code execution risk)
- Add environment variable auth (PROXMOX_HOST, PROXMOX_TOKEN_ID, PROXMOX_TOKEN_SECRET)
- Add input validation for node names and VM IDs
- Enable SSL verification by default in config.example.json
- Fix Python version requirement to >=3.10 (MCP SDK needs it)
- Fix MCP dependency: replace broken git+ URL with mcp>=1.0.0,<1.7.0
- Add main() entry point and __main__.py for python -m invocation
- Wrap per-node VM listing in try/except (offline nodes no longer crash)
- Fix test imports and assertions to match hardened codebase
- Add SETUP.md with complete configuration and continuation docs

Based on community PRs canvrno#14 and canvrno#15 plus additional security hardening.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant