Module: RspecPuppetFacts
- Defined in:
- lib/rspec-puppet-facts.rb,
lib/rspec-puppet-facts/version.rb
Defined Under Namespace
Modules: Version
Class Method Summary collapse
- .get_meta_supported_os ⇒ Object private
- .get_metadata ⇒ Object private
- .meta_supported_os ⇒ Object private
Instance Method Summary collapse
Class Method Details
.get_meta_supported_os ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
66 67 68 69 70 71 72 |
# File 'lib/rspec-puppet-facts.rb', line 66 def self. = if ['operatingsystem_support'].nil? fail StandardError, "Unknown operatingsystem support" end ['operatingsystem_support'] end |
.get_metadata ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
75 76 77 78 79 80 |
# File 'lib/rspec-puppet-facts.rb', line 75 def self. if ! File.file?('metadata.json') fail StandardError, "Can't find metadata.json... dunno why" end JSON.parse(File.read('metadata.json')) end |
.meta_supported_os ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
61 62 63 |
# File 'lib/rspec-puppet-facts.rb', line 61 def self. @meta_supported_os ||= end |
Instance Method Details
#on_supported_os(opts = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/rspec-puppet-facts.rb', line 9 def on_supported_os( opts = {} ) opts[:hardwaremodels] ||= ['x86_64'] opts[:supported_os] ||= RspecPuppetFacts. filter = [] opts[:supported_os].map do |os_sup| if os_sup['operatingsystemrelease'] os_sup['operatingsystemrelease'].map do || opts[:hardwaremodels].each do |hardwaremodel| if os_sup['operatingsystem'] =~ /BSD/ hardwaremodel = 'amd64' elsif os_sup['operatingsystem'] =~ /Solaris/ hardwaremodel = 'i86pc' elsif os_sup['operatingsystem'] =~ /windows/ hardwaremodel = 'x64' end filter << { :facterversion => "/^#{Facter.version[0..2]}/", :operatingsystem => os_sup['operatingsystem'], :operatingsystemrelease => "/^#{.split(" ")[0]}/", :hardwaremodel => hardwaremodel, } end end else opts[:hardwaremodels].each do |hardwaremodel| filter << { :facterversion => "/^#{Facter.version[0..2]}/", :operatingsystem => os_sup['operatingsystem'], :hardwaremodel => hardwaremodel, } end end end h = {} FacterDB::get_facts(filter).map do |facts| facts.merge!({ :mco_version => MCollective::VERSION, :puppetversion => Puppet.version, :rubysitedir => RbConfig::CONFIG["sitelibdir"], :rubyversion => RUBY_VERSION, }) facts[:augeasversion] = Augeas.open(nil, nil, Augeas::NO_MODL_AUTOLOAD).get('/augeas/version') if Puppet.features.augeas? h["#{facts[:operatingsystem].downcase}-#{facts[:operatingsystemrelease].split('.')[0]}-#{facts[:hardwaremodel]}"] = facts end h end |