Allow customization of db sync command line
Add $extra_params parameter to keystone::db::sync class to allow end-users to add command line parameters to the db_sync command. Change-Id: I3965a4d0d4974e7ee925c99207d4d6d4510a517f Closes-bug: 1472740
This commit is contained in:
@@ -1,8 +1,20 @@
|
|||||||
#
|
#
|
||||||
# Class to execute "keystone-manage db_sync
|
# Class to execute "keystone-manage db_sync
|
||||||
#
|
#
|
||||||
class keystone::db::sync {
|
# == Parameters
|
||||||
|
#
|
||||||
|
# [*extra_params*]
|
||||||
|
# (optional) String of extra command line parameters to append
|
||||||
|
# to the keystone-manage db_sync command. These will be
|
||||||
|
# inserted in the command line between 'keystone-manage' and
|
||||||
|
# 'db_sync' in the command line.
|
||||||
|
# Defaults to ''
|
||||||
|
#
|
||||||
|
class keystone::db::sync(
|
||||||
|
$extra_params = undef,
|
||||||
|
) {
|
||||||
exec { 'keystone-manage db_sync':
|
exec { 'keystone-manage db_sync':
|
||||||
|
command => "keystone-manage ${extra_params} db_sync",
|
||||||
path => '/usr/bin',
|
path => '/usr/bin',
|
||||||
user => 'keystone',
|
user => 'keystone',
|
||||||
refreshonly => true,
|
refreshonly => true,
|
||||||
|
35
spec/classes/keystone_db_sync_spec.rb
Normal file
35
spec/classes/keystone_db_sync_spec.rb
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'keystone::db::sync' do
|
||||||
|
|
||||||
|
describe 'with only required params' do
|
||||||
|
it {
|
||||||
|
is_expected.to contain_exec('keystone-manage db_sync').with(
|
||||||
|
:command => 'keystone-manage db_sync',
|
||||||
|
:user => 'keystone',
|
||||||
|
:refreshonly => true,
|
||||||
|
:subscribe => ['Package[keystone]', 'Keystone_config[database/connection]'],
|
||||||
|
:require => 'User[keystone]'
|
||||||
|
)
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "overriding extra_params" do
|
||||||
|
let :params do
|
||||||
|
{
|
||||||
|
:extra_params => '--config-file /etc/keystone/keystone.conf',
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_exec('keystone-manage db_sync').with(
|
||||||
|
:command => 'keystone-manage --config-file /etc/keystone/keystone.conf db_sync',
|
||||||
|
:user => 'keystone',
|
||||||
|
:refreshonly => true,
|
||||||
|
:subscribe => ['Package[keystone]', 'Keystone_config[database/connection]'],
|
||||||
|
:require => 'User[keystone]'
|
||||||
|
)
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
@@ -136,6 +136,7 @@ describe 'keystone' do
|
|||||||
it 'should synchronize the db if $sync_db is true' do
|
it 'should synchronize the db if $sync_db is true' do
|
||||||
if param_hash['sync_db']
|
if param_hash['sync_db']
|
||||||
is_expected.to contain_exec('keystone-manage db_sync').with(
|
is_expected.to contain_exec('keystone-manage db_sync').with(
|
||||||
|
:command => 'keystone-manage db_sync',
|
||||||
:user => 'keystone',
|
:user => 'keystone',
|
||||||
:refreshonly => true,
|
:refreshonly => true,
|
||||||
:subscribe => ['Package[keystone]', 'Keystone_config[database/connection]'],
|
:subscribe => ['Package[keystone]', 'Keystone_config[database/connection]'],
|
||||||
|
Reference in New Issue
Block a user