Add support for deleting ondemand requests by request-id

This change enables floaty delete to accept request-ids (UUID format)
in addition to hostnames. When a request-id is detected, floaty will:

1. Cancel pending ondemand requests by marking status as 'deleted'
2. Move any already-provisioned VMs to the termination queue

Implementation:
- Modified Pooler.delete to detect UUID format and use ondemandvm endpoint
- Updated command syntax and examples to document request-id support
- Added comprehensive tests for request-id deletion
- Fixed Ruby 3.1+ compatibility by adding abbrev and base64 gems

Fixes issue where users had no way to cancel ondemand requests or
bulk-delete VMs from a completed request.
This commit is contained in:
Mahima Singh 2025-12-19 17:04:08 +05:30
parent 6b6d6f73cd
commit 4686213f49
6 changed files with 299 additions and 4 deletions

View file

@ -8,9 +8,11 @@ PATH
GEM
remote: https://rubygems.org/
specs:
abbrev (0.1.2)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
ast (2.4.2)
base64 (0.3.0)
bigdecimal (3.1.8)
coderay (1.1.3)
commander (4.6.0)
@ -107,9 +109,12 @@ GEM
PLATFORMS
aarch64-linux
arm64-darwin-25
x86_64-linux
DEPENDENCIES
abbrev
base64
pry
rake
rb-readline