Skip to content

Preserve GCE bulk creation progress on timeout - #2194

Open
ishu7w wants to merge 1 commit into
apache:trunkfrom
ishu7w:preserve-gce-nodes-on-create-timeout
Open

ishu7w wants to merge 1 commit into
apache:trunkfrom
ishu7w:preserve-gce-nodes-on-create-timeout

Conversation

@ishu7w

@ishu7w ishu7w commented Oct 11, 2026

Copy link
Copy Markdown

Description

Fixes #1589. When ex_create_multiple_nodes times out after some nodes have been created, its generic exception discards all progress. Callers cannot retrieve known results to recover or clean up their cloud resources.

Raise GCEMultipleNodesTimeoutError, a LibcloudError subclass, carrying nodes (known successful or failed results, in request order) and pending_node_names (results still unknown). Include the timeout value in the message. Existing successful calls still return the same list. Resources are not automatically deleted, and the documentation warns that pending operations can finish after the timeout.

Validation

  • Two regressions fail on unchanged trunk: timeout after mixed successful/failed/pending results, and timeout before any creation starts.
  • All 215 GCE and Google common connection/authentication tests pass, including existing bulk creation success tests.
  • Regression verifies retained object identity/order, unresolved names, timeout/driver details, and absence of automatic deletion.
  • Black, isort, flake8, and whitespace checks pass for changed Python files.
  • Tests use deterministic polling and provider fixtures; no live cloud resources were created.

Status

Ready for review.

Checklist

  • Code linting
  • Documentation
  • Tests
  • ICLA (if maintainers consider this change a bigger contribution)

AI assistance: This implementation, regression tests, and description were prepared with OpenAI Codex.

Expose completed node results and pending node names in a specific LibcloudError so callers can recover or clean up resources after a timeout. Pending operations may still complete; no resources are automatically deleted.

Fixes apache#1589
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.

GCENodeDriver.ex_create_multiple_nodes doesn't clean itself when fails.

1 participant