Fixes issues with raising mysql file limit
Changes Include: - Adds spec testing - Only raise limits if nonha. puppet-systemd will restart the mariadb service which breaks ha deployments. Hence we only want to do this in noha. - Minor fix to hiera value refrenced not as parameter to mysql.pp Partial-Bug: #1648181 Related-Bug: #1524809 Co-Authored By: Feng Pan <fpan@redhat.com> Change-Id: Id063bf4b4ac229181b01f40965811cb8ac4230d5 Signed-off-by: Tim Rozet <trozet@redhat.com> Signed-off-by: Feng Pan <fpan@redhat.com>
This commit is contained in:
parent
cc3d236ce4
commit
c9acf8a687
@ -40,3 +40,7 @@ mod 'certmonger',
|
|||||||
mod 'ntp',
|
mod 'ntp',
|
||||||
:git => 'https://github.com/puppetlabs/puppetlabs-ntp',
|
:git => 'https://github.com/puppetlabs/puppetlabs-ntp',
|
||||||
:ref => '4.2.x'
|
:ref => '4.2.x'
|
||||||
|
|
||||||
|
mod 'systemd',
|
||||||
|
:git => 'https://github.com/camptocamp/puppet-systemd',
|
||||||
|
:ref => 'master'
|
||||||
|
@ -62,6 +62,10 @@
|
|||||||
# Should be an hash.
|
# Should be an hash.
|
||||||
# Defaults to {}
|
# Defaults to {}
|
||||||
#
|
#
|
||||||
|
# [*mysql_max_connections*]
|
||||||
|
# (Optional) Maximum number of connections to MySQL.
|
||||||
|
# Defaults to hiera('mysql_max_connections', undef)
|
||||||
|
#
|
||||||
# [*remove_default_accounts*]
|
# [*remove_default_accounts*]
|
||||||
# (Optional) Whether or not remove default MySQL accounts.
|
# (Optional) Whether or not remove default MySQL accounts.
|
||||||
# Defaults to true
|
# Defaults to true
|
||||||
@ -81,6 +85,7 @@ class tripleo::profile::base::database::mysql (
|
|||||||
$generate_service_certificates = hiera('generate_service_certificates', false),
|
$generate_service_certificates = hiera('generate_service_certificates', false),
|
||||||
$manage_resources = true,
|
$manage_resources = true,
|
||||||
$mysql_server_options = {},
|
$mysql_server_options = {},
|
||||||
|
$mysql_max_connections = hiera('mysql_max_connections', undef),
|
||||||
$remove_default_accounts = true,
|
$remove_default_accounts = true,
|
||||||
$step = hiera('step'),
|
$step = hiera('step'),
|
||||||
) {
|
) {
|
||||||
@ -126,7 +131,7 @@ class tripleo::profile::base::database::mysql (
|
|||||||
$mysql_server_default = {
|
$mysql_server_default = {
|
||||||
'mysqld' => {
|
'mysqld' => {
|
||||||
'bind-address' => $bind_address,
|
'bind-address' => $bind_address,
|
||||||
'max_connections' => hiera('mysql_max_connections'),
|
'max_connections' => $mysql_max_connections,
|
||||||
'open_files_limit' => '-1',
|
'open_files_limit' => '-1',
|
||||||
'innodb_file_per_table' => 'ON',
|
'innodb_file_per_table' => 'ON',
|
||||||
'ssl' => $enable_internal_tls,
|
'ssl' => $enable_internal_tls,
|
||||||
@ -146,11 +151,11 @@ class tripleo::profile::base::database::mysql (
|
|||||||
remove_default_accounts => $remove_default_accounts,
|
remove_default_accounts => $remove_default_accounts,
|
||||||
}
|
}
|
||||||
|
|
||||||
if $generate_dropin_file_limit {
|
if $generate_dropin_file_limit and $manage_resources {
|
||||||
# Raise the mysql file limit
|
# Raise the mysql file limit
|
||||||
::systemd::service_limits { 'mariadb.service':
|
::systemd::service_limits { 'mariadb.service':
|
||||||
limits => {
|
limits => {
|
||||||
LimitNOFILE => 16384
|
'LimitNOFILE' => 16384
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
75
spec/classes/tripleo_profile_base_database_mysql_spec.rb
Normal file
75
spec/classes/tripleo_profile_base_database_mysql_spec.rb
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2017 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'tripleo::profile::base::database::mysql' do
|
||||||
|
let :params do
|
||||||
|
{ :step => 2,
|
||||||
|
:mysql_max_connections => 4096,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
shared_examples_for 'tripleo::profile::base::database::mysql' do
|
||||||
|
before :each do
|
||||||
|
facts.merge!({ :step => params[:step] })
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with noha and raise mariadb limit' do
|
||||||
|
before do
|
||||||
|
params.merge!({
|
||||||
|
:generate_dropin_file_limit => true
|
||||||
|
})
|
||||||
|
end
|
||||||
|
it 'should create limit file' do
|
||||||
|
is_expected.to contain_systemd__service_limits('mariadb.service').with(
|
||||||
|
:limits => { "LimitNOFILE" => 16384 })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with noha and do not raise mariadb limit' do
|
||||||
|
before do
|
||||||
|
params.merge!({
|
||||||
|
:generate_dropin_file_limit => false
|
||||||
|
})
|
||||||
|
end
|
||||||
|
it 'should not create limit file' do
|
||||||
|
is_expected.to_not contain_systemd__service_limits('mariadb.service')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with ha and raise mariadb limit' do
|
||||||
|
before do
|
||||||
|
params.merge!({
|
||||||
|
:generate_dropin_file_limit => true,
|
||||||
|
:manage_resources => false,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
it 'should not create limit file in ha' do
|
||||||
|
is_expected.to_not contain_systemd__service_limits('mariadb.service')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({ :hostname => 'node.example.com' })
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::profile::base::database::mysql'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user