Merge "Ensure dhcp hostsdir exists"

This commit is contained in:
Zuul
2024-05-07 19:39:37 +00:00
committed by Gerrit Code Review
2 changed files with 92 additions and 60 deletions

View File

@@ -333,7 +333,7 @@ class ironic::inspector (
Array[Hash] $dnsmasq_ip_subnets = [],
$dnsmasq_local_ip = '192.168.0.1',
Boolean $dnsmasq_dhcp_sequential_ip = true,
$dnsmasq_dhcp_hostsdir = undef,
Optional[Stdlib::Absolutepath] $dnsmasq_dhcp_hostsdir = undef,
$dnsmasq_log_facility = undef,
Boolean $sync_db = true,
Optional[String[1]] $ramdisk_collectors = undef,
@@ -544,6 +544,18 @@ class ironic::inspector (
include ironic::inspector::db::sync
}
if $dnsmasq_dhcp_hostsdir {
file { 'ironic-inspector-dnsmasq-dhcp-hostsdir':
ensure => directory,
path => $dnsmasq_dhcp_hostsdir,
owner => $::ironic::params::inspector_user,
group => $::ironic::params::inspector_group,
mode => '0750',
require => Anchor['ironic-inspector::config::begin'],
before => Anchor['ironic-inspector::config::end']
}
}
if $manage_service {
if $enabled {
$ensure = 'running'

View File

@@ -154,6 +154,10 @@ describe 'ironic::inspector' do
)
end
it 'should not contain dhcp hostsdir' do
is_expected.not_to contain_file('ironic-inspector-dnsmasq-dhcp-hostsdir')
end
it 'should contain file /etc/ironic-inspector/dnsmasq.conf' do
is_expected.to contain_file('/etc/ironic-inspector/dnsmasq.conf').with(
'ensure' => 'present',
@@ -196,6 +200,9 @@ describe 'ironic::inspector' do
is_expected.not_to contain_file('/etc/ironic-inspector/dnsmasq.conf').with_content(
/^log-facility=.*$/
)
is_expected.not_to contain_file('/etc/ironic-inspector/dnsmasq.conf').with_content(
/^dhcp-hostsdir=.*$/
)
end
it 'should contain file /tftpboot/pxelinux.cfg/default' do
is_expected.to contain_file('/tftpboot/pxelinux.cfg/default').with(
@@ -229,6 +236,7 @@ describe 'ironic::inspector' do
:discovery_default_driver => 'pxe_ipmitool',
:dnsmasq_ip_subnets => [{'ip_range' => '192.168.0.100,192.168.0.120'}],
:dnsmasq_dhcp_sequential_ip => false,
:dnsmasq_dhcp_hostsdir => '/etc/ironic-inspector/dhcp-hostsdir',
:dnsmasq_log_facility => '/var/log/ironic-inspector/dnsmasq.log',
:add_ports => 'all',
:always_store_ramdisk_logs => true,
@@ -293,6 +301,15 @@ describe 'ironic::inspector' do
)
end
it 'should contain dhcp hostsdir' do
is_expected.to contain_file('ironic-inspector-dnsmasq-dhcp-hostsdir').with(
:ensure => 'directory',
:path => '/etc/ironic-inspector/dhcp-hostsdir',
:owner => 'ironic-inspector',
:group => 'ironic-inspector',
)
end
it 'should contain file /etc/ironic-inspector/dnsmasq.conf' do
is_expected.to contain_file('/etc/ironic-inspector/dnsmasq.conf').with(
'ensure' => 'present',
@@ -329,6 +346,9 @@ describe 'ironic::inspector' do
is_expected.to contain_file('/etc/ironic-inspector/dnsmasq.conf').with_content(
/^dhcp-option=tag:efi6,tag:!ipxe6,option6:bootfile-url,tftp:\/\/.*\/otherpxe.efi$/
)
is_expected.to contain_file('/etc/ironic-inspector/dnsmasq.conf').with_content(
/^dhcp-hostsdir=\/etc\/ironic-inspector\/dhcp-hostsdir$/
)
end
it 'should contain file /var/www/httpboot/inspector.ipxe' do