diff --git a/deployment/puppet/l23network/lib/puppet/loader/filemapper.rb b/deployment/puppet/l23network/lib/puppet/loader/filemapper.rb deleted file mode 100644 index ce95ea4009..0000000000 --- a/deployment/puppet/l23network/lib/puppet/loader/filemapper.rb +++ /dev/null @@ -1,14 +0,0 @@ -require_relative 'loader' - -PuppetLoader.load( - # the right way, load using the "puppetx" path - 'puppetx/filemapper', - # load relatively through the puppet modules - './../../../../filemapper/lib/puppetx/filemapper', - # load relatively from the modules in the fixtures - './../../../spec/fixtures/modules/filemapper/lib/puppetx/filemapper', - # load from the "var" directory after plugin sync - '/var/lib/puppet/lib/puppetx/filemapper', - # the last resort, load by the absolute path - '/etc/puppet/modules/filemapper/lib/puppetx/filemapper', -) diff --git a/deployment/puppet/l23network/lib/puppet/loader/l23network.rb b/deployment/puppet/l23network/lib/puppet/loader/l23network.rb deleted file mode 100644 index cebcee7490..0000000000 --- a/deployment/puppet/l23network/lib/puppet/loader/l23network.rb +++ /dev/null @@ -1,12 +0,0 @@ -require_relative 'loader' - -PuppetLoader.load( - # the right way, load using the "puppetx" path - 'puppetx/l23network', - # load relatively from inside the "lib" dir - './../../puppetx/l23network', - # load relatively from the "var" directory after plugin sync - '/var/lib/puppet/lib/puppetx/l23network', - # the last resort, load by the absolute path - '/etc/puppet/modules/l23network/lib/puppetx/l23network', -) diff --git a/deployment/puppet/l23network/lib/puppet/loader/loader.rb b/deployment/puppet/l23network/lib/puppet/loader/loader.rb deleted file mode 100644 index e288987291..0000000000 --- a/deployment/puppet/l23network/lib/puppet/loader/loader.rb +++ /dev/null @@ -1,28 +0,0 @@ -module PuppetLoader - def self.debug=(value) - @debug = value - end - - def self.debug(message) - Puppet.debug message if @debug - end - - def self.load(*files) - success = files.any? do |file| - begin - if file.start_with? './' - require_relative file - else - require file - end - debug "PuppetLoader: success - '#{file}'" - true - rescue LoadError => load_error - debug "PuppetLoader: fail - '#{file}': #{load_error}" - false - end - end - raise LoadError, "PuppetLoader: could not load any of these files: #{files.join ', '}" unless success - success - end -end diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/generate_network_config.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/generate_network_config.rb index 46d122d879..c73b28a33b 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/generate_network_config.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/generate_network_config.rb @@ -5,7 +5,7 @@ require 'puppet/parser' require 'puppet/parser/templatewrapper' require 'puppet/resource/type_collection' require 'puppet/util/methodhelper' -require_relative '../../loader/l23network' +require 'puppetx/l23network' module L23network def self.default_offload_set diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/get_default_gateways.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/get_default_gateways.rb index 5fa0d9761c..ffb527fdf8 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/get_default_gateways.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/get_default_gateways.rb @@ -1,6 +1,6 @@ require 'ipaddr' require_relative 'lib/prepare_cidr' -require_relative '../../loader/l23network' +require 'puppetx/l23network' Puppet::Parser::Functions::newfunction(:get_default_gateways, :type => :rvalue, :doc => <<-EOS Parse network_scheme and return list of default gateways, diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/get_dpdk_interfaces.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/get_dpdk_interfaces.rb index 3cc83d2e12..bcc8560d87 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/get_dpdk_interfaces.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/get_dpdk_interfaces.rb @@ -1,4 +1,4 @@ -require_relative '../../loader/l23network' +require 'puppetx/l23network' Puppet::Parser::Functions::newfunction(:get_dpdk_interfaces, :type => :rvalue, :doc => <<-EOS This function gets list of interfaces and returns bus_info addresses and diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/get_network_role_property.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/get_network_role_property.rb index bb4efb6ec9..9ccc24a737 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/get_network_role_property.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/get_network_role_property.rb @@ -1,6 +1,6 @@ require 'ipaddr' require_relative 'lib/prepare_cidr' -require_relative '../../loader/l23network' +require 'puppetx/l23network' Puppet::Parser::Functions::newfunction(:get_network_role_property, :type => :rvalue, :doc => <<-EOS This function get get network the network_role name and mode -- diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/get_nic_passthrough_whitelist.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/get_nic_passthrough_whitelist.rb index 13d19e5e77..cce2ddb3b6 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/get_nic_passthrough_whitelist.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/get_nic_passthrough_whitelist.rb @@ -1,4 +1,4 @@ -require_relative '../../loader/l23network' +require 'puppetx/l23network' Puppet::Parser::Functions::newfunction(:get_nic_passthrough_whitelist, :type => :rvalue, :arity => 1, :doc => <<-EOS This function gets pci_passthrough_whitelist mapping from transformations diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/get_pair_of_jack_names.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/get_pair_of_jack_names.rb index d3a7e652fa..4a14ed7c74 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/get_pair_of_jack_names.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/get_pair_of_jack_names.rb @@ -1,4 +1,4 @@ -require_relative '../../loader/l23network' +require 'puppetx/l23network' module Puppet::Parser::Functions newfunction(:get_pair_of_jack_names, :type => :rvalue) do |arguments| diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/get_patch_name.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/get_patch_name.rb index e0ebb802d5..6c9feaa68b 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/get_patch_name.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/get_patch_name.rb @@ -1,4 +1,4 @@ -require_relative '../../loader/l23network' +require 'puppetx/l23network' module Puppet::Parser::Functions newfunction(:get_patch_name, :type => :rvalue) do |arguments| diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/get_route_resource_name.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/get_route_resource_name.rb index af5187c253..e9828ce616 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/get_route_resource_name.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/get_route_resource_name.rb @@ -1,4 +1,4 @@ -require_relative '../../loader/l23network' +require 'puppetx/l23network' module Puppet::Parser::Functions newfunction(:get_route_resource_name, :type => :rvalue) do |argv| diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/get_transformation_property.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/get_transformation_property.rb index 5834da34a1..e3d3965b76 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/get_transformation_property.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/get_transformation_property.rb @@ -1,4 +1,4 @@ -require_relative '../../loader/l23network' +require 'puppetx/l23network' Puppet::Parser::Functions::newfunction(:get_transformation_property, :type => :rvalue, :doc => <<-EOS This function gets an properties from transformations diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/override_transformations.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/override_transformations.rb index b364f582a6..e7718eccfa 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/override_transformations.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/override_transformations.rb @@ -1,4 +1,4 @@ -require_relative '../../loader/l23network' +require 'puppetx/l23network' module Puppet::Parser::Functions newfunction(:override_transformations, :type => :rvalue, :doc => <<-EOS diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/prepare_network_config.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/prepare_network_config.rb index 544803d8da..888c592bb2 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/prepare_network_config.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/prepare_network_config.rb @@ -1,4 +1,4 @@ -require_relative '../../loader/l23network' +require 'puppetx/l23network' module Puppet::Parser::Functions newfunction(:prepare_network_config, :doc => <<-EOS diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/remove_empty_members.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/remove_empty_members.rb index 948e4e6423..ad206d6458 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/remove_empty_members.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/remove_empty_members.rb @@ -1,4 +1,4 @@ -require_relative '../../loader/l23network' +require 'puppetx/l23network' module Puppet::Parser::Functions newfunction(:remove_empty_members, :type => :rvalue, :doc => <<-EOS diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/sanitize_bool_in_hash.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/sanitize_bool_in_hash.rb index d3de5781fd..508475f573 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/sanitize_bool_in_hash.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/sanitize_bool_in_hash.rb @@ -1,4 +1,4 @@ -require_relative '../../loader/l23network' +require 'puppetx/l23network' module Puppet::Parser::Functions newfunction(:sanitize_bool_in_hash, :type => :rvalue, :doc => <<-EOS diff --git a/deployment/puppet/l23network/lib/puppet/provider/interface_toolset.rb b/deployment/puppet/l23network/lib/puppet/provider/interface_toolset.rb index 53f4541585..52da28ccaf 100644 --- a/deployment/puppet/l23network/lib/puppet/provider/interface_toolset.rb +++ b/deployment/puppet/l23network/lib/puppet/provider/interface_toolset.rb @@ -1,4 +1,4 @@ -require_relative '../loader/l23network' +require 'puppetx/l23network' require 'yaml' require 'json' diff --git a/deployment/puppet/l23network/lib/puppet/provider/l23_stored_config_base.rb b/deployment/puppet/l23network/lib/puppet/provider/l23_stored_config_base.rb index eb92a95546..ed5e85d686 100644 --- a/deployment/puppet/l23network/lib/puppet/provider/l23_stored_config_base.rb +++ b/deployment/puppet/l23network/lib/puppet/provider/l23_stored_config_base.rb @@ -1,8 +1,10 @@ # type for managing persistent interface config options # Inspired by puppet-network module. Adrien, thanks. -require_relative '../loader/l23network' -require_relative '../loader/filemapper' +p $LOAD_PATH + +require 'puppetx/l23network' +require 'puppetx/filemapper' class Puppet::Provider::L23_stored_config_base < Puppet::Provider diff --git a/deployment/puppet/l23network/lib/puppet/type/l2_port.rb b/deployment/puppet/l23network/lib/puppet/type/l2_port.rb index 08e03d86bc..c3b870974e 100644 --- a/deployment/puppet/l23network/lib/puppet/type/l2_port.rb +++ b/deployment/puppet/l23network/lib/puppet/type/l2_port.rb @@ -1,7 +1,7 @@ # type for managing runtime NIC states. require 'yaml' -require_relative '../loader/l23network' +require 'puppetx/l23network' Puppet::Type.newtype(:l2_port) do @doc = "Manage a network port abctraction." diff --git a/deployment/puppet/l23network/spec/spec_helper.rb b/deployment/puppet/l23network/spec/spec_helper.rb index 33bf5491d5..1c490c8f23 100644 --- a/deployment/puppet/l23network/spec/spec_helper.rb +++ b/deployment/puppet/l23network/spec/spec_helper.rb @@ -3,24 +3,34 @@ require 'puppetlabs_spec_helper/module_spec_helper' require 'rspec-puppet-facts' include RspecPuppetFacts -fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures')) +RSpec.configure do |c| + c.mock_with(:mocha) +end -PROJECT_ROOT = File.expand_path('..', File.dirname(__FILE__)) -$LOAD_PATH.unshift(File.join(PROJECT_ROOT, "lib")) +PROJECT_ROOT = File.expand_path '..', File.dirname(__FILE__) -# Add fixture lib dirs to LOAD_PATH. Work-around for PUP-3336 -if Puppet.version < '4.0.0' - Dir["#{fixture_path}/modules/*/lib"].entries.each do |lib_dir| +def add_plugin_lib_dir(*plugin_dirs) + plugin_dirs.each do |plugin_dir| + lib_dir = File.join plugin_dir, 'lib' + next unless File.directory? lib_dir + # puts "Add lib dir to the load path: '#{lib_dir}'" $LOAD_PATH << lib_dir end end -RSpec.configure do |c| - c.module_path = File.join(fixture_path, 'modules') - c.manifest_dir = File.join(fixture_path, 'manifests') - c.mock_with(:mocha) +def add_fixtures_lib_dirs + fixture_modules_dir = File.join PROJECT_ROOT, 'spec', 'fixtures', 'modules' + return unless File.directory? fixture_modules_dir + Dir.entries(fixture_modules_dir).each do |plugin| + next if %w(. ..).include? plugin + plugin_dir = File.join fixture_modules_dir, plugin + add_plugin_lib_dir plugin_dir + end end +add_plugin_lib_dir PROJECT_ROOT +add_fixtures_lib_dirs + def puppet_debug_override if ENV['SPEC_PUPPET_DEBUG'] Puppet::Util::Log.level = :debug