Remove password hash generation in each puppet modules
... and migrate it to openstacklib so that all logics about database configuration are implemented in one common place. Depends-on: https://review.opendev.org/#/c/728595/ Change-Id: I900142c35e8fb20d3279f607cdd80ad53157531c
This commit is contained in:
parent
7c565292f4
commit
52a1300566
|
@ -54,7 +54,7 @@ class ec2api::db::mysql (
|
|||
|
||||
::openstacklib::db::mysql { 'ec2api':
|
||||
user => $user,
|
||||
password_hash => mysql::password($password),
|
||||
password => $password,
|
||||
dbname => $dbname,
|
||||
host => $host,
|
||||
charset => $charset,
|
||||
|
|
|
@ -35,11 +35,11 @@ class ec2api::db::postgresql (
|
|||
include ec2api::deps
|
||||
|
||||
::openstacklib::db::postgresql { 'ec2api':
|
||||
password_hash => postgresql_password($user, $password),
|
||||
dbname => $dbname,
|
||||
user => $user,
|
||||
encoding => $encoding,
|
||||
privileges => $privileges,
|
||||
password => $password,
|
||||
dbname => $dbname,
|
||||
user => $user,
|
||||
encoding => $encoding,
|
||||
privileges => $privileges,
|
||||
}
|
||||
|
||||
Anchor['ec2api::db::begin']
|
||||
|
|
|
@ -9,10 +9,6 @@
|
|||
"name": "puppetlabs/stdlib",
|
||||
"version_requirement": ">=5.0.0 <7.0.0"
|
||||
},
|
||||
{
|
||||
"name": "puppetlabs/mysql",
|
||||
"version_requirement": ">=6.0.0 <11.0.0"
|
||||
},
|
||||
{
|
||||
"name": "openstack/openstacklib",
|
||||
"version_requirement": ">=16.3.0 <17.0.0"
|
||||
|
|
|
@ -1,64 +1,71 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'ec2api::db::mysql' do
|
||||
on_supported_os(supported_os: OSDefaults.get_supported_os).each do |os,facts|
|
||||
context "on #{os}" do
|
||||
shared_examples_for 'ec2api::db::mysql' do
|
||||
|
||||
let(:facts) { facts.merge! @default_facts }
|
||||
|
||||
describe 'with default parameters' do
|
||||
let(:params) do
|
||||
{
|
||||
password: 'my_password',
|
||||
}
|
||||
end
|
||||
|
||||
db_parameters = {
|
||||
user: 'ec2api',
|
||||
password_hash: '*CCD3A959D6A004B9C3807B728BC2E55B67E10518',
|
||||
dbname: 'ec2api',
|
||||
host: '127.0.0.1',
|
||||
charset: 'utf8',
|
||||
collate: 'utf8_general_ci',
|
||||
context 'with default parameters' do
|
||||
let(:params) do
|
||||
{
|
||||
password: 'ec2apipass',
|
||||
}
|
||||
|
||||
it { is_expected.to compile.with_all_deps }
|
||||
|
||||
it { is_expected.to contain_class('ec2api::db::mysql') }
|
||||
|
||||
it { is_expected.to contain_openstacklib__db__mysql('ec2api').with(db_parameters) }
|
||||
end
|
||||
|
||||
describe 'with custom parameters' do
|
||||
let(:params) do
|
||||
{
|
||||
password: 'my_password',
|
||||
user: 'ec2user',
|
||||
dbname: 'ec2db',
|
||||
host: '192.168.0.1',
|
||||
charset: 'cp1251',
|
||||
collate: 'cp1251_general_ci',
|
||||
allowed_hosts: %w(192.168.0.2 192.168.0.3),
|
||||
}
|
||||
end
|
||||
db_parameters = {
|
||||
user: 'ec2api',
|
||||
password: 'ec2apipass',
|
||||
dbname: 'ec2api',
|
||||
host: '127.0.0.1',
|
||||
charset: 'utf8',
|
||||
collate: 'utf8_general_ci',
|
||||
}
|
||||
|
||||
db_parameters = {
|
||||
it { is_expected.to compile.with_all_deps }
|
||||
|
||||
it { is_expected.to contain_class('ec2api::db::mysql') }
|
||||
|
||||
it { is_expected.to contain_openstacklib__db__mysql('ec2api').with(db_parameters) }
|
||||
end
|
||||
|
||||
context 'with custom parameters' do
|
||||
let(:params) do
|
||||
{
|
||||
password: 'ec2apipass',
|
||||
user: 'ec2user',
|
||||
password_hash: '*CCD3A959D6A004B9C3807B728BC2E55B67E10518',
|
||||
dbname: 'ec2db',
|
||||
host: '192.168.0.1',
|
||||
charset: 'cp1251',
|
||||
collate: 'cp1251_general_ci',
|
||||
allowed_hosts: %w(192.168.0.2 192.168.0.3)
|
||||
allowed_hosts: %w(192.168.0.2 192.168.0.3),
|
||||
}
|
||||
|
||||
it { is_expected.to compile.with_all_deps }
|
||||
|
||||
it { is_expected.to contain_class('ec2api::db::mysql') }
|
||||
|
||||
it { is_expected.to contain_openstacklib__db__mysql('ec2api').with(db_parameters) }
|
||||
end
|
||||
|
||||
db_parameters = {
|
||||
user: 'ec2user',
|
||||
password: 'ec2apipass',
|
||||
dbname: 'ec2db',
|
||||
host: '192.168.0.1',
|
||||
charset: 'cp1251',
|
||||
collate: 'cp1251_general_ci',
|
||||
allowed_hosts: %w(192.168.0.2 192.168.0.3)
|
||||
}
|
||||
|
||||
it { is_expected.to compile.with_all_deps }
|
||||
|
||||
it { is_expected.to contain_class('ec2api::db::mysql') }
|
||||
|
||||
it { is_expected.to contain_openstacklib__db__mysql('ec2api').with(db_parameters) }
|
||||
end
|
||||
end
|
||||
|
||||
on_supported_os({
|
||||
:supported_os => OSDefaults.get_supported_os
|
||||
}).each do |os,facts|
|
||||
context "on #{os}" do
|
||||
let (:facts) do
|
||||
facts.merge!(OSDefaults.get_facts())
|
||||
end
|
||||
|
||||
it_behaves_like 'ec2api::db::mysql'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,37 +1,43 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'ec2api::db::postgresql' do
|
||||
|
||||
let :pre_condition do
|
||||
'include postgresql::server'
|
||||
end
|
||||
|
||||
let :params do
|
||||
{
|
||||
:password => 'ec2apipass',
|
||||
}
|
||||
end
|
||||
|
||||
shared_examples_for 'ec2api::db::postgresql' do
|
||||
context 'with only required parameters' do
|
||||
it { is_expected.to compile.with_all_deps }
|
||||
|
||||
it { is_expected.to contain_class('ec2api::db::postgresql') }
|
||||
|
||||
it { is_expected.to contain_openstacklib__db__postgresql('ec2api').with(
|
||||
:user => 'ec2api',
|
||||
:password => 'ec2apipass',
|
||||
:dbname => 'ec2api',
|
||||
:encoding => nil,
|
||||
:privileges => 'ALL',
|
||||
)}
|
||||
end
|
||||
end
|
||||
|
||||
on_supported_os(supported_os: OSDefaults.get_supported_os).each do |os,facts|
|
||||
context "on #{os}" do
|
||||
|
||||
let (:facts) do
|
||||
facts.merge!(OSDefaults.get_facts({
|
||||
:processorcount => 8,
|
||||
:concat_basedir => '/var/lib/puppet/concat'
|
||||
}))
|
||||
end
|
||||
|
||||
context 'with only required parameters' do
|
||||
let :params do
|
||||
{
|
||||
:password => 'pw',
|
||||
}
|
||||
end
|
||||
|
||||
let :pre_condition do
|
||||
'include postgresql::server'
|
||||
end
|
||||
|
||||
it { is_expected.to compile.with_all_deps }
|
||||
|
||||
it { is_expected.to contain_class('ec2api::db::postgresql') }
|
||||
|
||||
it { is_expected.to contain_postgresql__server__db('ec2api').with(
|
||||
:user => 'ec2api',
|
||||
:password => 'md58f5ac3d04c0da5a38f9c80d62f00eb1e'
|
||||
)}
|
||||
end
|
||||
|
||||
it_behaves_like 'ec2api::db::postgresql'
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue