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 unpins Faraday and webmock, and updates specs so that the Faraday changes (primarily including auth in the header rather than in the URL) is reflected.
the ABS system does not have a real sense of the current state of the resources
it has allocated. When running list --active it can list VMs that have been
deleted or reaped after their lifetime expired.
This change enables to show more information when a vmpooler_fallback service
is provided to ABS, and will show the state (running, destroyed) and colorize
in red when the VM is destroyed.
ABS now returns the ABS job_id on the first line, then every
vmpooler hostname indented. It queries them from vmpooler to
get the metadata like lifetime etc
Adds an option to the `floaty list` subcommand so that, when listing
active hosts, floaty will output just the hostnames, without any
additional information or formatting. Hostnames will be separated by a
newline.
This functionality is primarily intended for consuming by tooling (such
as the tab completion scripts).
Before this change ABS sometiimes returned a string of JSON with escaped
quotes, that had to be parsed again
With this change, floaty should accept both the legacy and the new
full JSON responses.
This change creates the `floaty service` command with two valid
arguemnts: types and examples
- `floaty service types` prints out a list of valid types for use in a
service definition in ~/.vmfloaty.yml
- `floaty service examples` prints out example configuration files for
both a single service and multiple services.
Before this change, the fallback vmpooler for ABS had to be named
'vmpooler' and it only supported one. With this new code, users can
set a key within an 'abs' service type called vmpooler_fallback that
points to any other service configured in the ~/.vmfloaty.yml config
file. If not set, the appropriate error message is returned, with
an example configuration.
Added the various use cases for the config to the unit tests
This commit adds support for provisioning instances on demand with
vmpooler. Additionally, this change adds a capability to detect on
demand pools available in ABS. Without this change vmfloaty does not
support provisioning instances via the vmpooler ondemand endpoints.
This adds Dependabot to keep things updated and Coveralls so we can see
how code coverage changes over time. Coveralls / SimpleCov are
configured so that both the SimpleCov html report and the Coveralls
report are generated. This facilitates easily seeing coverage locally in
addtion to via CI.