Skip to content
Snippets Groups Projects
Commit 5bc6026d authored by Jonathan's avatar Jonathan
Browse files

Merge pull request #21 from djjudas21/fact_fix

Make an educated guess about the version of FR
parents f21414d5 e1024812
No related branches found
No related tags found
No related merge requests found
...@@ -11,9 +11,10 @@ define freeradius::attr ( ...@@ -11,9 +11,10 @@ define freeradius::attr (
$fr_group = $::freeradius::params::fr_group $fr_group = $::freeradius::params::fr_group
$fr_moduleconfigpath = $::freeradius::params::fr_moduleconfigpath $fr_moduleconfigpath = $::freeradius::params::fr_moduleconfigpath
$fr_modulepath = $::freeradius::params::fr_modulepath $fr_modulepath = $::freeradius::params::fr_modulepath
$fr_version = $::freeradius::params::fr_version
# Decide on location for attribute filters # Decide on location for attribute filters
$location = $::freeradius_maj_version ? { $location = $fr_version ? {
2 => $fr_basepath, 2 => $fr_basepath,
3 => "${fr_moduleconfigpath}/attr_filter", 3 => "${fr_moduleconfigpath}/attr_filter",
default => $fr_moduleconfigpath, default => $fr_moduleconfigpath,
...@@ -33,7 +34,7 @@ define freeradius::attr ( ...@@ -33,7 +34,7 @@ define freeradius::attr (
# Reference all attribute snippets in one file # Reference all attribute snippets in one file
concat::fragment { "attr-${name}": concat::fragment { "attr-${name}":
target => "${fr_modulepath}/attr_filter", target => "${fr_modulepath}/attr_filter",
content => template("freeradius/attr.fr${::freeradius_maj_version}.erb"), content => template("freeradius/attr.fr${fr_version}.erb"),
order => 20, order => 20,
} }
} }
...@@ -17,13 +17,14 @@ define freeradius::client ( ...@@ -17,13 +17,14 @@ define freeradius::client (
$fr_service = $::freeradius::params::fr_service $fr_service = $::freeradius::params::fr_service
$fr_basepath = $::freeradius::params::fr_basepath $fr_basepath = $::freeradius::params::fr_basepath
$fr_group = $::freeradius::params::fr_group $fr_group = $::freeradius::params::fr_group
$fr_version = $::freeradius::params::fr_version
file { "${fr_basepath}/clients.d/${shortname}.conf": file { "${fr_basepath}/clients.d/${shortname}.conf":
ensure => $ensure, ensure => $ensure,
mode => '0640', mode => '0640',
owner => 'root', owner => 'root',
group => $fr_group, group => $fr_group,
content => template("freeradius/client.conf.fr${::freeradius_maj_version}.erb"), content => template("freeradius/client.conf.fr${fr_version}.erb"),
require => [File["${fr_basepath}/clients.d"], Group[$fr_group]], require => [File["${fr_basepath}/clients.d"], Group[$fr_group]],
notify => Service[$fr_service], notify => Service[$fr_service],
} }
......
...@@ -21,7 +21,7 @@ class freeradius ( ...@@ -21,7 +21,7 @@ class freeradius (
mode => '0640', mode => '0640',
owner => 'root', owner => 'root',
group => $freeradius::fr_group, group => $freeradius::fr_group,
content => template("freeradius/radiusd.conf.fr${::freeradius_maj_version}.erb"), content => template("freeradius/radiusd.conf.fr${freeradius::fr_version}.erb"),
require => [Package[$freeradius::fr_package], Group[$freeradius::fr_group]], require => [Package[$freeradius::fr_package], Group[$freeradius::fr_group]],
notify => Service[$freeradius::fr_service], notify => Service[$freeradius::fr_service],
} }
...@@ -115,8 +115,8 @@ class freeradius ( ...@@ -115,8 +115,8 @@ class freeradius (
# Install default attribute filters # Install default attribute filters
concat::fragment { "attr-default": concat::fragment { "attr-default":
target => "${fr_modulepath}/attr_filter", target => "${freeradius::fr_modulepath}/attr_filter",
content => template("freeradius/attr_default.fr${::freeradius_maj_version}.erb"), content => template("freeradius/attr_default.fr${freeradius::fr_version}.erb"),
order => 10, order => 10,
} }
......
...@@ -25,6 +25,7 @@ define freeradius::ldap ( ...@@ -25,6 +25,7 @@ define freeradius::ldap (
$fr_service = $::freeradius::params::fr_service $fr_service = $::freeradius::params::fr_service
$fr_modulepath = $::freeradius::params::fr_modulepath $fr_modulepath = $::freeradius::params::fr_modulepath
$fr_group = $::freeradius::params::fr_group $fr_group = $::freeradius::params::fr_group
$fr_version = $::freeradius::params::fr_version
# Validate our inputs # Validate our inputs
# Hostnames # Hostnames
...@@ -68,7 +69,7 @@ define freeradius::ldap ( ...@@ -68,7 +69,7 @@ define freeradius::ldap (
mode => '0640', mode => '0640',
owner => 'root', owner => 'root',
group => $fr_group, group => $fr_group,
content => template("freeradius/ldap.fr${::freeradius_maj_version}.erb"), content => template("freeradius/ldap.fr${fr_version}.erb"),
require => [Package[$fr_package], Group[$fr_group]], require => [Package[$fr_package], Group[$fr_group]],
notify => Service[$fr_service], notify => Service[$fr_service],
} }
......
# Default parameters for freeradius # Default parameters for freeradius
class freeradius::params { class freeradius::params {
# Make an educated guess which version of FR we are running, based on the OS
case $::operatingsystem {
/RedHat|CentOS/: {
$fr_guessversion = $::operatingsystemmajrelease ? {
5 => 2,
6 => 2,
7 => 3,
default => 3,
}
}
'Debian': {
$fr_guessversion = $::operatingsystemmajrelease ? {
6 => 2,
7 => 2,
8 => 2,
default => 2,
}
}
'Fedora': {
$fr_guessversion = $::operatingsystemmajrelease ? {
21 => 3,
22 => 3,
23 => 3,
default => 3,
}
}
'Ubuntu': {
$fr_guessversion = $::operatingsystemmajrelease ? {
'14.04' => 2,
'14.10' => 2,
'15.04' => 2,
'15.10' => 2,
default => 2,
}
}
}
# Use the FR version fact if defined, otherwise use our best estimate from above
if $::freeradius_maj_version {
$fr_version = $::freeradius_maj_version
} else {
$fr_version = $fr_guessversion
}
# Name of FreeRADIUS package # Name of FreeRADIUS package
$fr_package = $::osfamily ? { $fr_package = $::osfamily ? {
'RedHat' => 'freeradius', 'RedHat' => 'freeradius',
...@@ -37,9 +81,9 @@ class freeradius::params { ...@@ -37,9 +81,9 @@ class freeradius::params {
} }
# Default module dir # Default module dir
$fr_moduledir = $::freeradius_version ? { $fr_moduledir = $fr_version ? {
/^2\./ => 'modules', '2' => 'modules',
/^3\./ => 'mods-enabled', '3' => 'mods-enabled',
default => 'modules', default => 'modules',
} }
...@@ -47,9 +91,9 @@ class freeradius::params { ...@@ -47,9 +91,9 @@ class freeradius::params {
$fr_modulepath = "${fr_basepath}/${fr_moduledir}" $fr_modulepath = "${fr_basepath}/${fr_moduledir}"
# Default module config dir # Default module config dir
$fr_modconfigdir = $::freeradius_version ? { $fr_modconfigdir = $fr_version ? {
/^2\./ => 'conf.d', '2' => 'conf.d',
/^3\./ => 'mods-config', '3' => 'mods-config',
default => 'conf.d', default => 'conf.d',
} }
......
...@@ -35,6 +35,7 @@ define freeradius::sql ( ...@@ -35,6 +35,7 @@ define freeradius::sql (
$fr_group = $::freeradius::params::fr_group $fr_group = $::freeradius::params::fr_group
$fr_logpath = $::freeradius::params::fr_logpath $fr_logpath = $::freeradius::params::fr_logpath
$fr_moduleconfigpath = $::freeradius::params::fr_moduleconfigpath $fr_moduleconfigpath = $::freeradius::params::fr_moduleconfigpath
$fr_version = $::freeradius::params::fr_version
# Validate our inputs # Validate our inputs
# Validate multiple choice options # Validate multiple choice options
...@@ -79,9 +80,9 @@ define freeradius::sql ( ...@@ -79,9 +80,9 @@ define freeradius::sql (
} }
# Determine default location of query file # Determine default location of query file
$queryfile = $::freeradius_version ? { $queryfile = $fr_version ? {
/^2\./ => "${fr_basepath}/sql/${database}/dialup.conf", '2' => "${fr_basepath}/sql/${database}/dialup.conf",
/^3\./ => "${fr_basepath}/sql/queries.conf", '3' => "${fr_basepath}/sql/queries.conf",
default => "${fr_basepath}/sql/queries.conf", default => "${fr_basepath}/sql/queries.conf",
} }
...@@ -100,7 +101,7 @@ define freeradius::sql ( ...@@ -100,7 +101,7 @@ define freeradius::sql (
mode => '0640', mode => '0640',
owner => 'root', owner => 'root',
group => $fr_group, group => $fr_group,
content => template("freeradius/sql.conf.fr${::freeradius_maj_version}.erb"), content => template("freeradius/sql.conf.fr${fr_version}.erb"),
require => [Package[$fr_package], Group[$fr_group]], require => [Package[$fr_package], Group[$fr_group]],
notify => Service[$fr_service], notify => Service[$fr_service],
} }
......
...@@ -12,13 +12,14 @@ define freeradius::statusclient ( ...@@ -12,13 +12,14 @@ define freeradius::statusclient (
$fr_service = $::freeradius::params::fr_service $fr_service = $::freeradius::params::fr_service
$fr_basepath = $::freeradius::params::fr_basepath $fr_basepath = $::freeradius::params::fr_basepath
$fr_group = $::freeradius::params::fr_group $fr_group = $::freeradius::params::fr_group
$fr_version = $::freeradius::params::fr_version
file { "${fr_basepath}/statusclients.d/${name}.conf": file { "${fr_basepath}/statusclients.d/${name}.conf":
ensure => $ensure, ensure => $ensure,
mode => '0640', mode => '0640',
owner => 'root', owner => 'root',
group => $fr_group, group => $fr_group,
content => template("freeradius/client.conf.fr${::freeradius_maj_version}.erb"), content => template("freeradius/client.conf.fr${fr_version}.erb"),
require => [File["${fr_basepath}/clients.d"], Package[$fr_package], Group[$fr_group]], require => [File["${fr_basepath}/clients.d"], Package[$fr_package], Group[$fr_group]],
notify => Service[$fr_service], notify => Service[$fr_service],
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment