runpod: a rented pod that was never recorded, and billed on (v0.2.96)
NameError in _provision_one: it read `dc`, a local computed inside
_create_with_fallback, from a function that has no such name. The sequence that
costs money is this — create_pod succeeds, the pod boots on RunPod, the
PodHandle raises, the pool never records the pod, the caller provisions again.
Four A40s existed for a warm floor of one before anyone looked.
Both paths now call pool._data_center(), which keeps the same precedence (the
volume's region, then the model's, then the account's) in one place.
The two tests that covered this asserted the broken expression as a SOURCE
STRING — 'data_center=(getattr(self, "_volume_dc", "") or dc or "")' — so they
passed on a NameError and would have gone on passing. They now call the
resolver, including with nothing configured anywhere, which is the shape that
raised.
Co-Authored-By:
Claude Opus 5 <noreply@anthropic.com>
Showing
Please
register
or
sign in
to comment