diff --git a/manifests/db/online_data_migrations.pp b/manifests/db/online_data_migrations.pp index cab14b37..7b6542ad 100644 --- a/manifests/db/online_data_migrations.pp +++ b/manifests/db/online_data_migrations.pp @@ -8,15 +8,22 @@ # to the ironic-dbsync command. # Defaults to undef # +# [*migration_params*] +# (optional) String of extra command line parameters to pass to migrations. +# Unlike extra_params, these apply to migrations themselves, not to the +# ironic-dbsync command. +# Defaults to undef +# class ironic::db::online_data_migrations( - $extra_params = undef, + $extra_params = undef, + $migration_params = undef, ) { include ::ironic::deps include ::ironic::params exec { 'ironic-db-online-data-migrations': - command => "${::ironic::params::dbsync_command} ${extra_params} online_data_migrations", + command => "${::ironic::params::dbsync_command} ${extra_params} online_data_migrations ${migration_params}", path => '/usr/bin', user => 'ironic', refreshonly => true, diff --git a/releasenotes/notes/migration-params-f9ec055f4ab5e98d.yaml b/releasenotes/notes/migration-params-f9ec055f4ab5e98d.yaml new file mode 100644 index 00000000..8af24f61 --- /dev/null +++ b/releasenotes/notes/migration-params-f9ec055f4ab5e98d.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + Add new parameter ``ironic::db::online_data_migrations::migration_params`` + to allow passing arguments to migration themselves (``extra_params`` passes + arguments to the ``ironic-dbsync`` command itself and cannot be used to + tune migrations). diff --git a/spec/classes/ironic_db_online_data_migrations_spec.rb b/spec/classes/ironic_db_online_data_migrations_spec.rb index f01b7a06..8f8591f4 100644 --- a/spec/classes/ironic_db_online_data_migrations_spec.rb +++ b/spec/classes/ironic_db_online_data_migrations_spec.rb @@ -6,7 +6,7 @@ describe 'ironic::db::online_data_migrations' do it 'runs ironic-db-sync' do is_expected.to contain_exec('ironic-db-online-data-migrations').with( - :command => 'ironic-dbsync --config-file /etc/ironic/ironic.conf online_data_migrations', + :command => 'ironic-dbsync --config-file /etc/ironic/ironic.conf online_data_migrations ', :path => '/usr/bin', :user => 'ironic', :refreshonly => 'true', @@ -24,13 +24,14 @@ describe 'ironic::db::online_data_migrations' do describe "overriding extra_params" do let :params do { - :extra_params => '--config-file /etc/ironic/ironic_01.conf', + :extra_params => '--config-file /etc/ironic/ironic_01.conf', + :migration_params => '--max-count 100', } end it { is_expected.to contain_exec('ironic-db-online-data-migrations').with( - :command => 'ironic-dbsync --config-file /etc/ironic/ironic.conf --config-file /etc/ironic/ironic_01.conf online_data_migrations', + :command => 'ironic-dbsync --config-file /etc/ironic/ironic.conf --config-file /etc/ironic/ironic_01.conf online_data_migrations --max-count 100', :path => '/usr/bin', :user => 'ironic', :refreshonly => 'true',