Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(maint) Pin concurrent-ruby, puppet 6.14 compat, bump rake #69

Merged
merged 1 commit into from Mar 26, 2020

Conversation

donoghuc
Copy link
Member

@donoghuc donoghuc commented Mar 25, 2020

  1. The concurrent-ruby 1.1.6 release triggers a seg fault in MRI ruby 2.5. There is a PR to concurrent ruby RubyThreadLocalVar: rely on GIL on MRI to avoid problems with thread/mutex/queue in finalizers ruby-concurrency/concurrent-ruby#856 which I have verified fixes the seg fault but has not been merged/released. For now I pinned to 1.1.5 which does not have the issue.

  2. The puppet 6.14.0 release included some changes that were incompatable with ace. First is the code loading for subclassing Puppet::Configurer. This was addressed in ace by simply loading all of puppet before puppet/configurer. The second issue is that previously puppet's logic for figuring out which server to connect to (based on SRV settings, server_list or Puppet[:ca_server] vs Puppet[:server} was spread out all over the place. Puppet switched to using a new http client in 6.14.0 So the logic for resolving which host to connect to is based on a set of resolvers.
    The change in behavior is that previous ace was pushing :server onto the context and puppet would sometimes look that value up when making a connection: https://github.com/puppetlabs/puppet/blob/master/lib/puppet/util/connection.rb#L31

  3. Rake was bumped due to some CVE that did not really affect our project.

@donoghuc donoghuc requested a review from a team March 25, 2020 15:24
@codecov
Copy link

codecov bot commented Mar 25, 2020

Codecov Report

Merging #69 into master will not change coverage by %.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff            @@
##            master       #69   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            9         9           
  Lines          366       369    +3     
=========================================
+ Hits           366       369    +3     
Impacted Files Coverage Δ
lib/ace/configurer.rb 100.00% <100.00%> (ø)
lib/ace/puppet_util.rb 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2f579a8...508ad1f. Read the comment docs.

@donoghuc donoghuc force-pushed the bump-rake branch 7 times, most recently from 53ca0d3 to c5b001a Compare March 25, 2020 20:54
This commit addresses some bit rot that has happened in ace.

1. The concurrent-ruby 1.1.6 release triggers a seg fault in MRI ruby 2.5. There is a PR to concurrent ruby ruby-concurrency/concurrent-ruby#856 which I have verified fixes the seg fault but has not been merged/released. For now I pinned to 1.1.5 which does not have the issue.

2. The puppet 6.14.0 release included some changes that were incompatable with ace. First is the code loading for subclassing `Puppet::Configurer`. This was addressed in `ace` by simply loading all of puppet before `puppet/configurer`. The second issue is that previously puppet's logic for figuring out which server to connect to (based on SRV settings, server_list or Puppet[:ca_server] vs Puppet[:server} was spread out all over the place. Puppet switched to using a new http client in 6.14.0 So the logic for resolving which host to connect to is based on a set of resolvers.
The change in behavior is that previous ace was pushing `:server` onto the context and puppet would sometimes look that value up when making a connection: https://github.com/puppetlabs/puppet/blob/master/lib/puppet/util/connection.rb#L31

3. Rake was bumped due to some CVE that did not really affect our project.
@donoghuc donoghuc changed the title (maint) Bump rake dependency for moderate CVE (maint) Pin concurrent-ruby, puppet 6.14 compat, bump rake Mar 25, 2020
@@ -12,7 +12,7 @@ group :tests do
end

group :development do
gem 'bolt', git: 'https://github.com/puppetlabs/bolt', branch: 'master'
# gem 'bolt', git: 'https://github.com/puppetlabs/bolt', branch: 'master'
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: revert when bolt 2.x compat is done

@donoghuc donoghuc mentioned this pull request Mar 26, 2020
@mcdonaldseanp mcdonaldseanp merged commit ea30578 into puppetlabs:master Mar 26, 2020
gimmyxd added a commit to gimmyxd/ace that referenced this pull request May 17, 2021
concurrent-ruby was locked to 1.1.5 in puppetlabs#69
due to an issue in 1.1.6. A fix for that was released
on concurrent-ruby-1.1.7: ruby-concurrency/concurrent-ruby#856

Recently, in puppet-runtime, concurrent-ruby was
bumped to 1.1.8 https://github.com/puppetlabs/puppet-runtime/pull/446/files#diff-6393a204a090900f17b88f58f21f2b5c355271b5e8df85328a80accbc2c503e0R2
making ruby pe-ace-server unable to start:

```
-- Unit pe-ace-server.service has begun starting up.
May 17 08:15:28 main-wisdom puma[15711]: /opt/puppetlabs/puppet/lib/ruby/2.5.0/rubygems/dependency.rb:312:in `to_specs’: Could not find ‘concurrent-ruby’ (= 1.1.5) - did find: [concurrent-ruby-1.1.8] (Gem::MissingSpecVersionError)
```

This commit removes the lock of concurrent-ruby as
the upstream issue was fixed and release.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants