Skip to content

Commit 14f8c9d

Browse files
committed
Fixes #39281 - puppet_conf.erb permit setting ca_port
Signed-off-by: Pat Riehecky <riehecky@fnal.gov>
1 parent 56d1031 commit 14f8c9d

4 files changed

Lines changed: 27 additions & 0 deletions

File tree

app/services/foreman/renderer/configuration.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ class Configuration
7878
:host_param, :host_param!,
7979
:host_puppet_server,
8080
:host_puppet_ca_server,
81+
:host_puppet_ca_server_port,
8182
:host_puppet_environment,
8283
:host_enc,
8384
:install_packages,

app/services/foreman/renderer/scope/macros/host_template.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ def host_puppet_ca_server
6868
host.try(:puppet_ca_server).presence || host_param('puppet_ca_server')
6969
end
7070

71+
apipie :method, 'Returns Puppet CA server\'s port configured through the ENC or the puppet_ca_server_port host parameter' do
72+
returns String, desc: 'Returns the configured Puppet CA server\'s port, or nil if not configured'
73+
end
74+
def host_puppet_ca_server_port
75+
check_host
76+
host.try(:puppet_ca_server_port).presence || host_param('puppet_ca_server_port')
77+
end
78+
7179
apipie :method, 'Returns the Puppet environment configured configured through the ENC or the puppet_environment host parameter' do
7280
returns String, desc: 'Returns the configured Puppet environment name, or nil if not configured'
7381
end

app/views/unattended/provisioning_templates/snippet/puppet.conf.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ report = true
4848
<%- if host_puppet_ca_server.present? -%>
4949
ca_server = <%= host_puppet_ca_server %>
5050
<%- end -%>
51+
<%- if host_puppet_ca_server_port.present? -%>
52+
ca_port = <%= host_puppet_ca_server_port %>
53+
<%- end -%>
5154
certname = <%= @host.certname %>
5255
<%- if host_puppet_server.present? -%>
5356
server = <%= host_puppet_server %>

test/unit/foreman/renderer/scope/macros/host_template_test.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,21 @@ def host_info
122122
end
123123
end
124124

125+
describe '#host_puppet_ca_server_port' do
126+
test 'should render puppet_ca_server_port' do
127+
host = stub(puppet_ca_server_port: '443')
128+
@scope.instance_variable_set('@host', host)
129+
assert_equal @scope.host_puppet_ca_server_port, '443'
130+
end
131+
132+
test 'should render puppet_ca_server_port parameter when puppet_ca_server_port not defined' do
133+
host = stub(puppet_ca_server_port: '')
134+
@scope.instance_variable_set('@host', host)
135+
@scope.expects(:host_param).with('puppet_ca_server_port').returns('8080')
136+
assert_equal @scope.host_puppet_ca_server_port, '8080'
137+
end
138+
end
139+
125140
describe '#host_puppet_environment' do
126141
test 'should render environment' do
127142
host = stub(environment: 'production')

0 commit comments

Comments
 (0)