Skip to content

Commit 4f8e899

Browse files
committed
fix(fedora): honor working directory & service name
1 parent 3276d3b commit 4f8e899

File tree

4 files changed

+30
-5
lines changed

4 files changed

+30
-5
lines changed

openvpn/config.sls

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ include:
1919
2020
{% set service_id = "openvpn_{0}_service".format(name) if map.multi_services else "openvpn_service" %}
2121
22-
{% set config_dir = config.conf_dir if config.conf_dir is defined else map.conf_dir %}
22+
{%- set config_dir = config.conf_dir if config.conf_dir is defined else map.conf_dir %}
23+
{%- if grains.os == "Fedora" %}
24+
{#- Fedora uses /etc/openvpn/{client,server} as their working directory #}
25+
{%- set config_dir = config_dir ~ '/' ~ type %}
26+
{%- endif %}
2327
2428
{% set config_file = "{0}/openvpn_{1}.conf".format(config_dir, name) if map.multi_services and grains['os_family'] == 'FreeBSD' else "{0}/{1}.{2}".format(config_dir, name, map.conf_ext) %}
2529

openvpn/service.sls

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,12 @@
1212
1313
# How to name the service (instance)?
1414
{% if salt['grains.has_value']('systemd') %}
15-
{% set service_name = map.service ~ '@' ~ name %}
15+
{%- if grains.os == "Fedora" %}
16+
{#- Fedora uses /etc/openvpn/{client,server} as their working directory #}
17+
{% set service_name = map.service ~ '-' ~ type ~ '@' ~ name %}
18+
{%- else %}
19+
{% set service_name = map.service ~ '@' ~ name %}
20+
{%- endif %}
1621
{% else %}
1722
{% set service_name = map.service ~ '_' ~ name %}
1823
{% endif %}

test/integration/default/controls/config_spec.rb

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,12 @@
55
control 'OpenVPN server configuration' do
66
title 'should match desired lines'
77

8-
describe file('/etc/openvpn/myserver1.conf') do
8+
cfgfile = case os[:name]
9+
when 'fedora' then '/etc/openvpn/server/myserver1.conf'
10+
else '/etc/openvpn/myserver1.conf'
11+
end
12+
13+
describe file(cfgfile) do
914
it { should be_file }
1015
it { should be_owned_by user }
1116
it { should be_grouped_into group }
@@ -23,7 +28,12 @@
2328
control 'OpenVPN client configuration' do
2429
title 'should match desired lines'
2530

26-
describe file('/etc/openvpn/myclient1.conf') do
31+
cfgfile = case os[:name]
32+
when 'fedora' then '/etc/openvpn/client/myclient1.conf'
33+
else '/etc/openvpn/myclient1.conf'
34+
end
35+
36+
describe file(cfgfile) do
2737
it { should be_file }
2838
it { should be_owned_by user }
2939
it { should be_grouped_into group }

test/integration/default/controls/services_spec.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,13 @@
1717
# multiple services
1818
else
1919
%w(server client).each do |role|
20-
describe service("openvpn@my#{role}1.service") do
20+
21+
prefix = case os[:name]
22+
when 'fedora' then "openvpn-#{role}"
23+
else 'openvpn'
24+
end
25+
26+
describe service("#{prefix}@my#{role}1.service") do
2127
it { should be_enabled }
2228
it { should be_running }
2329
end

0 commit comments

Comments
 (0)