Revision ac99a245
Added by Dominic Cleal over 7 years ago
app/services/puppet_fact_parser.rb | ||
---|---|---|
orel = majorjunos + "." + minorjunos
|
||
elsif os_name[/FreeBSD/i]
|
||
orel.gsub!(/\-RELEASE\-p[0-9]+/, '')
|
||
elsif os_name[/Solaris/i]
|
||
orel.gsub!(/_u/, '.')
|
||
end
|
||
major, minor = orel.split('.', 2)
|
||
major.to_s.gsub!(/\D/, '')
|
||
minor.to_s.gsub!(/[^\d\.]/, '')
|
||
major = major.to_s.gsub(/\D/, '')
|
||
minor = minor.to_s.gsub(/[^\d\.]/, '')
|
||
args = {:name => os_name, :major => major, :minor => minor}
|
||
os = Operatingsystem.find_or_initialize_by(args)
|
||
os.release_name = facts[:lsbdistcodename] if facts[:lsbdistcodename] && (os_name[/debian|ubuntu/i] || os.family == 'Debian')
|
Also available in: Unified diff
fixes #17335 - parse Solaris update as minor version
Also fixes idempotency of OSes with only a major version (as Solaris
was prior to this change), where `minor` was nil instead of "", causing
the OS to be recreated with a validation error.
(cherry picked from commit 13875289357605c80b8073c2befcf84303e3695d)