mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 01:58:41 -05:00
This commit updates get_vm in the vmpooler API to allow for setting weights for backends. Additionally, when an alias for a pool exists, and the backend configured is not weighted, then the selection of the pool based on alias will be randomly sampled. Without this change any pool with the title of the alias is exhausted before an alternate pool with the configured alias is used, which results in an uneven distribution of VMs. When all backends involved are configured with weighted values the VM selection will be based on probability using those weights. A bug is fixed when setting the default ttl for check_ready_vm. Pickup is added to handle weighted VM selection. A dockerfile is added that allows for building and installing vmpooler from the current HEAD in docker to make for easy testing.
42 lines
1.1 KiB
Ruby
42 lines
1.1 KiB
Ruby
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
|
|
|
gem 'json', '>= 1.8'
|
|
gem 'pickup', '~> 0.0.11'
|
|
gem 'puma', '~> 3.11'
|
|
gem 'rack', '~> 2.0'
|
|
gem 'rake', '~> 12.3'
|
|
gem 'redis', '~> 4.0'
|
|
gem 'rbvmomi', '~> 1.13'
|
|
gem 'sinatra', '~> 2.0'
|
|
gem 'net-ldap', '~> 0.16'
|
|
gem 'statsd-ruby', '~> 1.4.0', :require => 'statsd'
|
|
gem 'connection_pool', '~> 2.2'
|
|
gem 'nokogiri', '~> 1.8'
|
|
|
|
group :development do
|
|
gem 'pry'
|
|
end
|
|
|
|
# Test deps
|
|
group :test do
|
|
# required in order for the providers auto detect mechanism to work
|
|
gem 'vmpooler', path: './'
|
|
gem 'mock_redis', '>= 0.17.0'
|
|
gem 'rack-test', '>= 0.6'
|
|
gem 'rspec', '>= 3.2'
|
|
gem 'simplecov', '>= 0.11.2'
|
|
gem 'yarjuf', '>= 2.0'
|
|
# Rubocop would be ok jruby but for now we only use it on
|
|
# MRI or Windows platforms
|
|
gem "rubocop", :platforms => [:ruby, :x64_mingw]
|
|
end
|
|
|
|
# Evaluate Gemfile.local if it exists
|
|
if File.exists? "#{__FILE__}.local"
|
|
instance_eval(File.read("#{__FILE__}.local"))
|
|
end
|
|
|
|
# Evaluate ~/.gemfile if it exists
|
|
if File.exists?(File.join(Dir.home, '.gemfile'))
|
|
instance_eval(File.read(File.join(Dir.home, '.gemfile')))
|
|
end
|