VMPooler hypervisor library for beaker
Find a file
David Schmitt 5317f2c1db (maint) random backoff strategy
The retry logic for VMPooler has two issues. 1) Waiting longer than
VMPooler takes to refill the pool to retry introduces excessive delays,
and 2) waiting for a deterministic amount of time means that processes
started at the same time stay in sync causing peak loads.

This change caps the wait time at 15 seconds plus a random wait time,
addressing both issues.
2018-11-26 09:48:48 +00:00
bin Initial commit 2017-06-30 09:41:21 -07:00
lib (maint) random backoff strategy 2018-11-26 09:48:48 +00:00
spec (BKR-1481) Rewrite beaker-vmpooler to use shared .fog parsing (#11) 2018-07-16 13:09:51 -07:00
.gitignore Initial commit 2017-06-30 09:41:21 -07:00
.rspec Initial commit 2017-06-30 09:41:21 -07:00
.simplecov Initial commit 2017-06-30 09:41:21 -07:00
beaker-vmpooler.gemspec (MAINT) Drop MockVsphereHelper (#10) 2018-07-02 08:57:30 -07:00
Gemfile (MAINT) Drop MockVsphereHelper (#10) 2018-07-02 08:57:30 -07:00
LICENSE Initial commit 2017-06-30 09:41:21 -07:00
Rakefile (maint) Add option for BEAKER_HOSTS file to be pregenerated in acceptance tests 2017-11-28 08:41:42 -08:00
README.md (BKR-1509) Hypervisor usage instructions for Beaker 4.0 2018-08-03 12:17:32 -07:00
vmpooler.md Initial commit 2017-06-30 09:41:21 -07:00

beaker-vmpooler

Beaker library to use vmpooler hypervisor

How to use this wizardry

This is a gem that allows you to use hosts with vmpooler hypervisor with beaker.

Beaker will automatically load the appropriate hypervisors for any given hosts file, so as long as your project dependencies are satisfied there's nothing else to do. No need to require this library in your tests.

With Beaker 3.x

This library is included as a dependency of Beaker 3.x versions, so there's nothing to do.

With Beaker 4.x

As of Beaker 4.0, all hypervisor and DSL extension libraries have been removed and are no longer dependencies. In order to use a specific hypervisor or DSL extension library in your project, you will need to include them alongside Beaker in your Gemfile or project.gemspec. E.g.

# Gemfile
gem 'beaker', '~>4.0'
gem 'beaker-vmpooler'
# project.gemspec
s.add_runtime_dependency 'beaker', '~>4.0'
s.add_runtime_dependency 'beaker-vmpooler'

Spec tests

Spec test live under the spec folder. There are the default rake task and therefore can run with a simple command:

bundle exec rake test:spec

Acceptance tests

We run beaker's base acceptance tests with this library to see if the hypervisor is working with beaker. There is a simple rake task to invoke acceptance test for the library:

bundle exec rake test:acceptance

Contributing

Please refer to puppetlabs/beaker's contributing guide.

If you are making changes in beaker-vmpooler and simultaneously in beaker, please comment and link your beaker fork repo and branch name in your PR of beaker-vmpooler for testing on CI.