ishu7w opened a new pull request, #2194: URL: https://github.com/apache/libcloud/pull/2194
### 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 - [x] Code linting - [x] Documentation - [x] Tests - [ ] ICLA (if maintainers consider this change a bigger contribution) AI assistance: This implementation, regression tests, and description were prepared with OpenAI Codex. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
