sensu-plugins / sensu-plugins-dns

This plugin provides native DNS instrumentation for monitoring, including: record resolution
http://sensu-plugins.io
MIT License
5 stars 27 forks source link

Can't install anymore on Ruby < 2.5.0 #61

Open multani opened 5 years ago

multani commented 5 years ago

We install this Gem using the specific version 2.1.1, using the redistributed Ruby version installed with our installation of Sensu (still using 1.6.2-2 on Debian Buster).

As of today, it's not possible to install it anymore on our machines due to:

$ sudo /opt/sensu/embedded/bin/gem --debug install -V sensu-plugins-dns -v 2.1.1
NOTE:  Debugging mode prints all exceptions even when rescued
Exception `LoadError' at /opt/sensu/embedded/lib/ruby/2.4.0/resolv.rb:171 - LoadError
HEAD https://api.rubygems.org/api/v1/dependencies
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=sensu-plugins-dns
200 OK
Exception `Resolv::DNS::Config::NXDomain' at /opt/sensu/embedded/lib/ruby/2.4.0/resolv.rb:547 - _rubygems._tcp.api.rubygems.org
Exception `Resolv::DNS::Config::NXDomain' at /opt/sensu/embedded/lib/ruby/2.4.0/resolv.rb:547 - _rubygems._tcp.api.rubygems.org
Exception `Resolv::ResolvError' at /opt/sensu/embedded/lib/ruby/2.4.0/resolv.rb:492 - DNS result has no information for _rubygems._tcp.api.rubygems.org
Getting SRV record failed: DNS result has no information for _rubygems._tcp.api.rubygems.org
GET https://api.rubygems.org/api/v1/dependencies?gems=dnsruby,public_suffix,sensu-plugin,whois,whois-parser
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=activesupport,addressable,json,mixlib-cli
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=concurrent-ruby,i18n,minitest,tzinfo,zeitwerk
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=thread_safe
200 OK
Exception `Errno::EEXIST' at /opt/sensu/embedded/lib/ruby/2.4.0/fileutils.rb:230 - File exists @ dir_s_mkdir - /opt/sensu/embedded/lib/ruby/gems/2.4.0
Exception `Gem::InstallError' at /opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/installer.rb:611 - activesupport requires Ruby version >= 2.5.0.
ERROR:  Error installing sensu-plugins-dns:
    activesupport requires Ruby version >= 2.5.0.

Using a more recent version of Sensu (1.8.0-1 on Debian Buster) still shows the same problem, although the error message is slightly different:

$ sudo /opt/sensu/embedded/bin/gem --debug install -V sensu-plugins-dns -v 2.1.1
NOTE:  Debugging mode prints all exceptions even when rescued
Exception `LoadError' at /opt/sensu/embedded/lib/ruby/2.4.0/resolv.rb:171 - LoadError
HEAD https://api.rubygems.org/api/v1/dependencies
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=sensu-plugins-dns
200 OK
Exception `Resolv::DNS::Config::NXDomain' at /opt/sensu/embedded/lib/ruby/2.4.0/resolv.rb:547 - _rubygems._tcp.api.rubygems.org
Exception `Resolv::DNS::Config::NXDomain' at /opt/sensu/embedded/lib/ruby/2.4.0/resolv.rb:547 - _rubygems._tcp.api.rubygems.org
Exception `Resolv::ResolvError' at /opt/sensu/embedded/lib/ruby/2.4.0/resolv.rb:492 - DNS result has no information for _rubygems._tcp.api.rubygems.org
Getting SRV record failed: DNS result has no information for _rubygems._tcp.api.rubygems.org
GET https://api.rubygems.org/api/v1/dependencies?gems=dnsruby,public_suffix,sensu-plugin,whois,whois-parser
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=addressable
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=json,mixlib-cli
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=activesupport
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=concurrent-ruby,i18n,minitest,tzinfo,zeitwerk
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=thread_safe
200 OK
Exception `Errno::EEXIST' at /opt/sensu/embedded/lib/ruby/2.4.0/fileutils.rb:230 - File exists @ dir_s_mkdir - /opt/sensu/embedded/lib/ruby/gems/2.4.0
Exception `Gem::RuntimeRequirementNotMetError' at /opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/installer.rb:622 - activesupport requires Ruby version >= 2.5.0. The current ruby version is 2.4.0.
GET https://api.rubygems.org/quick/Marshal.4.8/activesupport-5.2.3.gemspec.rz
200 OK
Exception `Errno::EEXIST' at /opt/sensu/embedded/lib/ruby/2.4.0/fileutils.rb:230 - File exists @ dir_s_mkdir - /root/.gem/specs/api.rubygems.org%443/quick/Marshal.4.8
Exception `Gem::RuntimeRequirementNotMetError' at /opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/request_set.rb:186 - activesupport requires Ruby version >= 2.5.0. The current ruby version is 2.4.0.
ERROR:  Error installing sensu-plugins-dns:
    The last version of activesupport (>= 4) to support your Ruby & RubyGems was 5.2.3. Try installing it with `gem install activesupport -v 5.2.3` and then running the current command again
    activesupport requires Ruby version >= 2.5.0. The current ruby version is 2.4.0.