Skip to content

Commit 91382fb

Browse files
committed
update supported OSes in params.pp
1 parent 9f3abf6 commit 91382fb

11 files changed

+112
-199
lines changed

manifests/params.pp

Lines changed: 49 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -16,98 +16,71 @@
1616
#
1717
class openvpn::params {
1818

19-
case $::osfamily {
20-
'RedHat': {
19+
case $facts['os']['family'] {
20+
'RedHat': { # RedHat/CentOS
2121
$etc_directory = '/etc'
2222
$root_group = 'root'
2323
$group = 'nobody'
2424
$link_openssl_cnf = true
2525
$pam_module_path = '/usr/lib64/openvpn/plugin/lib/openvpn-auth-pam.so'
2626
$namespecific_rclink = false
27+
$default_easyrsa_ver = '3.0'
28+
$easyrsa_source = '/usr/share/easy-rsa/3'
2729

28-
# Redhat/Centos >= 7.0
29-
if(versioncmp($::operatingsystemrelease, '7.0') >= 0) and $::operatingsystem != 'Amazon' {
30-
$additional_packages = ['easy-rsa']
31-
$ldap_auth_plugin_location = undef
32-
$systemd = true
33-
$easyrsa_source = '/usr/share/easy-rsa/3'
34-
$default_easyrsa_ver = '3.0'
35-
# Redhat/Centos == 6.0
36-
} elsif(versioncmp($::operatingsystemrelease, '6.0') >= 0) and $::operatingsystem != 'Amazon' {
37-
$additional_packages = ['easy-rsa','openvpn-auth-ldap']
38-
$ldap_auth_plugin_location = '/usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so'
39-
$systemd = false
40-
$easyrsa_source = '/usr/share/easy-rsa/3'
41-
$default_easyrsa_ver = '3.0'
42-
# Redhat/Centos < 6.0
43-
} else {
44-
$additional_packages = ['easy-rsa']
45-
$ldap_auth_plugin_location = undef
46-
$systemd = false
47-
$easyrsa_source = '/usr/share/easy-rsa/2.0'
48-
$default_easyrsa_ver = '2.0'
30+
case $facts['os']['release']['major'] {
31+
'7': {
32+
$additional_packages = ['easy-rsa']
33+
$ldap_auth_plugin_location = undef
34+
$systemd = true
35+
}
36+
'6': {
37+
$additional_packages = ['easy-rsa','openvpn-auth-ldap']
38+
$ldap_auth_plugin_location = '/usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so'
39+
$systemd = false
40+
}
41+
default: {
42+
fail("unsupported OS ${facts['os']['name']} ${facts['os']['release']['major']}")
43+
}
4944
}
5045
}
5146
'Debian': { # Debian/Ubuntu
52-
$etc_directory = '/etc'
53-
$root_group = 'root'
54-
$group = 'nogroup'
55-
$link_openssl_cnf = true
56-
$namespecific_rclink = false
47+
$etc_directory = '/etc'
48+
$root_group = 'root'
49+
$group = 'nogroup'
50+
$link_openssl_cnf = true
51+
$namespecific_rclink = false
52+
$default_easyrsa_ver = '2.0'
53+
$additional_packages = ['easy-rsa','openvpn-auth-ldap']
54+
$easyrsa_source = '/usr/share/easy-rsa/'
55+
$ldap_auth_plugin_location = '/usr/lib/openvpn/openvpn-auth-ldap.so'
56+
$pam_module_path = '/usr/lib/openvpn/openvpn-plugin-auth-pam.so'
5757

58-
case $::operatingsystem {
58+
case $facts['os']['name'] {
5959
'Debian': {
60-
# Version > 8.0, jessie, stretch
61-
$default_easyrsa_ver = '2.0'
62-
if(versioncmp($::operatingsystemrelease, '8.0') >= 0) {
63-
$additional_packages = ['easy-rsa','openvpn-auth-ldap']
64-
$easyrsa_source = '/usr/share/easy-rsa/'
65-
$ldap_auth_plugin_location = '/usr/lib/openvpn/openvpn-auth-ldap.so'
66-
$pam_module_path = '/usr/lib/openvpn/openvpn-plugin-auth-pam.so'
67-
$systemd = true
68-
69-
# Version > 7.0, wheezy
70-
} elsif(versioncmp($::operatingsystemrelease, '7.0') >= 0) {
71-
$additional_packages = ['openvpn-auth-ldap']
72-
$easyrsa_source = '/usr/share/doc/openvpn/examples/easy-rsa/2.0'
73-
$ldap_auth_plugin_location = '/usr/lib/openvpn/openvpn-auth-ldap.so'
74-
$pam_module_path = '/usr/lib/openvpn/openvpn-auth-pam.so'
75-
$systemd = false
76-
} else {
77-
$additional_packages = undef
78-
$easyrsa_source = '/usr/share/doc/openvpn/examples/easy-rsa/2.0'
79-
$ldap_auth_plugin_location = undef
80-
$pam_module_path = '/usr/lib/openvpn/openvpn-auth-pam.so'
81-
$systemd = false
60+
case $facts['os']['release']['major'] {
61+
'8','9': {
62+
$systemd = true
63+
}
64+
default: {
65+
fail("unsupported OS ${facts['os']['name']} ${facts['os']['release']['major']}")
66+
}
8267
}
8368
}
8469
'Ubuntu': {
85-
$default_easyrsa_ver = '2.0'
86-
# Version > 15.04, vivid
87-
if(versioncmp($::operatingsystemrelease, '15.04') >= 0){
88-
$additional_packages = ['easy-rsa','openvpn-auth-ldap']
89-
$easyrsa_source = '/usr/share/easy-rsa/'
90-
$ldap_auth_plugin_location = '/usr/lib/openvpn/openvpn-auth-ldap.so'
91-
$pam_module_path = '/usr/lib/openvpn/openvpn-plugin-auth-pam.so'
92-
$systemd = true
93-
94-
# Version > 13.10, saucy
95-
} elsif(versioncmp($::operatingsystemrelease, '13.10') >= 0) {
96-
$additional_packages = ['easy-rsa','openvpn-auth-ldap']
97-
$easyrsa_source = '/usr/share/easy-rsa/'
98-
$ldap_auth_plugin_location = '/usr/lib/openvpn/openvpn-auth-ldap.so'
99-
$pam_module_path = '/usr/lib/openvpn/openvpn-plugin-auth-pam.so'
100-
$systemd = false
101-
} else {
102-
$additional_packages = undef
103-
$easyrsa_source = '/usr/share/doc/openvpn/examples/easy-rsa/2.0'
104-
$ldap_auth_plugin_location = undef
105-
$pam_module_path = '/usr/lib/openvpn/openvpn-auth-pam.so'
106-
$systemd = false
70+
case $facts['os']['release']['major'] {
71+
'16.04': {
72+
$systemd = true
73+
}
74+
'14.04': {
75+
$systemd = false
76+
}
77+
default: {
78+
fail("unsupported OS ${facts['os']['name']} ${facts['os']['release']['major']}")
79+
}
10780
}
10881
}
10982
default: {
110-
fail("Unsupported OS/Distribution ${::osfamily}/${::operatingsystem}")
83+
fail("unsupported OS ${facts['os']['name']} ${facts['os']['release']['major']}")
11184
}
11285
}
11386
}
@@ -123,26 +96,6 @@
12396
$systemd = true
12497
$namespecific_rclink = false
12598
}
126-
'Linux': {
127-
$default_easyrsa_ver = '2.0'
128-
case $::operatingsystem {
129-
'Amazon': {
130-
$etc_directory = '/etc'
131-
$root_group = 'root'
132-
$group = 'nobody'
133-
$additional_packages = ['easy-rsa']
134-
$easyrsa_source = '/usr/share/easy-rsa/2.0'
135-
$ldap_auth_plugin_location = undef
136-
$systemd = false
137-
$link_openssl_cnf = true
138-
$pam_module_path = '/usr/lib/openvpn/openvpn-auth-pam.so'
139-
$namespecific_rclink = false
140-
}
141-
default: {
142-
fail("Unsupported OS/Distribution ${::osfamily}/${::operatingsystem}")
143-
}
144-
}
145-
}
14699
'FreeBSD': {
147100
$etc_directory = '/usr/local/etc'
148101
$root_group = 'wheel'
@@ -156,9 +109,10 @@
156109
$systemd = false
157110
}
158111
default: {
159-
fail("Not supported OS family ${::osfamily}")
112+
fail("unsupported OS ${facts['os']['name']} ${facts['os']['release']['major']}")
160113
}
161114
}
115+
162116
$easyrsa_version = $facts['easyrsa'] ? {
163117
undef => $default_easyrsa_ver,
164118
default => $facts['easyrsa'],

spec/classes/openvpn_config_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
context 'on Debian based machines' do
55
let(:facts) do
66
{
7-
osfamily: 'Debian',
8-
operatingsystem: 'Debian',
9-
operatingsystemrelease: '7',
7+
os: { 'family' => 'Debian' },
8+
os: { 'name' => 'Ubuntu' },
9+
os: { 'release' => {'major' => '16.04' } },
1010
concat_basedir: '/var/lib/puppet/concat'
1111
}
1212
end

spec/classes/openvpn_init_spec.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
let(:facts) do
66
{
77
concat_basedir: '/var/lib/puppet/concat',
8-
osfamily: 'Debian',
9-
operatingsystem: 'Ubuntu',
10-
operatingsystemrelease: '12.04'
8+
os: { 'family' => 'Debian' },
9+
os: { 'name' => 'Ubuntu' },
10+
os: { 'release' => {'major' => '16.04' } },
1111
}
1212
end
1313

@@ -19,9 +19,9 @@
1919
let(:facts) do
2020
{
2121
concat_basedir: '/var/lib/puppet/concat',
22-
osfamily: 'RedHat',
23-
operatingsystem: 'CentOS',
24-
operatingsystemrelease: '7.0'
22+
os: { 'family' => 'RedHat' },
23+
os: { 'name' => 'CentOS' },
24+
os: { 'release' => {'major' => '7' } },
2525
}
2626
end
2727

spec/classes/openvpn_install_spec.rb

Lines changed: 22 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
require 'spec_helper'
22

33
describe 'openvpn::install', type: :class do
4-
let(:osfamily) { 'Debian' }
5-
let(:operatingsystemmajrelease) { nil }
6-
let(:operatingsystem) { 'Ubuntu' }
7-
let(:operatingsystemrelease) { '13.10' }
8-
let(:facts) do
4+
let :default_facts do
95
{
10-
osfamily: osfamily,
11-
operatingsystemmajrelease: operatingsystemmajrelease,
12-
operatingsystemrelease: operatingsystemrelease,
13-
operatingsystem: operatingsystem
6+
os: { 'family' => 'Debian' },
7+
os: { 'name' => 'Ubuntu' },
148
}
159
end
1610

11+
1712
it { is_expected.to create_class('openvpn::install') }
1813
it { is_expected.to contain_package('openvpn') }
1914

@@ -23,56 +18,45 @@
2318

2419
describe 'installed packages' do
2520
context 'debian' do
26-
let(:osfamily) { 'Debian' }
27-
let(:operatingsystem) { 'Debian' }
28-
29-
context 'squeeze' do
30-
let(:operatingsystemrelease) { '6.5' }
31-
32-
it { is_expected.not_to contain_package('openvpn-auth-ldap') }
33-
it { is_expected.not_to contain_package('easy-rsa') }
34-
end
35-
36-
context 'wheezy' do
37-
let(:operatingsystemrelease) { '7.4' }
38-
39-
it { is_expected.to contain_package('openvpn-auth-ldap') }
40-
it { is_expected.not_to contain_package('easy-rsa') }
41-
end
4221

4322
context 'jessie' do
44-
let(:operatingsystemrelease) { '8.0' }
23+
let(:facts) do
24+
default_facts.merge(
25+
os: { 'release' => {'major' => '8' } },
26+
)
27+
end
4528

4629
it { is_expected.to contain_package('openvpn-auth-ldap') }
4730
it { is_expected.to contain_package('easy-rsa') }
4831
end
4932

5033
context 'stretch' do
51-
let(:operatingsystemrelease) { '9.0' }
34+
let(:facts) do
35+
default_facts.merge(
36+
os: { 'release' => {'major' => '9' } },
37+
)
38+
end
5239

5340
it { is_expected.to contain_package('openvpn-auth-ldap') }
5441
it { is_expected.to contain_package('easy-rsa') }
5542
end
5643
end
5744

5845
context 'redhat/centos' do
59-
let(:osfamily) { 'RedHat' }
60-
61-
it { is_expected.not_to contain_package('openvpn-auth-ldap') }
62-
it { is_expected.to contain_package('easy-rsa') }
63-
end
64-
65-
context 'Amazon' do
66-
let(:osfamily) { 'Linux' }
67-
let(:operatingsystem) { 'Amazon' }
68-
let(:operatingsystemrelease) { nil }
46+
let(:facts) do
47+
os: { 'family' => 'RedHat' },
48+
os: { 'name' => 'CentOS' },
49+
os: { 'release' => {'major' => '7' } },
50+
end
6951

7052
it { is_expected.not_to contain_package('openvpn-auth-ldap') }
7153
it { is_expected.to contain_package('easy-rsa') }
7254
end
7355

7456
context 'Archlinux' do
75-
let(:osfamily) { 'Archlinux' }
57+
let(:facts) do
58+
os: { 'family' => 'Archlinux' },
59+
end
7660

7761
it { is_expected.not_to contain_package('openvpn-auth-ldap') }
7862
it { is_expected.to contain_package('easy-rsa') }

spec/classes/openvpn_service_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
let(:pre_condition) { 'class { "openvpn": manage_service => true }' }
55
let(:facts) do
66
{
7-
osfamily: 'Debian',
8-
operatingsystem: 'Debian',
7+
os: { 'family' => 'Debian' },
8+
os: { 'name' => 'Ubuntu' },
9+
os: { 'release' => {'major' => '8' } },
910
concat_basedir: '/var/lib/puppet/concat',
10-
operatingsystemrelease: '7.0'
1111
}
1212
end
1313

0 commit comments

Comments
 (0)