pxe: Allow disabling http server
This change introduces a new option to disable resources to set up http server for ipxe boot. This is useful, when ipxe boot interface is not used or users have their own external tooling to maintain the http server. Change-Id: Ic767795442ee68ce8dda6bc8b53493ac17f6f40c
This commit is contained in:
parent
a1dc86bd3e
commit
084c0e54a3
@ -79,6 +79,10 @@
|
||||
# (optional) Log facility of the dnsmasq process to server tftp server.
|
||||
# Defaults to undef
|
||||
#
|
||||
# [*manage_http_server*]
|
||||
# (optional) Set up Apache HTTP Server.
|
||||
# Defaults to true
|
||||
#
|
||||
class ironic::pxe (
|
||||
$package_ensure = 'present',
|
||||
$tftp_root = '/tftpboot',
|
||||
@ -93,6 +97,7 @@ class ironic::pxe (
|
||||
$uefi_pxe_bootfile_name = 'bootx64.efi',
|
||||
$tftp_use_xinetd = $::ironic::params::xinetd_available,
|
||||
$dnsmasq_log_facility = undef,
|
||||
$manage_http_server = true,
|
||||
) inherits ironic::params {
|
||||
|
||||
include ironic::deps
|
||||
@ -136,15 +141,6 @@ class ironic::pxe (
|
||||
tag => 'ironic-tftp-file',
|
||||
}
|
||||
|
||||
file { $http_root_real:
|
||||
ensure => 'directory',
|
||||
seltype => 'httpd_sys_content_t',
|
||||
owner => $::ironic::params::user,
|
||||
group => $::ironic::params::group,
|
||||
require => Anchor['ironic::config::begin'],
|
||||
before => Anchor['ironic::config::end'],
|
||||
}
|
||||
|
||||
if $tftp_use_xinetd {
|
||||
if ! $::ironic::params::xinetd_available {
|
||||
fail('xinetd is not available in this distro. Please use tftp_use_xinetd=false')
|
||||
@ -320,12 +316,24 @@ class ironic::pxe (
|
||||
|
||||
File["${tftp_root_real}"] -> File<| tag == 'ironic-tftp-file' |>
|
||||
|
||||
include apache
|
||||
# HTTP server
|
||||
if $manage_http_server {
|
||||
file { $http_root_real:
|
||||
ensure => 'directory',
|
||||
seltype => 'httpd_sys_content_t',
|
||||
owner => $::ironic::params::user,
|
||||
group => $::ironic::params::group,
|
||||
require => Anchor['ironic::config::begin'],
|
||||
before => Anchor['ironic::config::end'],
|
||||
}
|
||||
|
||||
apache::vhost { 'ipxe_vhost':
|
||||
priority => 10,
|
||||
options => ['Indexes','FollowSymLinks'],
|
||||
docroot => $http_root_real,
|
||||
port => $http_port_real,
|
||||
include apache
|
||||
|
||||
apache::vhost { 'ipxe_vhost':
|
||||
priority => 10,
|
||||
options => ['Indexes','FollowSymLinks'],
|
||||
docroot => $http_root_real,
|
||||
port => $http_port_real,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The ``ironic::pxe::manage_http_server`` parameter has been added. When
|
||||
this parameter is set to ``false``, the ``ironic::pxe`` class does not
|
||||
manage the Apache HTTP Server.
|
@ -223,6 +223,18 @@ describe 'ironic::pxe' do
|
||||
is_expected.not_to contain_file('/var/lib/ironic/tftpboot/chain.c32')
|
||||
end
|
||||
end
|
||||
|
||||
context 'when http server disabled' do
|
||||
before :each do
|
||||
params.merge!(
|
||||
:manage_http_server => false,
|
||||
)
|
||||
end
|
||||
it 'should not configure http server' do
|
||||
is_expected.not_to contain_class('apache')
|
||||
is_expected.not_to contain_apache__vhost('ipxe_vhost')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
shared_examples_for 'ironic pxe with xinetd' do
|
||||
|
Loading…
Reference in New Issue
Block a user