diff --git a/manifests/conductor.pp b/manifests/conductor.pp index 130fef4d..725c5282 100644 --- a/manifests/conductor.pp +++ b/manifests/conductor.pp @@ -96,6 +96,16 @@ # provisioning nodes. Required for neutron network interface. # Defaults to $::os_service_default # +# [*configdrive_use_swift*] +# (optional) Whether to use Swift for storing config drives instead of +# the database. Recommended for bigger config drives. +# Defaults to $::os_service_default +# +# [*configdrive_swift_container*] +# (optinal) Swift container to use for storing config drives if +# configdrive_use_swift is true. +# Defaults to $::os_service_default +# class ironic::conductor ( $package_ensure = 'present', $enabled = true, @@ -113,6 +123,8 @@ class ironic::conductor ( $continue_if_disk_secure_erase_fails = $::os_service_default, $api_url = $::os_service_default, $provisioning_network_uuid = $::os_service_default, + $configdrive_use_swift = $::os_service_default, + $configdrive_swift_container = $::os_service_default, ) { include ::ironic::params @@ -182,6 +194,8 @@ class ironic::conductor ( 'deploy/erase_devices_priority': value => $erase_devices_priority; 'deploy/erase_devices_metadata_priority': value => $erase_devices_metadata_priority; 'deploy/continue_if_disk_secure_erase_fails': value => $continue_if_disk_secure_erase_fails; + 'conductor/configdrive_use_swift': value => $configdrive_use_swift; + 'conductor/configdrive_swift_container': value => $configdrive_swift_container; } # Install package diff --git a/releasenotes/notes/configdrive-swift-c1f2d644be91916d.yaml b/releasenotes/notes/configdrive-swift-c1f2d644be91916d.yaml new file mode 100644 index 00000000..7614c42f --- /dev/null +++ b/releasenotes/notes/configdrive-swift-c1f2d644be91916d.yaml @@ -0,0 +1,5 @@ +--- +features: + - Add new options "configdrive_use_swift" and "configdrive_swift_container" + in the "ironic::conductor" manifest to configure storing config drives + in Swift instead of the database. diff --git a/spec/classes/ironic_conductor_spec.rb b/spec/classes/ironic_conductor_spec.rb index 88d33dad..2b71fc85 100644 --- a/spec/classes/ironic_conductor_spec.rb +++ b/spec/classes/ironic_conductor_spec.rb @@ -74,6 +74,8 @@ describe 'ironic::conductor' do is_expected.to contain_ironic_config('deploy/continue_if_disk_secure_erase_fails').with(:value => '') is_expected.to contain_ironic_config('deploy/http_url').with(:value => '') is_expected.to contain_ironic_config('deploy/http_root').with(:value => '') + is_expected.to contain_ironic_config('conductor/configdrive_use_swift').with(:value => '') + is_expected.to contain_ironic_config('conductor/configdrive_swift_container').with(:value => '') end context 'when overriding parameters' do @@ -92,6 +94,8 @@ describe 'ironic::conductor' do :cleaning_disk_erase => 'metadata', :http_url => 'http://host:port', :http_root => '/src/www', + :configdrive_use_swift => true, + :configdrive_swift_container => 'cont', ) end it 'should replace default parameter with new value' do @@ -109,6 +113,8 @@ describe 'ironic::conductor' do is_expected.to contain_ironic_config('deploy/erase_devices_metadata_priority').with_value(10) is_expected.to contain_ironic_config('deploy/http_url').with_value(p[:http_url]) is_expected.to contain_ironic_config('deploy/http_root').with_value(p[:http_root]) + is_expected.to contain_ironic_config('conductor/configdrive_use_swift').with_value(p[:configdrive_use_swift]) + is_expected.to contain_ironic_config('conductor/configdrive_swift_container').with_value(p[:configdrive_swift_container]) end end