voxpupuli / facterdb

A Database of OS facts provided by Facter

Home Page:http://voxpupuli.org/facterdb/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wrong facts for Windows 2016(?)

mandos opened this issue · comments

Looks like major release for Windows 2016 is same as Windows 10, it leads to two results when should be only one.

Checked for version:
facterdb: 0.3.12
ruby: 2.2.5p319

require 'facterdb'

search = {
  "facterversion" => "/^3.3\./",
  "os.architecture" => 'x64',
  "os.release.major" => '10.0.14393',
  "os.name" => 'windows'
}

puts(search)
FacterDB.get_facts(search).each do |facts|
  puts(facts[:os])
end

search = {
  "facterversion" => "/^2.5\./",
  "architecture" => 'x64',
  "operatingsystem" => 'windows',
  "operatingsystemmajrelease" => '10'
  }

puts(search)
FacterDB.get_facts(search).each do |facts|
  puts(facts[:os])
end

---------------------------------------------

{"facterversion"=>"/^3.3./", "os.architecture"=>"x64", "os.release.major"=>"10.0.14393", "os.name"=>"windows"}        
{"architecture"=>"x64", "family"=>"windows", "hardware"=>"x86_64", "name"=>"windows", "release"=>{"full"=>"10.0.14393", "major"=>"10.0.14393"}, "windows"=>{"system32"=>"C:\\Windows\\system32"}}
{"architecture"=>"x64", "family"=>"windows", "hardware"=>"x86_64", "name"=>"windows", "release"=>{"full"=>"10.0.14393", "major"=>"10.0.14393"}, "windows"=>{"system32"=>"C:\\Windows\\system32"}}

{"facterversion"=>"/^2.5./", "architecture"=>"x64", "operatingsystem"=>"windows", "operatingsystemmajrelease"=>"10"}  
{"name"=>"windows", "family"=>"windows", "release"=>{"major"=>"10", "minor"=>"0", "full"=>"10.0.14393"}}              
{"name"=>"windows", "family"=>"windows", "release"=>{"major"=>"10", "full"=>"10"}}

This isn't a problem in FacterDB, but a limitation of Facter <= 2.5.0

Correct. If you're purely looking at kernel versions the Client and Server versions match up
https://en.wikipedia.org/wiki/Comparison_of_Microsoft_Windows_versions#Windows_NT

E.g. Windows 8.1 == Server 2012R2.

@rodjek Thanks for clarification.