All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog & makes a strong effort to adhere to Semantic Versioning.
Tracking in this Changelog began for this project with the tagging of version 0.1.0. If you're looking for changes from before this, refer to the project's git logs & PR history.
- Reconnect to Redis if it fails to connect (POOLER-156)
- Update Gem dependencies
- Option to provide path to additional configuration files (POOLER-157)
- Pin Dockerfiles to use JRuby 9.2.9 instead of 9.2.11 to avoid a StackOverlow that was occuring.
- Fixes or adds exceptions for all outstanding Rubocop issues and enables mandatory Rubocop checks on PRs
- Fix Redis update during migration to better reflect actual state (POOLER-154)
- Update Rubocop config, now we can actually see all the failing cops
- API endpoint for resetting a pool clearing ready and pending instances (POOLER-153)
- Generate a wider set of human readable machine names
- Support nested folders in find_cluster()
- Add capability to set a max machine TTL (POOLER-123)
- Add marked as failed stat
- Uniqueness check on generated hostnames to prevent collisions
- Update hostname_shorten regex that was causing problems with returning VMs
- Rubocop linter fixes
- Make VM names human readable
- Synchronize checkout operations across API threads (POOLER-150)
- Correctly detect create_linked_clone on a pool level (POOLER-147)
- Add capability to disable linked clones for vsphere provider (POOLER-147)
- Add running host to VM data returned from /vm/hostname (POOLER-142)
- Add capability to configure pool cluster via config api (POOLER-143)
- Validate a machine responds to vm_ready? at checkout (POOLER-140)
- Vmpooler /status legacy api optimization
- Ensure migrations and pending evaluations are processed FIFO (POOLER-141)
- Vmpooler pool statistic endpoint optimization
- Ensure a checked out VM stays in a queue during checkout (POOLER-140)
- Eliminate window for checked out VM to be discovered (POOLER-139)
- Improve support for configuration via environment variables (POOLER-137)
- Support multiple pool backends per alias (POOLER-138)
- Remove redis server testing requirement
- Sync pool size before dashboard is displayed (POOLER-132)
- Remove a failed VM from the ready queue (POOLER-133)
- Begin checking ready VMs to ensure alive after 1 minute by default
- Ensure that metric nodes for vm usage stats are consistent
- Add capability to ship VM usage metrics (POOLER-134)
- Return label used to request VMs when fulfilling VM requests (POOLER-131)
- Better handle delta disk creation errors (POOLER-130)
- Re-write check_pool in pool_manager to improve readability
- Add a docker-compose file for testing vmpooler
- Add capability to weight backends when an alias spans multiple backends (POOLER-129)
- (POOLER-128) VM specific mutex objects are not dereferenced when a VM is destroyed
- A VM that is being destroyed is reported as discovered
- Adds a new mechanism to load providers from any gem or file path
- Remove unused method
find_pool
and related pending tests - Setting
max_tries
results in an infinite loop (POOLER-124) - Do not evaluate folders as VMs in
get_pool_vms
(POOLER-40) - Expire redis VM key when clone fails (POOLER-31)
- Remove all usage of propertyCollector
- Replace
find_vm
search mechanism (POOLER-68) - Fix configuration file loading (POOLER-103)
- Update vulnerable dependencies (POOLER-101)
- Allow API and manager to run separately (POOLER-109)
- Add configuration API endpoint (POOLER-107)
- Add option to disable VM hostname mismatch checks
- Add a gemspec file
- Add time remaining information (POOLER-81)
- Ship metrics for clone to ready time (POOLER-34)
- Reduce duplicate checking of VMs
- Reduce object lookups when retrieving VMs and folders
- Optionally create delta disks for pool templates
- Drop support for any ruby before 2.3
- Add support for multiple LDAP search base DNs (POOLER-113)
- Ensure a VM is only destroyed once (POOLER-112)
- Add support for setting redis server port and password
- Greatly reduce time it takes to add disks
- Add Dockerfile that does not bundle redis
- Add vmpooler.service to support systemd managing the service