diff --git a/lib/facter/facts/solaris/os/name.rb b/lib/facter/facts/solaris/os/name.rb index 261c0dc09a..c547e655f2 100644 --- a/lib/facter/facts/solaris/os/name.rb +++ b/lib/facter/facts/solaris/os/name.rb @@ -9,7 +9,15 @@ class Name def call_the_resolver value = Facter::Resolvers::Uname.resolve(:kernelname) - fact_value = value == 'SunOS' ? 'Solaris' : value + version = Facter::Resolvers::Uname.resolve(:kernelversion) + fact_value = case value + when 'SunOS' + 'Solaris' + when /^omnios-/ + 'OmniOS' + else + value + end [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] end diff --git a/lib/facter/resolvers/solaris/os_release.rb b/lib/facter/resolvers/solaris/os_release.rb index 109f493392..7dc90e6fad 100644 --- a/lib/facter/resolvers/solaris/os_release.rb +++ b/lib/facter/resolvers/solaris/os_release.rb @@ -7,7 +7,8 @@ class OsRelease < BaseResolver init_resolver OS_VERSION_REGEX_PATTERNS = ['Solaris \d+ \d+/\d+ s(\d+)[sx]?_u(\d+)wos_', - 'Solaris (\d+)[.](\d+)', 'Solaris (\d+)'].freeze + 'Solaris (\d+)[.](\d+)', 'Solaris (\d+)', + 'OmniOS v(\d+) (r\d+)'].freeze class << self private