Skip to content

Commit

Permalink
(maint) Bump version to 2.4.0
Browse files Browse the repository at this point in the history
Upgrade to jruby 9.3.6.0
Remove workaround for jruby 9.2 using JRUBY_OPTS=-Xinvokedynamic.yield=false
Removed unused dependency nokogiri?
  • Loading branch information
Samuel Beaulieu committed Jul 25, 2022
1 parent 843f36e commit b859743
Show file tree
Hide file tree
Showing 10 changed files with 38 additions and 71 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
82 changes: 29 additions & 53 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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
Expand All @@ -206,4 +182,4 @@ DEPENDENCIES
yarjuf (>= 2.0)

BUNDLED WITH
2.3.10
2.3.18
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -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/*
Expand Down
1 change: 0 additions & 1 deletion docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docker/update-gemfile-lock.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion lib/vmpooler/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# frozen_string_literal: true

module Vmpooler
VERSION = '2.3.0'
VERSION = '2.4.0'
end
2 changes: 1 addition & 1 deletion update-gemfile-lock.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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=$?"'
2 changes: 0 additions & 2 deletions vmpooler.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand All @@ -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'
Expand Down

0 comments on commit b859743

Please sign in to comment.