Improve the new l23network loader

* Move the loader out of the puppetx
* Add loader to the osnailyfacter module

Change-Id: I3d468bf1ef64563bc018854115fffaeb98e6c95a
This commit is contained in:
Dmitry Ilyin 2016-08-25 16:28:36 -05:00
parent a67c4cca1b
commit b4840b8632
23 changed files with 71 additions and 23 deletions

View File

@ -1,9 +1,14 @@
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',
)

View File

@ -1,8 +1,12 @@
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',
)

View File

@ -22,7 +22,7 @@ module PuppetLoader
false
end
end
fail "PuppetLoader: could not load any of these files: #{files.join ', '}" unless success
raise LoadError, "PuppetLoader: could not load any of these files: #{files.join ', '}" unless success
success
end
end

View File

@ -5,7 +5,7 @@ require 'puppet/parser'
require 'puppet/parser/templatewrapper'
require 'puppet/resource/type_collection'
require 'puppet/util/methodhelper'
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
module L23network
def self.default_offload_set

View File

@ -1,6 +1,6 @@
require 'ipaddr'
require_relative 'lib/prepare_cidr'
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
Puppet::Parser::Functions::newfunction(:get_default_gateways, :type => :rvalue, :doc => <<-EOS
Parse network_scheme and return list of default gateways,

View File

@ -1,4 +1,4 @@
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
Puppet::Parser::Functions::newfunction(:get_dpdk_interfaces, :type => :rvalue, :doc => <<-EOS
This function gets list of interfaces and returns bus_info addresses and

View File

@ -1,6 +1,6 @@
require 'ipaddr'
require_relative 'lib/prepare_cidr'
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
Puppet::Parser::Functions::newfunction(:get_network_role_property, :type => :rvalue, :doc => <<-EOS
This function get get network the network_role name and mode --

View File

@ -1,4 +1,4 @@
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
Puppet::Parser::Functions::newfunction(:get_nic_passthrough_whitelist, :type => :rvalue, :arity => 1, :doc => <<-EOS
This function gets pci_passthrough_whitelist mapping from transformations

View File

@ -1,4 +1,4 @@
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
module Puppet::Parser::Functions
newfunction(:get_pair_of_jack_names, :type => :rvalue) do |arguments|

View File

@ -1,4 +1,4 @@
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
module Puppet::Parser::Functions
newfunction(:get_patch_name, :type => :rvalue) do |arguments|

View File

@ -1,4 +1,4 @@
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
module Puppet::Parser::Functions
newfunction(:get_route_resource_name, :type => :rvalue) do |argv|

View File

@ -1,4 +1,4 @@
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
Puppet::Parser::Functions::newfunction(:get_transformation_property, :type => :rvalue, :doc => <<-EOS
This function gets an properties from transformations

View File

@ -1,4 +1,4 @@
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
module Puppet::Parser::Functions
newfunction(:override_transformations, :type => :rvalue, :doc => <<-EOS

View File

@ -1,4 +1,4 @@
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
module Puppet::Parser::Functions
newfunction(:prepare_network_config, :doc => <<-EOS

View File

@ -1,4 +1,4 @@
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
module Puppet::Parser::Functions
newfunction(:remove_empty_members, :type => :rvalue, :doc => <<-EOS

View File

@ -1,4 +1,4 @@
require_relative '../../../puppetx/loader/l23network'
require_relative '../../loader/l23network'
module Puppet::Parser::Functions
newfunction(:sanitize_bool_in_hash, :type => :rvalue, :doc => <<-EOS

View File

@ -1,4 +1,4 @@
require_relative '../../puppetx/loader/l23network'
require_relative '../loader/l23network'
require 'yaml'
require 'json'

View File

@ -1,8 +1,8 @@
# type for managing persistent interface config options
# Inspired by puppet-network module. Adrien, thanks.
require_relative '../../puppetx/loader/l23network'
require_relative '../../puppetx/loader/filemapper'
require_relative '../loader/l23network'
require_relative '../loader/filemapper'
class Puppet::Provider::L23_stored_config_base < Puppet::Provider

View File

@ -1,7 +1,7 @@
# type for managing runtime NIC states.
require 'yaml'
require_relative '../../puppetx/loader/l23network'
require_relative '../loader/l23network'
Puppet::Type.newtype(:l2_port) do
@doc = "Manage a network port abctraction."

View File

@ -0,0 +1,14 @@
require_relative 'loader'
PuppetLoader.load(
# the right way, load using "puppetx" path
'puppetx/l23network',
# load relatively through the puppet modules
'./../../../l23network/lib/puppetx/l23network',
# load relatively from the modules in the fixtures
'../../spec/fixtures/modules/l23network/lib/puppetx/l23network',
# load 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',
)

View File

@ -0,0 +1,28 @@
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

View File

@ -1,8 +1,6 @@
require 'ipaddr'
require 'pp'
require 'puppetx/l23_utils'
require 'puppetx/l23_network_scheme'
require 'puppetx/l23_hash_tools'
require_relative '../../../loader/l23network'
Puppet::Parser::Functions::newfunction(:configure_default_route, :type => :rvalue, :doc => <<-EOS
This function gets hash of network endpoints configuration and check if fw-admin endpoint has gateway

View File

@ -1,8 +1,7 @@
require 'yaml'
require 'digest'
require 'ipaddr'
require 'puppetx/l23_network_scheme'
require 'puppetx/l23_hash_tools'
require_relative '../../../loader/l23network'
module Puppet::Parser::Functions
newfunction(