Sha256: 139722d1f6c4c95a1c74a17a705fd88248fd4a366029549b684a4a390094baa3

Contents?: true

Size: 611 Bytes

Versions: 3

Compression:

Stored size: 611 Bytes

Contents

# frozen_string_literal: true

module Facter
  module Resolvers
    class Xen < BaseResolver
      @semaphore = Mutex.new
      @fact_list ||= {}

      class << self
        private

        def post_resolve(fact_name)
          @fact_list.fetch(fact_name) { chech_xen_dirs(fact_name) }
        end

        def chech_xen_dirs(fact_name)
          xen_type = 'xen0' if File.exist?('/dev/xen/evtchn')
          xen_type = 'xenu' if !xen_type && (File.exist?('/proc/xen') || File.exist?('/dev/xvda1'))

          @fact_list[:vm] = xen_type
          @fact_list[fact_name]
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
facter-4.0.29 lib/resolvers/xen.rb
facter-4.0.28 lib/resolvers/xen.rb
facter-4.0.26 lib/resolvers/xen.rb