mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 01:58:41 -05:00
Merge pull request #502 from puppetlabs/maint-upgrade-jruby-9.3-nokogiri
(maint) Bump version to 2.4.0
This commit is contained in:
commit
72928ce80d
10 changed files with 38 additions and 71 deletions
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
|
|
@ -20,10 +20,10 @@ jobs:
|
|||
draft: false
|
||||
prerelease: false
|
||||
generateReleaseNotes: true
|
||||
- name: Install Ruby jruby-9.2.12.0
|
||||
- name: Install Ruby jruby-9.3.6.0
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 'jruby-9.2.12.0'
|
||||
ruby-version: 'jruby-9.3.6.0'
|
||||
- name: Build gem
|
||||
run: gem build *.gemspec
|
||||
- name: Publish gem
|
||||
|
|
|
|||
6
.github/workflows/testing.yml
vendored
6
.github/workflows/testing.yml
vendored
|
|
@ -18,8 +18,7 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
ruby-version:
|
||||
# - '2.5.8'
|
||||
- 'jruby-9.2.12.0'
|
||||
- 'jruby-9.3.6.0'
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Ruby
|
||||
|
|
@ -35,8 +34,7 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
ruby-version:
|
||||
# - '2.5.8'
|
||||
- 'jruby-9.2.12.0'
|
||||
- 'jruby-9.3.6.0'
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Ruby
|
||||
|
|
|
|||
82
Gemfile.lock
82
Gemfile.lock
|
|
@ -1,12 +1,11 @@
|
|||
PATH
|
||||
remote: .
|
||||
specs:
|
||||
vmpooler (2.3.0)
|
||||
vmpooler (2.4.0)
|
||||
concurrent-ruby (~> 1.1)
|
||||
connection_pool (~> 2.2)
|
||||
deep_merge (~> 1.2)
|
||||
net-ldap (~> 0.16)
|
||||
nokogiri (~> 1.10)
|
||||
opentelemetry-exporter-jaeger (= 0.20.1)
|
||||
opentelemetry-instrumentation-concurrent_ruby (= 0.19.2)
|
||||
opentelemetry-instrumentation-http_client (= 0.19.4)
|
||||
|
|
@ -30,54 +29,30 @@ GEM
|
|||
ast (2.4.2)
|
||||
bindata (2.4.10)
|
||||
builder (3.2.4)
|
||||
climate_control (1.0.1)
|
||||
climate_control (1.2.0)
|
||||
coderay (1.1.3)
|
||||
concurrent-ruby (1.1.10)
|
||||
connection_pool (2.2.5)
|
||||
deep_merge (1.2.2)
|
||||
diff-lcs (1.5.0)
|
||||
docile (1.4.0)
|
||||
faraday (1.10.0)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
faraday-httpclient (~> 1.0)
|
||||
faraday-multipart (~> 1.0)
|
||||
faraday-net_http (~> 1.0)
|
||||
faraday-net_http_persistent (~> 1.0)
|
||||
faraday-patron (~> 1.0)
|
||||
faraday-rack (~> 1.0)
|
||||
faraday-retry (~> 1.0)
|
||||
faraday (2.3.0)
|
||||
faraday-net_http (~> 2.0)
|
||||
ruby2_keywords (>= 0.0.4)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.0)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-multipart (1.0.3)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
faraday-net_http (1.0.1)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
faraday-patron (1.0.0)
|
||||
faraday-rack (1.0.0)
|
||||
faraday-retry (1.0.3)
|
||||
faraday-net_http (2.0.3)
|
||||
ffi (1.15.5-java)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
method_source (1.0.0)
|
||||
mock_redis (0.31.0)
|
||||
mock_redis (0.32.0)
|
||||
ruby2_keywords
|
||||
multipart-post (2.1.1)
|
||||
mustermann (1.1.1)
|
||||
mustermann (2.0.2)
|
||||
ruby2_keywords (~> 0.0.1)
|
||||
net-ldap (0.17.0)
|
||||
net-ldap (0.17.1)
|
||||
nio4r (2.5.8)
|
||||
nio4r (2.5.8-java)
|
||||
nokogiri (1.12.5-java)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.12.5-x86_64-linux)
|
||||
racc (~> 1.4)
|
||||
opentelemetry-api (1.0.1)
|
||||
opentelemetry-common (0.19.3)
|
||||
opentelemetry-api (1.0.2)
|
||||
opentelemetry-common (0.19.6)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-exporter-jaeger (0.20.1)
|
||||
opentelemetry-api (~> 1.0)
|
||||
|
|
@ -101,13 +76,15 @@ GEM
|
|||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-common (~> 0.19.3)
|
||||
opentelemetry-instrumentation-base (~> 0.19.0)
|
||||
opentelemetry-registry (0.1.0)
|
||||
opentelemetry-api (~> 1.0.1)
|
||||
opentelemetry-resource_detectors (0.19.1)
|
||||
google-cloud-env
|
||||
opentelemetry-sdk
|
||||
opentelemetry-sdk (1.0.2)
|
||||
opentelemetry-sdk (1.1.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-common (~> 0.19.3)
|
||||
opentelemetry-instrumentation-base (~> 0.19.0)
|
||||
opentelemetry-registry (~> 0.1)
|
||||
opentelemetry-semantic_conventions
|
||||
opentelemetry-semantic_conventions (1.8.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
|
|
@ -127,17 +104,15 @@ GEM
|
|||
nio4r (~> 2.0)
|
||||
puma (5.6.4-java)
|
||||
nio4r (~> 2.0)
|
||||
racc (1.6.0)
|
||||
racc (1.6.0-java)
|
||||
rack (2.2.3)
|
||||
rack-protection (2.2.0)
|
||||
rack (2.2.4)
|
||||
rack-protection (2.2.2)
|
||||
rack
|
||||
rack-test (1.1.0)
|
||||
rack (>= 1.0, < 3)
|
||||
rack-test (2.0.2)
|
||||
rack (>= 1.3)
|
||||
rainbow (3.1.1)
|
||||
rake (13.0.6)
|
||||
redis (4.6.0)
|
||||
regexp_parser (2.3.1)
|
||||
redis (4.7.1)
|
||||
regexp_parser (2.5.0)
|
||||
rexml (3.2.5)
|
||||
rspec (3.11.0)
|
||||
rspec-core (~> 3.11.0)
|
||||
|
|
@ -148,7 +123,7 @@ GEM
|
|||
rspec-expectations (3.11.0)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.11.0)
|
||||
rspec-mocks (3.11.0)
|
||||
rspec-mocks (3.11.1)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.11.0)
|
||||
rspec-support (3.11.0)
|
||||
|
|
@ -161,7 +136,7 @@ GEM
|
|||
rubocop-ast (>= 1.17.0, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 3.0)
|
||||
rubocop-ast (1.17.0)
|
||||
rubocop-ast (1.19.1)
|
||||
parser (>= 3.1.1.0)
|
||||
ruby-progressbar (1.11.0)
|
||||
ruby2_keywords (0.0.5)
|
||||
|
|
@ -171,10 +146,10 @@ GEM
|
|||
simplecov_json_formatter (~> 0.1)
|
||||
simplecov-html (0.12.3)
|
||||
simplecov_json_formatter (0.1.4)
|
||||
sinatra (2.2.0)
|
||||
mustermann (~> 1.0)
|
||||
sinatra (2.2.2)
|
||||
mustermann (~> 2.0)
|
||||
rack (~> 2.2)
|
||||
rack-protection (= 2.2.0)
|
||||
rack-protection (= 2.2.2)
|
||||
tilt (~> 2.0)
|
||||
spicy-proton (2.1.14)
|
||||
bindata (~> 2.3)
|
||||
|
|
@ -183,14 +158,15 @@ GEM
|
|||
statsd-ruby (1.5.0)
|
||||
thor (1.2.1)
|
||||
thrift (0.16.0)
|
||||
tilt (2.0.10)
|
||||
unicode-display_width (2.1.0)
|
||||
tilt (2.0.11)
|
||||
unicode-display_width (2.2.0)
|
||||
yarjuf (2.0.0)
|
||||
builder
|
||||
rspec (~> 3)
|
||||
|
||||
PLATFORMS
|
||||
universal-java-1.8
|
||||
universal-java-11
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
|
|
@ -206,4 +182,4 @@ DEPENDENCIES
|
|||
yarjuf (>= 2.0)
|
||||
|
||||
BUNDLED WITH
|
||||
2.3.10
|
||||
2.3.18
|
||||
|
|
|
|||
|
|
@ -30,10 +30,6 @@ VMPooler itself and the dev environment talked about below require additional Ru
|
|||
|
||||
Configuration for VMPooler may be provided via environment variables, or a configuration file.
|
||||
|
||||
### Note on JRuby 9.2.11.x
|
||||
|
||||
We have found when running VMPooler on JRuby 9.2.11.x we occasionally encounter a stack overflow error that causes the pool\_manager application component to fail and stop doing work. To address this issue on JRuby 9.2.11.x we recommend setting the JRuby option `invokedynamic.yield=false`. To set this with JRuby 9.2.11.1 you can specify the environment variable `JRUBY_OPTS` with the value `-Xinvokedynamic.yield=false`.
|
||||
|
||||
The provided configuration defaults are reasonable for small VMPooler instances with a few pools. If you plan to run a large VMPooler instance it is important to consider configuration values appropriate for the instance of your size in order to avoid starving the provider, or Redis, of connections.
|
||||
|
||||
VMPooler uses a connection pool for Redis to improve efficiency and ensure thread safe usage. At Puppet, we run an instance with about 100 pools at any given time. We have to provide it with 200 Redis connections to the Redis connection pool, and a timeout for connections of 40 seconds, to avoid timeouts. Because metrics are generated for connection available and waited, your metrics provider will need to be able to cope with this volume. Prometheus or StatsD is recommended to ensure metrics get delivered reliably.
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
# This Dockerfile is intended to be used with the
|
||||
# docker-compose file in the same directory.
|
||||
|
||||
FROM jruby:9.2-jdk
|
||||
FROM jruby:9.3-jdk
|
||||
|
||||
ENV RACK_ENV=production
|
||||
|
||||
RUN apt-get update -qq && \
|
||||
apt-get install -y --no-install-recommends make && \
|
||||
apt-get install -y --no-install-recommends make git && \
|
||||
apt-get clean autoclean && \
|
||||
apt-get autoremove -y && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ services:
|
|||
- VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml
|
||||
- REDIS_SERVER=redislocal
|
||||
- LOGFILE=/dev/null
|
||||
- JRUBY_OPTS=-Xinvokedynamic.yield=false
|
||||
- VMPOOLER_TRACING_ENABLED=true
|
||||
- VMPOOLER_TRACING_JAEGER_HOST=http://jaeger-aio:14268/api/traces
|
||||
image: vmpooler-local
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ docker run -it --rm \
|
|||
-v $(pwd)/docker:/app \
|
||||
-v $(pwd):/app/vmpooler-source \
|
||||
$(grep ^FROM docker/Dockerfile |cut -d ' ' -f2) \
|
||||
/bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make && cd /app && gem install bundler && bundle install --jobs 3 && bundle update; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"'
|
||||
/bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make git && cd /app && gem install bundler && bundle install --jobs 3 && bundle update; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"'
|
||||
rmdir docker/vmpooler-source
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Vmpooler
|
||||
VERSION = '2.3.0'
|
||||
VERSION = '2.4.0'
|
||||
end
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
docker run -it --rm \
|
||||
-v $(pwd):/app \
|
||||
$(grep ^FROM docker/Dockerfile |cut -d ' ' -f2) \
|
||||
/bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make && cd /app && gem install bundler && bundle install --jobs 3 && bundle update; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"'
|
||||
/bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make git && cd /app && gem install bundler && bundle install --jobs 3 && bundle update; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"'
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ Gem::Specification.new do |s|
|
|||
s.summary = 'vmpooler provides configurable pools of instantly-available (running) virtual machines'
|
||||
s.homepage = 'https://github.com/puppetlabs/vmpooler'
|
||||
s.license = 'Apache-2.0'
|
||||
s.required_ruby_version = Gem::Requirement.new('>= 2.3.0')
|
||||
|
||||
s.files = Dir[ "bin/*", "lib/**/*" ]
|
||||
s.bindir = 'bin'
|
||||
|
|
@ -21,7 +20,6 @@ Gem::Specification.new do |s|
|
|||
s.add_dependency 'connection_pool', '~> 2.2'
|
||||
s.add_dependency 'deep_merge', '~> 1.2'
|
||||
s.add_dependency 'net-ldap', '~> 0.16'
|
||||
s.add_dependency 'nokogiri', '~> 1.10'
|
||||
s.add_dependency 'opentelemetry-exporter-jaeger', '= 0.20.1'
|
||||
s.add_dependency 'opentelemetry-instrumentation-concurrent_ruby', '= 0.19.2'
|
||||
s.add_dependency 'opentelemetry-instrumentation-http_client', '= 0.19.4'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue