Class: PEBuild::Cap::Facts::RedHat

Inherits:
POSIX
  • Object
show all
Defined in:
lib/pe_build/cap/facts/redhat.rb

Overview

Facts implementation for RedHat guests

Since:

  • 0.13.0

Instance Attribute Summary

Attributes inherited from Base

#machine

Instance Method Summary collapse

Methods inherited from POSIX

#architecture

Methods inherited from Base

#architecture, #basic_facts, #initialize, #load_facts, pebuild_facts, #puppet_path

Constructor Details

This class inherits a constructor from PEBuild::Cap::Facts::Base

Instance Method Details

#os_infoHash

TODO:

Implement name detection (RHEL, CentOS, Sci. Linux, etc.).

Returns info about the OS type

Currently returns family as RedHat.

Returns:

  • (Hash)

    A hash containing the family of the operating system and, optionally, the name.

See Also:

Since:

  • 0.13.0



14
15
16
17
18
# File 'lib/pe_build/cap/facts/redhat.rb', line 14

def os_info
  {
    'family' => 'RedHat'
  }
end

#release_infoHash

Returns info about the OS version

Reads /etc/redhat-release and generates a full version along with major and minor components.

Returns:

  • (Hash)

    A hash containing the full version strying of the operating system and, optionally, the minor and major release versions.

See Also:

Since:

  • 0.13.0



26
27
28
29
30
31
32
33
34
35
# File 'lib/pe_build/cap/facts/redhat.rb', line 26

def release_info
  release_file = sudo('cat /etc/redhat-release')[:stdout]
  version = release_file.match(/release (\d+\.\d+)/)[1]

  {
    'major' => version.split('.', 2)[0],
    'minor' => version.split('.', 2)[1],
    'full'  => version
  }
end