apache / apache/libcloud

GCENodeDriver.ex_create_multiple_nodes doesn't clean itself when fails.

Open
#1,589 1 comment 0 reactions 0 assignees View on GitHub
stale
Dominant language
Python
Stars
2.1k
Forks
931
Avg merge
1d 2h
Merged PRs (30d)
4

Description

## Summary

When calling `GCENodeDriver.ex_create_multiple_nodes`, if it gets timeout, the whole operation raises an exception, and the already created nodes are dangling and are not passed to the caller.

## Detailed Information

When calling `GCENodeDriver.ex_create_multiple_nodes`, if it gets timeout, the whole operation raises an exception , and the already created nodes are dangling and are not passed to the caller. I think that actually deleting the created nodes is pretty intrusive. But, it may be helpful to pass the information regarding the already created nodes in the raised exception object, so that the caller would be able to act on this information. Another option is to yield all created nodes as soon as they are created.

Thanks!

Contributor guide

Open the contributing guide

Research direction

Start with GCENodeDriver.ex_create_multiple_nodes and trace how timeout failures are raised after some nodes have been created. The issue does not choose between deleting those nodes, exposing them through the exception, or yielding them; clarify that API decision first, then define done as ensuring callers can handle already-created nodes without leaving them inaccessible.

Written by the indexing model from the issue text.

Assessment

Tech stack
google-cloud, python
Domain
cloud
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.