40 lines
1.4 KiB
Ruby
40 lines
1.4 KiB
Ruby
#
|
|
# We need this to be able to make decision of what style of package we are
|
|
# working with: Debian style package (for example, it uses a nova-consoleproxy
|
|
# package and not nova-novncproxy, or it has a openstack-dashboard-apache,
|
|
# etc.), or just the Ubuntu style package.
|
|
#
|
|
# This is needed, because in some cases, we are using the Debian style packages
|
|
# but running under Ubuntu. For example, that's the case when running with MOS
|
|
# over Ubuntu. For this case, a manual override is provided, in the form of a
|
|
# /etc/facter/facts.d/os_package_type.txt containing:
|
|
# os_package_type=debian
|
|
#
|
|
# In all other cases, we can consider that we're using vanilia (ie: unmodified)
|
|
# distribution packages, and we can set $::os_package_type depending on the
|
|
# value of $::os['name']
|
|
#
|
|
# Having the below snipets helps simplifying checks within individual project
|
|
# manifests, so that we can just reuse $::os_package_type directly without
|
|
# having to also check if it contains a value, then check for the content of
|
|
# $::os['family'] (ie: what's below factors the check once and for all).
|
|
Facter.add('os_package_type') do
|
|
setcode do
|
|
os = Facter.value(:os)
|
|
case os['family']
|
|
when 'Debian'
|
|
if os['name'] == 'Debian' then
|
|
'debian'
|
|
else
|
|
'ubuntu'
|
|
end
|
|
when 'RedHat'
|
|
'rpm'
|
|
when 'Solaris'
|
|
'solaris'
|
|
else
|
|
'unknown'
|
|
end
|
|
end
|
|
end
|