diff --git a/share/hooks/ft/host_error.rb b/share/hooks/ft/host_error.rb index a41ce520c8..1e91fb7ddd 100755 --- a/share/hooks/ft/host_error.rb +++ b/share/hooks/ft/host_error.rb @@ -49,11 +49,25 @@ end FENCE_HOST = File.dirname(__FILE__) + '/fence_host.sh' +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/share/hooks/vcenter/create_vcenter_net.rb b/share/hooks/vcenter/create_vcenter_net.rb index 4e0b42d555..4d6fb97a74 100755 --- a/share/hooks/vcenter/create_vcenter_net.rb +++ b/share/hooks/vcenter/create_vcenter_net.rb @@ -31,11 +31,25 @@ else CONFIG_FILE = ONE_LOCATION + '/var/config' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/share/hooks/vcenter/delete_vcenter_net.rb b/share/hooks/vcenter/delete_vcenter_net.rb index 91c9f3db7f..a9bd61b313 100755 --- a/share/hooks/vcenter/delete_vcenter_net.rb +++ b/share/hooks/vcenter/delete_vcenter_net.rb @@ -30,11 +30,25 @@ else CONFIG_FILE = ONE_LOCATION + '/var/config' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/share/install_gems/Debian11/Gemfile.lock b/share/install_gems/Debian11/Gemfile.lock new file mode 100644 index 0000000000..e4a48fcd99 --- /dev/null +++ b/share/install_gems/Debian11/Gemfile.lock @@ -0,0 +1,243 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (4.2.11.3) + i18n (~> 0.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) + android_key_attestation (0.3.0) + augeas (0.6.4) + awrence (1.2.1) + aws-eventstream (1.2.0) + aws-partitions (1.501.0) + aws-sdk-cloudwatch (1.55.0) + aws-sdk-core (~> 3, >= 3.120.0) + aws-sigv4 (~> 1.1) + aws-sdk-core (3.121.0) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-ec2 (1.263.0) + aws-sdk-core (~> 3, >= 3.120.0) + aws-sigv4 (~> 1.1) + aws-sdk-kms (1.48.0) + aws-sdk-core (~> 3, >= 3.120.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.102.0) + aws-sdk-core (~> 3, >= 3.120.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.4) + aws-sigv4 (1.4.0) + aws-eventstream (~> 1, >= 1.0.2) + azure_mgmt_compute (0.22.0) + ms_rest_azure (~> 0.12.0) + azure_mgmt_monitor (0.19.0) + ms_rest_azure (~> 0.12.0) + azure_mgmt_network (0.26.1) + ms_rest_azure (~> 0.12.0) + azure_mgmt_resources (0.18.2) + ms_rest_azure (~> 0.12.0) + azure_mgmt_storage (0.23.0) + ms_rest_azure (~> 0.12.0) + bindata (2.4.10) + builder (3.2.4) + cbor (0.5.9.6) + chunky_png (1.4.0) + concurrent-ruby (1.1.9) + configparser (0.1.7) + cose (1.2.0) + cbor (~> 0.5.9) + openssl-signature_algorithm (~> 1.0) + curb (0.9.11) + daemons (1.4.1) + dalli (2.7.11) + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) + eventmachine (1.2.7) + faraday (0.17.4) + multipart-post (>= 1.2, < 3) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday_middleware (0.14.0) + faraday (>= 0.7.4, < 1.0) + ffi (1.15.4) + ffi-rzmq (2.0.7) + ffi-rzmq-core (>= 1.0.7) + ffi-rzmq-core (1.0.7) + ffi + git (1.9.1) + rchardet (~> 1.8) + gnuplot (2.6.2) + hashie (4.1.0) + highline (1.7.10) + http-cookie (1.0.4) + domain_name (~> 0.5) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + inflection (1.0.0) + ipaddress (0.8.3) + jmespath (1.4.0) + json (2.5.1) + jwt (2.2.3) + memcache-client (1.8.5) + mini_mime (1.1.1) + mini_portile2 (2.6.1) + minitest (5.14.4) + ms_rest (0.7.6) + concurrent-ruby (~> 1.0) + faraday (>= 0.9, < 2.0.0) + timeliness (~> 0.3.10) + ms_rest_azure (0.12.0) + concurrent-ruby (~> 1.0) + faraday (>= 0.9, < 2.0.0) + faraday-cookie_jar (~> 0.0.6) + ms_rest (~> 0.7.6) + multipart-post (2.1.1) + mustermann (1.1.1) + ruby2_keywords (~> 0.0.1) + mysql2 (0.5.3) + net-ldap (0.17.0) + nokogiri (1.12.4) + mini_portile2 (~> 2.6.1) + racc (~> 1.4) + openssl (2.2.0) + openssl-signature_algorithm (1.1.1) + openssl (~> 2.0) + optimist (3.0.1) + ox (2.14.5) + parse-cron (0.1.4) + pg (1.2.3) + polyglot (0.3.5) + public_suffix (4.0.6) + racc (1.5.2) + rack (2.2.3) + rack-protection (2.1.0) + rack + rbvmomi (3.0.0) + builder (~> 3.2) + json (~> 2.3) + nokogiri (~> 1.10) + optimist (~> 3.0) + rchardet (1.8.0) + rotp (6.2.0) + rqrcode (2.1.0) + chunky_png (~> 1.0) + rqrcode_core (~> 1.0) + rqrcode_core (1.2.0) + ruby2_keywords (0.0.5) + safety_net_attestation (0.4.0) + jwt (~> 2.0) + securecompare (1.0.0) + sequel (5.48.0) + sinatra (2.1.0) + mustermann (~> 1.0) + rack (~> 2.2) + rack-protection (= 2.1.0) + tilt (~> 2.0) + sqlite3 (1.4.2) + thin (1.8.1) + daemons (~> 1.0, >= 1.0.9) + eventmachine (~> 1.0, >= 1.0.4) + rack (>= 1, < 3) + thread_safe (0.3.6) + tilt (2.0.10) + timeliness (0.3.10) + tpm-key_attestation (0.10.0) + bindata (~> 2.4) + openssl-signature_algorithm (~> 1.0) + treetop (1.6.11) + polyglot (~> 0.3) + tzinfo (1.2.9) + thread_safe (~> 0.1) + unf (0.1.4) + unf_ext + unf_ext (0.0.8) + uuidtools (2.2.0) + vsphere-automation-cis (0.4.7) + vsphere-automation-runtime (~> 0.4.6) + vsphere-automation-runtime (0.4.7) + vsphere-automation-vcenter (0.4.7) + vsphere-automation-cis (~> 0.4.6) + vsphere-automation-runtime (~> 0.4.6) + webauthn (2.5.0) + android_key_attestation (~> 0.3.0) + awrence (~> 1.1) + bindata (~> 2.4) + cbor (~> 0.5.9) + cose (~> 1.1) + openssl (~> 2.1) + safety_net_attestation (~> 0.4.0) + securecompare (~> 1.0) + tpm-key_attestation (~> 0.10.0) + webrick (1.7.0) + xmlrpc (0.3.2) + webrick + zendesk_api (1.33.0) + faraday (>= 0.9.0, < 2.0.0) + hashie (>= 3.5.2, < 5.0.0) + inflection + mini_mime + multipart-post (~> 2.0) + +PLATFORMS + ruby + +DEPENDENCIES + activesupport (~> 4.2) + addressable + augeas (~> 0.6) + aws-sdk-cloudwatch + aws-sdk-ec2 (>= 1.151) + aws-sdk-s3 + azure_mgmt_compute + azure_mgmt_monitor + azure_mgmt_network + azure_mgmt_resources + azure_mgmt_storage + configparser + curb + dalli + faraday (~> 0.15) + faraday_middleware (~> 0.12) + ffi-rzmq (~> 2.0.7) + git (~> 1.5) + gnuplot + highline (~> 1.7) + i18n (~> 0.9) + ipaddress (~> 0.8.3) + json (>= 2.0) + memcache-client + minitest + mysql2 + net-ldap + nokogiri + ox + parse-cron + pg + public_suffix + rack + rbvmomi (~> 3.0.0) + rotp + rqrcode + sequel + sinatra + sqlite3 + thin + treetop (>= 1.6.3) + uuidtools + vsphere-automation-cis (~> 0.4.6) + vsphere-automation-vcenter (~> 0.4.6) + webauthn + xmlrpc + zendesk_api + +RUBY VERSION + ruby 2.7.4p191 + +BUNDLED WITH + 1.17.3 diff --git a/share/misc/update_rubygems_setup b/share/misc/update_rubygems_setup new file mode 100755 index 0000000000..ba46563ed0 --- /dev/null +++ b/share/misc/update_rubygems_setup @@ -0,0 +1,92 @@ +#!/usr/bin/env ruby + +# -------------------------------------------------------------------------- # +# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); you may # +# not use this file except in compliance with the License. You may obtain # +# a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +#--------------------------------------------------------------------------- # + +# Reads all files in **CURRENT DIRECTORY and SUBDIRECTORIES** and looks +# for the section labels which contain the setup code of the bundled +# Ruby gems. Replaces the content with the one configured below. + +# Section begin and end labels +RG_SETUP_BEGIN = '%%RUBYGEMS_SETUP_BEGIN%%' +RG_SETUP_END = '%%RUBYGEMS_SETUP_END%%' + +# Bundled Ruby gems loader code. +# IMPORTANT: Update here and commit into Git as well! +# rubocop:disable Layout/HeredocIndentation +RG_SETUP = <<-'EOT' +if File.directory?(GEMS_LOCATION) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end +end +EOT +# rubocop:enable Layout/HeredocIndentation + +##### + +SCRIPT_FILE = File.expand_path(__FILE__) + +updated = [] + +# iterate over all files +Dir.glob('**/*') do |name| + next if File.directory?(name) || File.expand_path(name) == SCRIPT_FILE + + old = File.read(name, :encoding => 'iso-8859-1') + + # detect right files by checking for the begin section label + if old.include?(RG_SETUP_BEGIN) + unless old.include?(RG_SETUP_END) + STDERR.puts "ERROR: File #{name} doesn't contain RG end label" + exit 1 + end + + # replace all text inside labels by RG_SETUP code + new = old.gsub( + /(#{RG_SETUP_BEGIN}[^\n]*).*\n([^\n]*#{RG_SETUP_END})/m, + "\\1\n#{RG_SETUP.chomp}\n\\2" + ) + + if new != old + updated << name + + File.open(name, 'w') do |f| + f.write(new) + end + end + end +end + +# report +if updated.empty? + STDERR.puts 'WARNING: No files updated' +else + STDERR.puts "Updated #{updated.length} files:" + puts updated.join("\n") +end diff --git a/src/authm_mad/one_auth_mad.rb b/src/authm_mad/one_auth_mad.rb index 32417da849..28f4c9b923 100755 --- a/src/authm_mad/one_auth_mad.rb +++ b/src/authm_mad/one_auth_mad.rb @@ -28,11 +28,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/authm_mad/remotes/dummy/authenticate b/src/authm_mad/remotes/dummy/authenticate index c18af6afba..dc8b9ffd52 100755 --- a/src/authm_mad/remotes/dummy/authenticate +++ b/src/authm_mad/remotes/dummy/authenticate @@ -28,11 +28,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/authm_mad/remotes/ldap/authenticate b/src/authm_mad/remotes/ldap/authenticate index aab3f543b1..37a0b78c6e 100755 --- a/src/authm_mad/remotes/ldap/authenticate +++ b/src/authm_mad/remotes/ldap/authenticate @@ -28,11 +28,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/authm_mad/remotes/plain/authenticate b/src/authm_mad/remotes/plain/authenticate index d6e20ff89d..84d6f68292 100755 --- a/src/authm_mad/remotes/plain/authenticate +++ b/src/authm_mad/remotes/plain/authenticate @@ -28,11 +28,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/authm_mad/remotes/server_cipher/authenticate b/src/authm_mad/remotes/server_cipher/authenticate index c259a3f61e..d975af2fd8 100755 --- a/src/authm_mad/remotes/server_cipher/authenticate +++ b/src/authm_mad/remotes/server_cipher/authenticate @@ -28,11 +28,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/authm_mad/remotes/server_x509/authenticate b/src/authm_mad/remotes/server_x509/authenticate index c0d21038b9..6632bb6857 100755 --- a/src/authm_mad/remotes/server_x509/authenticate +++ b/src/authm_mad/remotes/server_x509/authenticate @@ -28,11 +28,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/authm_mad/remotes/ssh/authenticate b/src/authm_mad/remotes/ssh/authenticate index ee784992c5..1b7b1020cd 100755 --- a/src/authm_mad/remotes/ssh/authenticate +++ b/src/authm_mad/remotes/ssh/authenticate @@ -28,11 +28,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/authm_mad/remotes/x509/authenticate b/src/authm_mad/remotes/x509/authenticate index 7c84298fc2..01b55d0733 100755 --- a/src/authm_mad/remotes/x509/authenticate +++ b/src/authm_mad/remotes/x509/authenticate @@ -28,11 +28,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cli/oneacct b/src/cli/oneacct index 0a98c5e161..76d01b149d 100755 --- a/src/cli/oneacct +++ b/src/cli/oneacct @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/oneacl b/src/cli/oneacl index ce78f110db..a24451e830 100755 --- a/src/cli/oneacl +++ b/src/cli/oneacl @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onecluster b/src/cli/onecluster index c0f3e6f6ac..1814828f9e 100755 --- a/src/cli/onecluster +++ b/src/cli/onecluster @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onedatastore b/src/cli/onedatastore index 52f65b37f4..5f073a33e5 100755 --- a/src/cli/onedatastore +++ b/src/cli/onedatastore @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/oneflow b/src/cli/oneflow index d8c5b9ab9e..6d1f030398 100755 --- a/src/cli/oneflow +++ b/src/cli/oneflow @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/oneflow-template b/src/cli/oneflow-template index 94b985b2f7..c5efbb5985 100755 --- a/src/cli/oneflow-template +++ b/src/cli/oneflow-template @@ -28,11 +28,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << ONEFLOW_LOCATION diff --git a/src/cli/onegroup b/src/cli/onegroup index 76d6dc227c..326bddee1d 100755 --- a/src/cli/onegroup +++ b/src/cli/onegroup @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onehook b/src/cli/onehook index 5c5b760a1e..b2eaa321cf 100755 --- a/src/cli/onehook +++ b/src/cli/onehook @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onehost b/src/cli/onehost index 557fecae84..eed1347da2 100755 --- a/src/cli/onehost +++ b/src/cli/onehost @@ -28,11 +28,25 @@ else REMOTES_LOCATION = ONE_LOCATION + '/var/remotes/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/oneimage b/src/cli/oneimage index a8ad5fedf0..c96a3251f0 100755 --- a/src/cli/oneimage +++ b/src/cli/oneimage @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onemarket b/src/cli/onemarket index e2016333b4..f0f58ebf70 100755 --- a/src/cli/onemarket +++ b/src/cli/onemarket @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onemarketapp b/src/cli/onemarketapp index f01a2adb7c..523b93b665 100755 --- a/src/cli/onemarketapp +++ b/src/cli/onemarketapp @@ -28,11 +28,25 @@ else VAR_LOCATION = ONE_LOCATION + '/var' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/oneprovision b/src/cli/oneprovision index d43f920a1f..523632ff0d 100755 --- a/src/cli/oneprovision +++ b/src/cli/oneprovision @@ -32,11 +32,25 @@ else ANSIBLE_LOCATION = ONE_LOCATION + '/usr/share/oneprovision/ansible' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onesecgroup b/src/cli/onesecgroup index c76b20b5b5..c1d5f2d487 100755 --- a/src/cli/onesecgroup +++ b/src/cli/onesecgroup @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/oneshowback b/src/cli/oneshowback index ac95f5a7d7..86ac0784f2 100755 --- a/src/cli/oneshowback +++ b/src/cli/oneshowback @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onetemplate b/src/cli/onetemplate index d0aacd35f9..c3779cfccb 100755 --- a/src/cli/onetemplate +++ b/src/cli/onetemplate @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/oneuser b/src/cli/oneuser index d498412bf6..2ad10dd070 100755 --- a/src/cli/oneuser +++ b/src/cli/oneuser @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onevcenter b/src/cli/onevcenter index 7eef5a5880..69c4b096e4 100755 --- a/src/cli/onevcenter +++ b/src/cli/onevcenter @@ -28,11 +28,25 @@ else REMOTES_LOCATION = ONE_LOCATION + '/var/remotes/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onevdc b/src/cli/onevdc index 07e93e9e23..1cfe383ecb 100755 --- a/src/cli/onevdc +++ b/src/cli/onevdc @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onevm b/src/cli/onevm index db0ca829cd..011d175dd9 100755 --- a/src/cli/onevm +++ b/src/cli/onevm @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onevmgroup b/src/cli/onevmgroup index b1324cae2a..678bc624f1 100755 --- a/src/cli/onevmgroup +++ b/src/cli/onevmgroup @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onevnet b/src/cli/onevnet index 2f69c3c465..4560e6874e 100755 --- a/src/cli/onevnet +++ b/src/cli/onevnet @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onevntemplate b/src/cli/onevntemplate index 0772d9e259..a5cc632a82 100755 --- a/src/cli/onevntemplate +++ b/src/cli/onevntemplate @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onevrouter b/src/cli/onevrouter index 92a2276c54..ef29d80a39 100755 --- a/src/cli/onevrouter +++ b/src/cli/onevrouter @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cli/onezone b/src/cli/onezone index 60458228e1..2d8615dd78 100755 --- a/src/cli/onezone +++ b/src/cli/onezone @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cloud/ec2/bin/econe-allocate-address b/src/cloud/ec2/bin/econe-allocate-address index 9bc305fbda..cc69fae613 100755 --- a/src/cloud/ec2/bin/econe-allocate-address +++ b/src/cloud/ec2/bin/econe-allocate-address @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-associate-address b/src/cloud/ec2/bin/econe-associate-address index c11ecc7af6..516801af97 100755 --- a/src/cloud/ec2/bin/econe-associate-address +++ b/src/cloud/ec2/bin/econe-associate-address @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-attach-volume b/src/cloud/ec2/bin/econe-attach-volume index faad9e6a2d..be2e8a74fd 100755 --- a/src/cloud/ec2/bin/econe-attach-volume +++ b/src/cloud/ec2/bin/econe-attach-volume @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-create-keypair b/src/cloud/ec2/bin/econe-create-keypair index 7175eb2961..aa0a77b0d9 100755 --- a/src/cloud/ec2/bin/econe-create-keypair +++ b/src/cloud/ec2/bin/econe-create-keypair @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-create-volume b/src/cloud/ec2/bin/econe-create-volume index 5cfb0ea210..91eda47142 100755 --- a/src/cloud/ec2/bin/econe-create-volume +++ b/src/cloud/ec2/bin/econe-create-volume @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-delete-keypair b/src/cloud/ec2/bin/econe-delete-keypair index 782cb32f01..0698b8432c 100755 --- a/src/cloud/ec2/bin/econe-delete-keypair +++ b/src/cloud/ec2/bin/econe-delete-keypair @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-delete-volume b/src/cloud/ec2/bin/econe-delete-volume index 96419e5a89..0c4c5472c0 100755 --- a/src/cloud/ec2/bin/econe-delete-volume +++ b/src/cloud/ec2/bin/econe-delete-volume @@ -25,11 +25,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/cloud/ec2/bin/econe-describe-addresses b/src/cloud/ec2/bin/econe-describe-addresses index 61441c7d01..5761fd23bc 100755 --- a/src/cloud/ec2/bin/econe-describe-addresses +++ b/src/cloud/ec2/bin/econe-describe-addresses @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-describe-images b/src/cloud/ec2/bin/econe-describe-images index 5c060a44e6..ae65d92af5 100755 --- a/src/cloud/ec2/bin/econe-describe-images +++ b/src/cloud/ec2/bin/econe-describe-images @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-describe-instances b/src/cloud/ec2/bin/econe-describe-instances index f1a357214f..ee83d93285 100755 --- a/src/cloud/ec2/bin/econe-describe-instances +++ b/src/cloud/ec2/bin/econe-describe-instances @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-describe-keypairs b/src/cloud/ec2/bin/econe-describe-keypairs index acd7e92b4e..f7e275a0f4 100755 --- a/src/cloud/ec2/bin/econe-describe-keypairs +++ b/src/cloud/ec2/bin/econe-describe-keypairs @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-describe-volumes b/src/cloud/ec2/bin/econe-describe-volumes index 6c11dd5aca..b06f1e747a 100755 --- a/src/cloud/ec2/bin/econe-describe-volumes +++ b/src/cloud/ec2/bin/econe-describe-volumes @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-detach-volume b/src/cloud/ec2/bin/econe-detach-volume index 927bb71e02..87abd22193 100755 --- a/src/cloud/ec2/bin/econe-detach-volume +++ b/src/cloud/ec2/bin/econe-detach-volume @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-disassociate-address b/src/cloud/ec2/bin/econe-disassociate-address index 4e327ac006..c1b3319339 100755 --- a/src/cloud/ec2/bin/econe-disassociate-address +++ b/src/cloud/ec2/bin/econe-disassociate-address @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-reboot-instances b/src/cloud/ec2/bin/econe-reboot-instances index 7fa1ff719c..ab3cfa06e7 100755 --- a/src/cloud/ec2/bin/econe-reboot-instances +++ b/src/cloud/ec2/bin/econe-reboot-instances @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-register b/src/cloud/ec2/bin/econe-register index e9b3ad19c1..7d0111759f 100755 --- a/src/cloud/ec2/bin/econe-register +++ b/src/cloud/ec2/bin/econe-register @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-release-address b/src/cloud/ec2/bin/econe-release-address index 86fc807062..0a988bbb25 100755 --- a/src/cloud/ec2/bin/econe-release-address +++ b/src/cloud/ec2/bin/econe-release-address @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-run-instances b/src/cloud/ec2/bin/econe-run-instances index 5ed96eb249..008941ba51 100755 --- a/src/cloud/ec2/bin/econe-run-instances +++ b/src/cloud/ec2/bin/econe-run-instances @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-start-instances b/src/cloud/ec2/bin/econe-start-instances index bedccc85b3..8b810b181b 100755 --- a/src/cloud/ec2/bin/econe-start-instances +++ b/src/cloud/ec2/bin/econe-start-instances @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-stop-instances b/src/cloud/ec2/bin/econe-stop-instances index 58bdbe740d..ec6272a4d9 100755 --- a/src/cloud/ec2/bin/econe-stop-instances +++ b/src/cloud/ec2/bin/econe-stop-instances @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-terminate-instances b/src/cloud/ec2/bin/econe-terminate-instances index 09dd9cbd1e..489c866eb4 100755 --- a/src/cloud/ec2/bin/econe-terminate-instances +++ b/src/cloud/ec2/bin/econe-terminate-instances @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/bin/econe-upload b/src/cloud/ec2/bin/econe-upload index c1402cb1e8..fc7352553e 100755 --- a/src/cloud/ec2/bin/econe-upload +++ b/src/cloud/ec2/bin/econe-upload @@ -26,9 +26,12 @@ else end if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/cloud/ec2/lib/econe-server.rb b/src/cloud/ec2/lib/econe-server.rb index 09efa46b85..d4e5586771 100644 --- a/src/cloud/ec2/lib/econe-server.rb +++ b/src/cloud/ec2/lib/econe-server.rb @@ -41,9 +41,12 @@ TEMPLATE_LOCATION = ETC_LOCATION + '/ec2query_templates' VIEWS_LOCATION = RUBY_LIB_LOCATION + '/cloud/econe/views' if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + require 'rubygems' + Gem.use_paths(real_gems_path) + end end $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/datastore_mad/one_datastore.rb b/src/datastore_mad/one_datastore.rb index 6559b6d09a..571012c891 100755 --- a/src/datastore_mad/one_datastore.rb +++ b/src/datastore_mad/one_datastore.rb @@ -31,11 +31,25 @@ else VAR_LOCATION = ONE_LOCATION + '/var' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/datastore_mad/remotes/vcenter/clone b/src/datastore_mad/remotes/vcenter/clone index dfc916913d..72e07889dc 100755 --- a/src/datastore_mad/remotes/vcenter/clone +++ b/src/datastore_mad/remotes/vcenter/clone @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/datastore_mad/remotes/vcenter/cp b/src/datastore_mad/remotes/vcenter/cp index 438fb929a8..84f4fb60b2 100755 --- a/src/datastore_mad/remotes/vcenter/cp +++ b/src/datastore_mad/remotes/vcenter/cp @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/datastore_mad/remotes/vcenter/export b/src/datastore_mad/remotes/vcenter/export index cfd0d8ea5e..9b39688cde 100755 --- a/src/datastore_mad/remotes/vcenter/export +++ b/src/datastore_mad/remotes/vcenter/export @@ -30,11 +30,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/datastore_mad/remotes/vcenter/mkfs b/src/datastore_mad/remotes/vcenter/mkfs index 1d2d2b9b63..755d0edefc 100755 --- a/src/datastore_mad/remotes/vcenter/mkfs +++ b/src/datastore_mad/remotes/vcenter/mkfs @@ -30,11 +30,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/datastore_mad/remotes/vcenter/monitor b/src/datastore_mad/remotes/vcenter/monitor index 98072baf95..924f69ee77 100755 --- a/src/datastore_mad/remotes/vcenter/monitor +++ b/src/datastore_mad/remotes/vcenter/monitor @@ -30,11 +30,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/datastore_mad/remotes/vcenter/rm b/src/datastore_mad/remotes/vcenter/rm index b3bc9a5c40..d0aff20b85 100755 --- a/src/datastore_mad/remotes/vcenter/rm +++ b/src/datastore_mad/remotes/vcenter/rm @@ -30,11 +30,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/datastore_mad/remotes/vcenter/stat b/src/datastore_mad/remotes/vcenter/stat index 9246527fc7..151822976d 100755 --- a/src/datastore_mad/remotes/vcenter/stat +++ b/src/datastore_mad/remotes/vcenter/stat @@ -30,11 +30,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/datastore_mad/remotes/vcenter_downloader.rb b/src/datastore_mad/remotes/vcenter_downloader.rb index f558764384..8b01bbd36b 100755 --- a/src/datastore_mad/remotes/vcenter_downloader.rb +++ b/src/datastore_mad/remotes/vcenter_downloader.rb @@ -28,11 +28,25 @@ else VAR_LOCATION = ONE_LOCATION + '/var' unless defined?(VAR_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/datastore_mad/remotes/vcenter_uploader.rb b/src/datastore_mad/remotes/vcenter_uploader.rb index 9fb2508fea..7f33bdbcc1 100755 --- a/src/datastore_mad/remotes/vcenter_uploader.rb +++ b/src/datastore_mad/remotes/vcenter_uploader.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' unless defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/flow/oneflow-server.rb b/src/flow/oneflow-server.rb index 7e62aafdb4..4f8cade07d 100644 --- a/src/flow/oneflow-server.rb +++ b/src/flow/oneflow-server.rb @@ -37,11 +37,25 @@ ONEFLOW_AUTH = VAR_LOCATION + '/.one/oneflow_auth' ONEFLOW_LOG = LOG_LOCATION + '/oneflow.log' CONFIGURATION_FILE = ETC_LOCATION + '/oneflow-server.conf' +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cloud' diff --git a/src/hem/onehem-server.rb b/src/hem/onehem-server.rb index fe46271799..e7ab75c34e 100755 --- a/src/hem/onehem-server.rb +++ b/src/hem/onehem-server.rb @@ -38,11 +38,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/hm_mad/one_hm.rb b/src/hm_mad/one_hm.rb index 99bff4845c..b46b5cf304 100755 --- a/src/hm_mad/one_hm.rb +++ b/src/hm_mad/one_hm.rb @@ -28,11 +28,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/im_exec/one_im_exec.rb b/src/im_mad/im_exec/one_im_exec.rb index b508eb84bf..98d8f7c8e8 100755 --- a/src/im_mad/im_exec/one_im_exec.rb +++ b/src/im_mad/im_exec/one_im_exec.rb @@ -30,11 +30,25 @@ else REMOTES_LOCATION = ONE_LOCATION + '/var/remotes/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/az-probes.d/host/monitor/probe_host_monitor.rb b/src/im_mad/remotes/az-probes.d/host/monitor/probe_host_monitor.rb index 452c411e80..2480f56a38 100755 --- a/src/im_mad/remotes/az-probes.d/host/monitor/probe_host_monitor.rb +++ b/src/im_mad/remotes/az-probes.d/host/monitor/probe_host_monitor.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/az-probes.d/host/system/probe_host_system.rb b/src/im_mad/remotes/az-probes.d/host/system/probe_host_system.rb index eb57033add..90bb7c3982 100755 --- a/src/im_mad/remotes/az-probes.d/host/system/probe_host_system.rb +++ b/src/im_mad/remotes/az-probes.d/host/system/probe_host_system.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/az-probes.d/vm/monitor/probe_vm_monitor.rb b/src/im_mad/remotes/az-probes.d/vm/monitor/probe_vm_monitor.rb index 024a781785..757ba33bf2 100755 --- a/src/im_mad/remotes/az-probes.d/vm/monitor/probe_vm_monitor.rb +++ b/src/im_mad/remotes/az-probes.d/vm/monitor/probe_vm_monitor.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/az-probes.d/vm/status/probe_vm_status.rb b/src/im_mad/remotes/az-probes.d/vm/status/probe_vm_status.rb index fdb78c7a12..719000b834 100755 --- a/src/im_mad/remotes/az-probes.d/vm/status/probe_vm_status.rb +++ b/src/im_mad/remotes/az-probes.d/vm/status/probe_vm_status.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/dummy-probes.d/vm/monitor/monitor.rb b/src/im_mad/remotes/dummy-probes.d/vm/monitor/monitor.rb index b187cebcf7..e5ddfb1c2f 100755 --- a/src/im_mad/remotes/dummy-probes.d/vm/monitor/monitor.rb +++ b/src/im_mad/remotes/dummy-probes.d/vm/monitor/monitor.rb @@ -27,11 +27,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/ec2-probes.d/host/monitor/probe_host_monitor.rb b/src/im_mad/remotes/ec2-probes.d/host/monitor/probe_host_monitor.rb index 35cc50a1e4..6ae2ee53ca 100755 --- a/src/im_mad/remotes/ec2-probes.d/host/monitor/probe_host_monitor.rb +++ b/src/im_mad/remotes/ec2-probes.d/host/monitor/probe_host_monitor.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/ec2-probes.d/host/system/probe_host_system.rb b/src/im_mad/remotes/ec2-probes.d/host/system/probe_host_system.rb index 32f124e4f9..0b1a98fbdb 100755 --- a/src/im_mad/remotes/ec2-probes.d/host/system/probe_host_system.rb +++ b/src/im_mad/remotes/ec2-probes.d/host/system/probe_host_system.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/ec2-probes.d/vm/monitor/probe_vm_monitor.rb b/src/im_mad/remotes/ec2-probes.d/vm/monitor/probe_vm_monitor.rb index af6fe2f98c..5ca36f4413 100755 --- a/src/im_mad/remotes/ec2-probes.d/vm/monitor/probe_vm_monitor.rb +++ b/src/im_mad/remotes/ec2-probes.d/vm/monitor/probe_vm_monitor.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/ec2-probes.d/vm/status/probe_vm_status.rb b/src/im_mad/remotes/ec2-probes.d/vm/status/probe_vm_status.rb index 4953bb3441..37b008b4da 100755 --- a/src/im_mad/remotes/ec2-probes.d/vm/status/probe_vm_status.rb +++ b/src/im_mad/remotes/ec2-probes.d/vm/status/probe_vm_status.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/lib/probe_db.rb b/src/im_mad/remotes/lib/probe_db.rb index c90d183c50..b69970df08 100644 --- a/src/im_mad/remotes/lib/probe_db.rb +++ b/src/im_mad/remotes/lib/probe_db.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/im_mad/remotes/lib/vcenter_monitor.rb b/src/im_mad/remotes/lib/vcenter_monitor.rb index 9f7c8abee5..d685872c3f 100644 --- a/src/im_mad/remotes/lib/vcenter_monitor.rb +++ b/src/im_mad/remotes/lib/vcenter_monitor.rb @@ -30,11 +30,25 @@ else RUN_LOCATION ||= ONE_LOCATION + '/var/run' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/lib/vcenter_monitor_vms.rb b/src/im_mad/remotes/lib/vcenter_monitor_vms.rb index e9d35da8f4..9201947b6f 100755 --- a/src/im_mad/remotes/lib/vcenter_monitor_vms.rb +++ b/src/im_mad/remotes/lib/vcenter_monitor_vms.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/im_mad/remotes/one-probes.d/host/monitor/probe_host_monitor.rb b/src/im_mad/remotes/one-probes.d/host/monitor/probe_host_monitor.rb index 2890b14c99..c1b0636e3d 100755 --- a/src/im_mad/remotes/one-probes.d/host/monitor/probe_host_monitor.rb +++ b/src/im_mad/remotes/one-probes.d/host/monitor/probe_host_monitor.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/one-probes.d/host/system/probe_host_system.rb b/src/im_mad/remotes/one-probes.d/host/system/probe_host_system.rb index bb4ba25bdf..053272f652 100755 --- a/src/im_mad/remotes/one-probes.d/host/system/probe_host_system.rb +++ b/src/im_mad/remotes/one-probes.d/host/system/probe_host_system.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/one-probes.d/vm/monitor/probe_vm_monitor.rb b/src/im_mad/remotes/one-probes.d/vm/monitor/probe_vm_monitor.rb index 58770ba4e1..45998e2a9b 100755 --- a/src/im_mad/remotes/one-probes.d/vm/monitor/probe_vm_monitor.rb +++ b/src/im_mad/remotes/one-probes.d/vm/monitor/probe_vm_monitor.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/one-probes.d/vm/status/probe_vm_status.rb b/src/im_mad/remotes/one-probes.d/vm/status/probe_vm_status.rb index 6d08d3994f..f6c26b680e 100755 --- a/src/im_mad/remotes/one-probes.d/vm/status/probe_vm_status.rb +++ b/src/im_mad/remotes/one-probes.d/vm/status/probe_vm_status.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/packet-probes.d/host/monitor/probe_host_monitor.rb b/src/im_mad/remotes/packet-probes.d/host/monitor/probe_host_monitor.rb index da57cb55e4..2408f2ce3f 100755 --- a/src/im_mad/remotes/packet-probes.d/host/monitor/probe_host_monitor.rb +++ b/src/im_mad/remotes/packet-probes.d/host/monitor/probe_host_monitor.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/packet-probes.d/host/system/probe_host_system.rb b/src/im_mad/remotes/packet-probes.d/host/system/probe_host_system.rb index e1a84e1a3e..eeb542c5ba 100755 --- a/src/im_mad/remotes/packet-probes.d/host/system/probe_host_system.rb +++ b/src/im_mad/remotes/packet-probes.d/host/system/probe_host_system.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/packet-probes.d/vm/monitor/probe_vm_monitor.rb b/src/im_mad/remotes/packet-probes.d/vm/monitor/probe_vm_monitor.rb index f634d71e0f..b72f6a440d 100755 --- a/src/im_mad/remotes/packet-probes.d/vm/monitor/probe_vm_monitor.rb +++ b/src/im_mad/remotes/packet-probes.d/vm/monitor/probe_vm_monitor.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/im_mad/remotes/packet-probes.d/vm/status/probe_vm_status.rb b/src/im_mad/remotes/packet-probes.d/vm/status/probe_vm_status.rb index e8519100dc..e29f626499 100755 --- a/src/im_mad/remotes/packet-probes.d/vm/status/probe_vm_status.rb +++ b/src/im_mad/remotes/packet-probes.d/vm/status/probe_vm_status.rb @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/ipamm_mad/one_ipam.rb b/src/ipamm_mad/one_ipam.rb index 141b974c5f..5511352d4e 100755 --- a/src/ipamm_mad/one_ipam.rb +++ b/src/ipamm_mad/one_ipam.rb @@ -28,11 +28,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/ipamm_mad/remotes/packet/get_address b/src/ipamm_mad/remotes/packet/get_address index fb937b9df7..d320d30c73 100755 --- a/src/ipamm_mad/remotes/packet/get_address +++ b/src/ipamm_mad/remotes/packet/get_address @@ -59,11 +59,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << PACKET_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/ipamm_mad/remotes/packet/register_address_range b/src/ipamm_mad/remotes/packet/register_address_range index 1b52314c6f..1c06cf1153 100755 --- a/src/ipamm_mad/remotes/packet/register_address_range +++ b/src/ipamm_mad/remotes/packet/register_address_range @@ -80,11 +80,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << PACKET_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/ipamm_mad/remotes/packet/unregister_address_range b/src/ipamm_mad/remotes/packet/unregister_address_range index 83b4fc882b..b7ce9b6c92 100755 --- a/src/ipamm_mad/remotes/packet/unregister_address_range +++ b/src/ipamm_mad/remotes/packet/unregister_address_range @@ -44,11 +44,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << PACKET_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/market_mad/one_market.rb b/src/market_mad/one_market.rb index 030c6f2339..284ec99049 100755 --- a/src/market_mad/one_market.rb +++ b/src/market_mad/one_market.rb @@ -31,11 +31,25 @@ else VAR_LOCATION = ONE_LOCATION + '/var' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/market_mad/remotes/s3/delete b/src/market_mad/remotes/s3/delete index 49cd72a0aa..e8eee25933 100755 --- a/src/market_mad/remotes/s3/delete +++ b/src/market_mad/remotes/s3/delete @@ -34,11 +34,25 @@ end UTILS_PATH = File.join(File.dirname(__FILE__), '../../datastore') +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/market_mad/remotes/s3/import b/src/market_mad/remotes/s3/import index e67b3adc42..ceb86d1130 100755 --- a/src/market_mad/remotes/s3/import +++ b/src/market_mad/remotes/s3/import @@ -34,11 +34,25 @@ end UTILS_PATH = File.join(File.dirname(__FILE__), '../../datastore') +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/market_mad/remotes/s3/monitor b/src/market_mad/remotes/s3/monitor index e3583f0954..3e57cf5b3c 100755 --- a/src/market_mad/remotes/s3/monitor +++ b/src/market_mad/remotes/s3/monitor @@ -34,11 +34,25 @@ end UTILS_PATH = File.join(File.dirname(__FILE__), '../../datastore') +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/market_mad/remotes/turnkeylinux/monitor b/src/market_mad/remotes/turnkeylinux/monitor index 624d7e0852..25a19e7a4c 100755 --- a/src/market_mad/remotes/turnkeylinux/monitor +++ b/src/market_mad/remotes/turnkeylinux/monitor @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/onedb/onedb b/src/onedb/onedb index ca824a0aae..22207ad3b0 100755 --- a/src/onedb/onedb +++ b/src/onedb/onedb @@ -46,11 +46,25 @@ end ONED_CONF = "#{ETC_LOCATION}/oned.conf" +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/onedb' diff --git a/src/onedb/vcenter_one54_pre.rb b/src/onedb/vcenter_one54_pre.rb index 990e971092..04c2107ad0 100644 --- a/src/onedb/vcenter_one54_pre.rb +++ b/src/onedb/vcenter_one54_pre.rb @@ -28,11 +28,25 @@ else REMOTES_LOCATION = ONE_LOCATION + '/var/remotes/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cli' diff --git a/src/onegate/onegate-server.rb b/src/onegate/onegate-server.rb index b047c01511..1fe4534e18 100644 --- a/src/onegate/onegate-server.rb +++ b/src/onegate/onegate-server.rb @@ -37,11 +37,25 @@ ONEGATE_AUTH = VAR_LOCATION + "/.one/onegate_auth" ONEGATE_LOG = LOG_LOCATION + "/onegate.log" CONFIGURATION_FILE = ETC_LOCATION + "/onegate-server.conf" +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cloud' diff --git a/src/pm_mad/remotes/ec2/poll b/src/pm_mad/remotes/ec2/poll index 5033d07aff..f727cf1430 100755 --- a/src/pm_mad/remotes/ec2/poll +++ b/src/pm_mad/remotes/ec2/poll @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << File.dirname(__FILE__) $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/pm_mad/remotes/packet/poll b/src/pm_mad/remotes/packet/poll index 28334462ac..6c26eae775 100755 --- a/src/pm_mad/remotes/packet/poll +++ b/src/pm_mad/remotes/packet/poll @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << File.dirname(__FILE__) $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/sunstone/bin/novnc-server b/src/sunstone/bin/novnc-server index afafd2fd31..0b83535624 100755 --- a/src/sunstone/bin/novnc-server +++ b/src/sunstone/bin/novnc-server @@ -40,11 +40,25 @@ CONFIGURATION_FILE = ETC_LOCATION + "/sunstone-server.conf" PLUGIN_CONFIGURATION_FILE = ETC_LOCATION + "/sunstone-plugins.yaml" SUNSTONE_ROOT_DIR = File.dirname(__FILE__) +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << RUBY_LIB_LOCATION + '/cloud' diff --git a/src/sunstone/routes/nsx.rb b/src/sunstone/routes/nsx.rb index cbd899ecab..3d4ca3d09f 100644 --- a/src/sunstone/routes/nsx.rb +++ b/src/sunstone/routes/nsx.rb @@ -28,11 +28,25 @@ else unless defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/sunstone/sunstone-server.rb b/src/sunstone/sunstone-server.rb index 671153ec24..d01af5a682 100755 --- a/src/sunstone/sunstone-server.rb +++ b/src/sunstone/sunstone-server.rb @@ -45,11 +45,28 @@ LOGOS_CONFIGURATION_FILE = ETC_LOCATION + '/sunstone-logos.yaml' SUNSTONE_ROOT_DIR = File.dirname(__FILE__) +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end +end +# %%RUBYGEMS_SETUP_END%% + +# Extra bundled gems initialization +if File.directory?(GEMS_LOCATION) # for some platforms, we redistribute newer base Ruby gems which # should be loaded instead of default ones in the distributions %w[openssl json].each do |name| diff --git a/src/tm_mad/one_tm.rb b/src/tm_mad/one_tm.rb index 04f70b0a04..e90d021bc5 100755 --- a/src/tm_mad/one_tm.rb +++ b/src/tm_mad/one_tm.rb @@ -30,11 +30,25 @@ if !defined? ONE_LOCATION end end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/tm_mad/vcenter/clone b/src/tm_mad/vcenter/clone index 1c0344acb8..aabf7be1aa 100755 --- a/src/tm_mad/vcenter/clone +++ b/src/tm_mad/vcenter/clone @@ -34,11 +34,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/tm_mad/vcenter/cpds b/src/tm_mad/vcenter/cpds index 6943380844..0e8e2ae959 100755 --- a/src/tm_mad/vcenter/cpds +++ b/src/tm_mad/vcenter/cpds @@ -33,11 +33,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/tm_mad/vcenter/delete b/src/tm_mad/vcenter/delete index 7b6aaec8e0..835c86c3b7 100755 --- a/src/tm_mad/vcenter/delete +++ b/src/tm_mad/vcenter/delete @@ -33,11 +33,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/tm_mad/vcenter/mkimage b/src/tm_mad/vcenter/mkimage index 5218bdc776..788f027d30 100755 --- a/src/tm_mad/vcenter/mkimage +++ b/src/tm_mad/vcenter/mkimage @@ -34,11 +34,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/tm_mad/vcenter/mv b/src/tm_mad/vcenter/mv index 64f7294f5d..c3e4d911e0 100755 --- a/src/tm_mad/vcenter/mv +++ b/src/tm_mad/vcenter/mv @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/tm_mad/vcenter/mvds b/src/tm_mad/vcenter/mvds index d01d756961..6ac35b641d 100755 --- a/src/tm_mad/vcenter/mvds +++ b/src/tm_mad/vcenter/mvds @@ -34,11 +34,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/tm_mad/vcenter/resize b/src/tm_mad/vcenter/resize index 56d30fd320..fd8ef20d9b 100755 --- a/src/tm_mad/vcenter/resize +++ b/src/tm_mad/vcenter/resize @@ -28,11 +28,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/dummy/one_vmm_dummy.rb b/src/vmm_mad/dummy/one_vmm_dummy.rb index 6b5bd70a42..959e571eb3 100755 --- a/src/vmm_mad/dummy/one_vmm_dummy.rb +++ b/src/vmm_mad/dummy/one_vmm_dummy.rb @@ -28,11 +28,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/exec/one_vmm_exec.rb b/src/vmm_mad/exec/one_vmm_exec.rb index 90317f6c30..96470660cd 100755 --- a/src/vmm_mad/exec/one_vmm_exec.rb +++ b/src/vmm_mad/exec/one_vmm_exec.rb @@ -32,11 +32,25 @@ else ETC_LOCATION = ONE_LOCATION + '/etc/' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << MAD_LOCATION diff --git a/src/vmm_mad/remotes/az/az_driver.rb b/src/vmm_mad/remotes/az/az_driver.rb index 875a19cfb8..e10c7ff4d8 100755 --- a/src/vmm_mad/remotes/az/az_driver.rb +++ b/src/vmm_mad/remotes/az/az_driver.rb @@ -33,11 +33,25 @@ AZ_DRIVER_CONF = "#{ETC_LOCATION}/az_driver.conf" AZ_DRIVER_DEFAULT = "#{ETC_LOCATION}/az_driver.default" AZ_DATABASE_PATH = "#{VAR_LOCATION}/remotes/im/az.d/az-cache.db" +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/az/cancel b/src/vmm_mad/remotes/az/cancel index dfebbdd645..637cb4e295 100755 --- a/src/vmm_mad/remotes/az/cancel +++ b/src/vmm_mad/remotes/az/cancel @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/az/deploy b/src/vmm_mad/remotes/az/deploy index 8c6b3c27fd..d3894b7a06 100755 --- a/src/vmm_mad/remotes/az/deploy +++ b/src/vmm_mad/remotes/az/deploy @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/az/poll b/src/vmm_mad/remotes/az/poll index f7858869e4..23c2102513 100755 --- a/src/vmm_mad/remotes/az/poll +++ b/src/vmm_mad/remotes/az/poll @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/az/reboot b/src/vmm_mad/remotes/az/reboot index ab1a0f63a1..c5bb615186 100755 --- a/src/vmm_mad/remotes/az/reboot +++ b/src/vmm_mad/remotes/az/reboot @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/az/restore b/src/vmm_mad/remotes/az/restore index 544f2b4e59..fb9850f988 100755 --- a/src/vmm_mad/remotes/az/restore +++ b/src/vmm_mad/remotes/az/restore @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/az/shutdown b/src/vmm_mad/remotes/az/shutdown index ca2280c9b4..bc264fbb26 100755 --- a/src/vmm_mad/remotes/az/shutdown +++ b/src/vmm_mad/remotes/az/shutdown @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/ec2/cancel b/src/vmm_mad/remotes/ec2/cancel index a40e7eb91a..e13bf2c174 100755 --- a/src/vmm_mad/remotes/ec2/cancel +++ b/src/vmm_mad/remotes/ec2/cancel @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/ec2/deploy b/src/vmm_mad/remotes/ec2/deploy index 858caa22a9..6eecb08cd3 100755 --- a/src/vmm_mad/remotes/ec2/deploy +++ b/src/vmm_mad/remotes/ec2/deploy @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/ec2/ec2_driver.rb b/src/vmm_mad/remotes/ec2/ec2_driver.rb index f7ed5f8088..b5fe85a7e7 100755 --- a/src/vmm_mad/remotes/ec2/ec2_driver.rb +++ b/src/vmm_mad/remotes/ec2/ec2_driver.rb @@ -33,11 +33,25 @@ EC2_DRIVER_CONF = "#{ETC_LOCATION}/ec2_driver.conf" EC2_DRIVER_DEFAULT = "#{ETC_LOCATION}/ec2_driver.default" EC2_DATABASE_PATH = "#{VAR_LOCATION}/remotes/im/ec2.d/ec2-cache.db" +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/ec2/poll b/src/vmm_mad/remotes/ec2/poll index f38b02edfc..6d8cd17a98 100755 --- a/src/vmm_mad/remotes/ec2/poll +++ b/src/vmm_mad/remotes/ec2/poll @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/ec2/reboot b/src/vmm_mad/remotes/ec2/reboot index a71e1081bd..dfc04185c3 100755 --- a/src/vmm_mad/remotes/ec2/reboot +++ b/src/vmm_mad/remotes/ec2/reboot @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/ec2/restore b/src/vmm_mad/remotes/ec2/restore index 09063675cd..f86d0a31a8 100755 --- a/src/vmm_mad/remotes/ec2/restore +++ b/src/vmm_mad/remotes/ec2/restore @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/ec2/shutdown b/src/vmm_mad/remotes/ec2/shutdown index abfc91c68e..9ee52b511a 100755 --- a/src/vmm_mad/remotes/ec2/shutdown +++ b/src/vmm_mad/remotes/ec2/shutdown @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/lib/nsx_driver/distributed_firewall.rb b/src/vmm_mad/remotes/lib/nsx_driver/distributed_firewall.rb index 9e48350c15..3adf83b3c7 100644 --- a/src/vmm_mad/remotes/lib/nsx_driver/distributed_firewall.rb +++ b/src/vmm_mad/remotes/lib/nsx_driver/distributed_firewall.rb @@ -29,11 +29,27 @@ module NSXDriver unless defined?(GEMS_LOCATION) end - if File.directory?(GEMS_LOCATION) +# rubocop: disable all +# %%RUBYGEMS_SETUP_BEGIN%% +if File.directory?(GEMS_LOCATION) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end end +end +# %%RUBYGEMS_SETUP_END%% +# rubocop: enable all $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/lib/nsx_driver/nsx_client.rb b/src/vmm_mad/remotes/lib/nsx_driver/nsx_client.rb index eedf80593a..456f34d7d8 100644 --- a/src/vmm_mad/remotes/lib/nsx_driver/nsx_client.rb +++ b/src/vmm_mad/remotes/lib/nsx_driver/nsx_client.rb @@ -29,11 +29,27 @@ module NSXDriver unless defined?(GEMS_LOCATION) end - if File.directory?(GEMS_LOCATION) +# rubocop: disable all +# %%RUBYGEMS_SETUP_BEGIN%% +if File.directory?(GEMS_LOCATION) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end end +end +# %%RUBYGEMS_SETUP_END%% +# rubocop: enable all $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/lib/nsx_driver/nsx_constants.rb b/src/vmm_mad/remotes/lib/nsx_driver/nsx_constants.rb index 167c5ca082..5bd59512ea 100644 --- a/src/vmm_mad/remotes/lib/nsx_driver/nsx_constants.rb +++ b/src/vmm_mad/remotes/lib/nsx_driver/nsx_constants.rb @@ -6,7 +6,7 @@ # a copy of the License at # # # # http://www.apache.org/licenses/LICENSE-2.0 # -# # +# # # Unless required by applicable law or agreed to in writing, software # # distributed under the License is distributed on an "AS IS" BASIS, # # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # @@ -29,11 +29,27 @@ module NSXDriver unless defined?(GEMS_LOCATION) end - if File.directory?(GEMS_LOCATION) +# rubocop: disable all +# %%RUBYGEMS_SETUP_BEGIN%% +if File.directory?(GEMS_LOCATION) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end end +end +# %%RUBYGEMS_SETUP_END%% +# rubocop: enable all $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/lib/nsx_driver/nsx_rule.rb b/src/vmm_mad/remotes/lib/nsx_driver/nsx_rule.rb index 359acc35a2..cec688c563 100644 --- a/src/vmm_mad/remotes/lib/nsx_driver/nsx_rule.rb +++ b/src/vmm_mad/remotes/lib/nsx_driver/nsx_rule.rb @@ -33,11 +33,27 @@ module NSXDriver unless defined?(GEMS_LOCATION) end - if File.directory?(GEMS_LOCATION) +# rubocop: disable all +# %%RUBYGEMS_SETUP_BEGIN%% +if File.directory?(GEMS_LOCATION) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end end +end +# %%RUBYGEMS_SETUP_END%% +# rubocop: enable all $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/lib/nsx_driver/nsxt_client.rb b/src/vmm_mad/remotes/lib/nsx_driver/nsxt_client.rb index 7e84fd7201..c0a034b629 100644 --- a/src/vmm_mad/remotes/lib/nsx_driver/nsxt_client.rb +++ b/src/vmm_mad/remotes/lib/nsx_driver/nsxt_client.rb @@ -29,11 +29,27 @@ module NSXDriver unless defined?(GEMS_LOCATION) end - if File.directory?(GEMS_LOCATION) +# rubocop: disable all +# %%RUBYGEMS_SETUP_BEGIN%% +if File.directory?(GEMS_LOCATION) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end end +end +# %%RUBYGEMS_SETUP_END%% +# rubocop: enable all $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/lib/nsx_driver/nsxv_client.rb b/src/vmm_mad/remotes/lib/nsx_driver/nsxv_client.rb index 85fe65d1fb..af835ddb7c 100644 --- a/src/vmm_mad/remotes/lib/nsx_driver/nsxv_client.rb +++ b/src/vmm_mad/remotes/lib/nsx_driver/nsxv_client.rb @@ -29,11 +29,27 @@ module NSXDriver unless defined?(GEMS_LOCATION) end - if File.directory?(GEMS_LOCATION) +# rubocop: disable all +# %%RUBYGEMS_SETUP_BEGIN%% +if File.directory?(GEMS_LOCATION) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end end +end +# %%RUBYGEMS_SETUP_END%% +# rubocop: enable all $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb index c323959927..dbea6fcc0a 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb @@ -33,11 +33,27 @@ module VCenterDriver end end - if File.directory?(GEMS_LOCATION) +# rubocop: disable all +# %%RUBYGEMS_SETUP_BEGIN%% +if File.directory?(GEMS_LOCATION) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end end +end +# %%RUBYGEMS_SETUP_END%% +# rubocop: enable all $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/nsx/nsx_driver.rb b/src/vmm_mad/remotes/nsx/nsx_driver.rb index ef270a6d9a..43e372f3b7 100644 --- a/src/vmm_mad/remotes/nsx/nsx_driver.rb +++ b/src/vmm_mad/remotes/nsx/nsx_driver.rb @@ -36,11 +36,27 @@ end ENV['LANG'] = 'C' +# rubocop: disable all +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% +# rubocop: enable all $LOAD_PATH << LIB_LOCATION + '/ruby' $LOAD_PATH << LIB_LOCATION + '/ruby/nsx_driver' diff --git a/src/vmm_mad/remotes/one/cancel b/src/vmm_mad/remotes/one/cancel index ab3e50d83e..c5e58e597c 100755 --- a/src/vmm_mad/remotes/one/cancel +++ b/src/vmm_mad/remotes/one/cancel @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/one/deploy b/src/vmm_mad/remotes/one/deploy index 8c0cd82cc4..a6b3bb6866 100755 --- a/src/vmm_mad/remotes/one/deploy +++ b/src/vmm_mad/remotes/one/deploy @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/one/opennebula_driver.rb b/src/vmm_mad/remotes/one/opennebula_driver.rb index 55d77ecc20..953ed787ac 100755 --- a/src/vmm_mad/remotes/one/opennebula_driver.rb +++ b/src/vmm_mad/remotes/one/opennebula_driver.rb @@ -31,11 +31,25 @@ end # Load credentials and environment require 'yaml' +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/one/poll b/src/vmm_mad/remotes/one/poll index 9bc2abab50..0e5b2550b9 100755 --- a/src/vmm_mad/remotes/one/poll +++ b/src/vmm_mad/remotes/one/poll @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/one/reboot b/src/vmm_mad/remotes/one/reboot index d8acd746a3..b574b1aa80 100755 --- a/src/vmm_mad/remotes/one/reboot +++ b/src/vmm_mad/remotes/one/reboot @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/one/reset b/src/vmm_mad/remotes/one/reset index c6e93d1c51..74865ee172 100755 --- a/src/vmm_mad/remotes/one/reset +++ b/src/vmm_mad/remotes/one/reset @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/one/restore b/src/vmm_mad/remotes/one/restore index 0a506bf7c6..13e71e5590 100755 --- a/src/vmm_mad/remotes/one/restore +++ b/src/vmm_mad/remotes/one/restore @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/one/save b/src/vmm_mad/remotes/one/save index 24ff613838..38a8a75a25 100755 --- a/src/vmm_mad/remotes/one/save +++ b/src/vmm_mad/remotes/one/save @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/one/shutdown b/src/vmm_mad/remotes/one/shutdown index 744d13f393..b2dfc76d3e 100755 --- a/src/vmm_mad/remotes/one/shutdown +++ b/src/vmm_mad/remotes/one/shutdown @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/packet/cancel b/src/vmm_mad/remotes/packet/cancel index b39ab63296..a6e8918f73 100755 --- a/src/vmm_mad/remotes/packet/cancel +++ b/src/vmm_mad/remotes/packet/cancel @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << File.dirname(__FILE__) $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/packet/deploy b/src/vmm_mad/remotes/packet/deploy index 38a1c876d6..a509d760dd 100755 --- a/src/vmm_mad/remotes/packet/deploy +++ b/src/vmm_mad/remotes/packet/deploy @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << File.dirname(__FILE__) $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/packet/packet_driver.rb b/src/vmm_mad/remotes/packet/packet_driver.rb index 9ad88e3795..57c332f633 100644 --- a/src/vmm_mad/remotes/packet/packet_driver.rb +++ b/src/vmm_mad/remotes/packet/packet_driver.rb @@ -30,11 +30,25 @@ end PACKET_DATABASE_PATH = "#{VAR_LOCATION}/remotes/im/packet.d/packet-cache.db" +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << PACKET_LOCATION diff --git a/src/vmm_mad/remotes/packet/poll b/src/vmm_mad/remotes/packet/poll index 6b1e2a8934..c4cdd1c9e0 100755 --- a/src/vmm_mad/remotes/packet/poll +++ b/src/vmm_mad/remotes/packet/poll @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/packet/reboot b/src/vmm_mad/remotes/packet/reboot index c4bc017910..3f1b423b37 100755 --- a/src/vmm_mad/remotes/packet/reboot +++ b/src/vmm_mad/remotes/packet/reboot @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << File.dirname(__FILE__) $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/packet/reset b/src/vmm_mad/remotes/packet/reset index 9a05589255..a6ae1223d5 100755 --- a/src/vmm_mad/remotes/packet/reset +++ b/src/vmm_mad/remotes/packet/reset @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << File.dirname(__FILE__) $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vmm_mad/remotes/packet/shutdown b/src/vmm_mad/remotes/packet/shutdown index c79278f194..bb7b854dae 100755 --- a/src/vmm_mad/remotes/packet/shutdown +++ b/src/vmm_mad/remotes/packet/shutdown @@ -26,11 +26,25 @@ else GEMS_LOCATION = ONE_LOCATION + '/share/gems' if !defined?(GEMS_LOCATION) end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/attach_disk b/src/vmm_mad/remotes/vcenter/attach_disk index f60eea0fe7..c17b05a55f 100755 --- a/src/vmm_mad/remotes/vcenter/attach_disk +++ b/src/vmm_mad/remotes/vcenter/attach_disk @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/attach_nic b/src/vmm_mad/remotes/vcenter/attach_nic index 63d7a1f4e3..2b025fcd5e 100755 --- a/src/vmm_mad/remotes/vcenter/attach_nic +++ b/src/vmm_mad/remotes/vcenter/attach_nic @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/cancel b/src/vmm_mad/remotes/vcenter/cancel index 2e1866e35b..c118eddd97 100755 --- a/src/vmm_mad/remotes/vcenter/cancel +++ b/src/vmm_mad/remotes/vcenter/cancel @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/deploy b/src/vmm_mad/remotes/vcenter/deploy index 21ccef6bb6..a80c37099f 100755 --- a/src/vmm_mad/remotes/vcenter/deploy +++ b/src/vmm_mad/remotes/vcenter/deploy @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/detach_nic b/src/vmm_mad/remotes/vcenter/detach_nic index e73a5605db..9b53fca7a6 100755 --- a/src/vmm_mad/remotes/vcenter/detach_nic +++ b/src/vmm_mad/remotes/vcenter/detach_nic @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/migrate b/src/vmm_mad/remotes/vcenter/migrate index a2dee8d513..78dd6b8b7c 100755 --- a/src/vmm_mad/remotes/vcenter/migrate +++ b/src/vmm_mad/remotes/vcenter/migrate @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/poll b/src/vmm_mad/remotes/vcenter/poll index 03ec192bc2..ae8a27a7da 100755 --- a/src/vmm_mad/remotes/vcenter/poll +++ b/src/vmm_mad/remotes/vcenter/poll @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/reboot b/src/vmm_mad/remotes/vcenter/reboot index 3988c34c21..d2deccce7c 100755 --- a/src/vmm_mad/remotes/vcenter/reboot +++ b/src/vmm_mad/remotes/vcenter/reboot @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/reconfigure b/src/vmm_mad/remotes/vcenter/reconfigure index 8683ec117d..af60121b8d 100755 --- a/src/vmm_mad/remotes/vcenter/reconfigure +++ b/src/vmm_mad/remotes/vcenter/reconfigure @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/reset b/src/vmm_mad/remotes/vcenter/reset index 66da733dd2..cf99802e9e 100755 --- a/src/vmm_mad/remotes/vcenter/reset +++ b/src/vmm_mad/remotes/vcenter/reset @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/restore b/src/vmm_mad/remotes/vcenter/restore index 5d8233e833..9e6b839c76 100755 --- a/src/vmm_mad/remotes/vcenter/restore +++ b/src/vmm_mad/remotes/vcenter/restore @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/save b/src/vmm_mad/remotes/vcenter/save index ef05d65474..d834609778 100755 --- a/src/vmm_mad/remotes/vcenter/save +++ b/src/vmm_mad/remotes/vcenter/save @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/shutdown b/src/vmm_mad/remotes/vcenter/shutdown index c22b9b1424..af917af47c 100755 --- a/src/vmm_mad/remotes/vcenter/shutdown +++ b/src/vmm_mad/remotes/vcenter/shutdown @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/snapshot_create b/src/vmm_mad/remotes/vcenter/snapshot_create index b07a0e2a85..bce3a92c50 100755 --- a/src/vmm_mad/remotes/vcenter/snapshot_create +++ b/src/vmm_mad/remotes/vcenter/snapshot_create @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/snapshot_delete b/src/vmm_mad/remotes/vcenter/snapshot_delete index 818b7cc284..b0701e5200 100755 --- a/src/vmm_mad/remotes/vcenter/snapshot_delete +++ b/src/vmm_mad/remotes/vcenter/snapshot_delete @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/snapshot_revert b/src/vmm_mad/remotes/vcenter/snapshot_revert index 8162037095..b8fa6162cc 100755 --- a/src/vmm_mad/remotes/vcenter/snapshot_revert +++ b/src/vmm_mad/remotes/vcenter/snapshot_revert @@ -26,11 +26,25 @@ else GEMS_LOCATION ||= ONE_LOCATION + '/share/gems' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION $LOAD_PATH << File.dirname(__FILE__) diff --git a/src/vmm_mad/remotes/vcenter/vcenter_driver.rb b/src/vmm_mad/remotes/vcenter/vcenter_driver.rb index 082a0dfb27..58c85cd8c8 100644 --- a/src/vmm_mad/remotes/vcenter/vcenter_driver.rb +++ b/src/vmm_mad/remotes/vcenter/vcenter_driver.rb @@ -36,11 +36,25 @@ end ENV['LANG'] = 'C' +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << LIB_LOCATION + '/ruby/vendors/rbvmomi/lib' $LOAD_PATH << LIB_LOCATION + '/ruby' diff --git a/src/vnm_mad/remotes/vcenter/clean b/src/vnm_mad/remotes/vcenter/clean index 41831543da..8fe7d4e904 100755 --- a/src/vnm_mad/remotes/vcenter/clean +++ b/src/vnm_mad/remotes/vcenter/clean @@ -30,11 +30,25 @@ else CONFIG_FILE = ONE_LOCATION + '/var/config' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vnm_mad/remotes/vcenter/post b/src/vnm_mad/remotes/vcenter/post index 144c322d97..2a3563aceb 100755 --- a/src/vnm_mad/remotes/vcenter/post +++ b/src/vnm_mad/remotes/vcenter/post @@ -30,11 +30,25 @@ else CONFIG_FILE = ONE_LOCATION + '/var/config' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION diff --git a/src/vnm_mad/remotes/vcenter/update_sg b/src/vnm_mad/remotes/vcenter/update_sg index 96038bc42a..eab19ae10b 100755 --- a/src/vnm_mad/remotes/vcenter/update_sg +++ b/src/vnm_mad/remotes/vcenter/update_sg @@ -30,11 +30,25 @@ else CONFIG_FILE = ONE_LOCATION + '/var/config' end +# %%RUBYGEMS_SETUP_BEGIN%% if File.directory?(GEMS_LOCATION) - $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } - require 'rubygems' - Gem.use_paths(File.realpath(GEMS_LOCATION)) + real_gems_path = File.realpath(GEMS_LOCATION) + if !defined?(Gem) || Gem.path != [real_gems_path] + $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ } + + # Suppress warnings from Rubygems + # https://github.com/OpenNebula/one/issues/5379 + begin + verb = $VERBOSE + $VERBOSE = nil + require 'rubygems' + Gem.use_paths(real_gems_path) + ensure + $VERBOSE = verb + end + end end +# %%RUBYGEMS_SETUP_END%% $LOAD_PATH << RUBY_LIB_LOCATION