Adding OSD level params

The osd parameters added will be disabled by default as to not cause duplicate declarations for
users defining this with in-house puppet modules

Closes-Bug: #1488126
Change-Id: I87fe265370adaf1c02e23ffe6ad63bdc93649438
This commit is contained in:
cdelatte
2016-06-23 15:09:56 -04:00
parent df1e04c81c
commit 63530d08fe
7 changed files with 185 additions and 54 deletions
+6
View File
@@ -14,6 +14,12 @@ ceph::profile::params::osd_pool_default_size: '2'
ceph::profile::params::osd_pool_default_min_size: '1'
ceph::profile::params::cluster_network: '10.12.13.0/24'
ceph::profile::params::public_network: '10.11.12.0/24'
ceph::profile::params::osd_max_backfills: '1'
ceph::profile::params::osd_recovery_max_active: '1'
ceph::profile::params::osd_recovery_op_priority: '1'
ceph::profile::params::osd_recovery_max_single_start: '1'
ceph::profile::params::osd_max_scrubs: '1'
ceph::profile::params::osd_op_threads: '2'
######## Keys
ceph::profile::params::mon_key: 'AQATGHJTUCBqIBAA7M2yafV1xctn1pgr3GcKPg=='
+72 -21
View File
@@ -98,32 +98,71 @@
# [*public_addr*] The address of the node (on public network.)
# Optional. {public-network-ip}
#
# [*osd_max_backfills*] The maximum number of backfills allowed to or from a single OSD.
# Optional. Default provided by Ceph
#
# [*osd_recovery_max_active*] The number of active recovery requests per OSD at one time.
# Optional. Default provided by Ceph
#
# [*osd_recovery_op_priority*] The priority set for recovery operations.
# Optional. Default provided by Ceph
#
# [*osd_recovery_max_single_start*] The maximum number of recovery operations that will be
# newly started per PG that the OSD is recovering.
# Optional. Default provided by Ceph
#
# [*osd_max_scrubs*] The maximum number of simultaneous scrub operations for a Ceph OSD Daemon.
# Optional. Default provided by Ceph
#
# [*osd_op_threads*] The number of threads to service Ceph OSD Daemon operations.
# Set to 0 to disable it.
# Optional. Default provided by Ceph
#
# DEPRECATED PARAMETERS
#
# [*set_osd_params*] disables setting osd params using this module by default as people
# calling ceph_config from in-house modules will get dup-declaration errors.
# Boolean. Default false.
#
class ceph (
$fsid,
$ensure = present,
$authentication_type = 'cephx',
$keyring = undef,
$osd_journal_size = undef,
$osd_pool_default_pg_num = undef,
$osd_pool_default_pgp_num = undef,
$osd_pool_default_size = undef,
$osd_pool_default_min_size = undef,
$osd_pool_default_crush_rule= undef,
$mon_osd_full_ratio = undef,
$mon_osd_nearfull_ratio = undef,
$mon_initial_members = undef,
$mon_host = undef,
$ms_bind_ipv6 = undef,
$require_signatures = undef,
$cluster_require_signatures = undef,
$service_require_signatures = undef,
$sign_messages = undef,
$cluster_network = undef,
$public_network = undef,
$public_addr = undef,
$ensure = present,
$authentication_type = 'cephx',
$keyring = undef,
$osd_journal_size = undef,
$osd_pool_default_pg_num = undef,
$osd_pool_default_pgp_num = undef,
$osd_pool_default_size = undef,
$osd_pool_default_min_size = undef,
$osd_pool_default_crush_rule = undef,
$mon_osd_full_ratio = undef,
$mon_osd_nearfull_ratio = undef,
$mon_initial_members = undef,
$mon_host = undef,
$ms_bind_ipv6 = undef,
$require_signatures = undef,
$cluster_require_signatures = undef,
$service_require_signatures = undef,
$sign_messages = undef,
$cluster_network = undef,
$public_network = undef,
$public_addr = undef,
$osd_max_backfills = undef,
$osd_recovery_max_active = undef,
$osd_recovery_op_priority = undef,
$osd_recovery_max_single_start = undef,
$osd_max_scrubs = undef,
$osd_op_threads = undef,
# DEPRECATED PARAMETERS
$set_osd_params = false,
) {
include ::ceph::params
if $set_osd_params {
warning('set_osd_params is deprecated. It is here to allow a transition to using this module to assign values and will be removed in a future release.')
}
package { $::ceph::params::packages :
ensure => $ensure,
tag => 'ceph'
@@ -171,5 +210,17 @@ class ceph (
'global/auth_supported': value => 'none';
}
}
# This section will be moved up with the rest of the non-auth settings in the next release and the set_osd_params flag will be removed
if $set_osd_params {
ceph_config {
'osd/osd_max_backfills': value => $osd_max_backfills;
'osd/osd_recovery_max_active': value => $osd_recovery_max_active;
'osd/osd_recovery_op_priority': value => $osd_recovery_op_priority;
'osd/osd_recovery_max_single_start': value => $osd_recovery_max_single_start;
'osd/osd_max_scrubs': value => $osd_max_scrubs;
'osd/osd_op_threads': value => $osd_op_threads;
}
}
}
}
+18 -12
View File
@@ -31,17 +31,23 @@ class ceph::profile::base {
}
class { '::ceph':
fsid => $ceph::profile::params::fsid,
authentication_type => $ceph::profile::params::authentication_type,
osd_journal_size => $ceph::profile::params::osd_journal_size,
osd_pool_default_pg_num => $ceph::profile::params::osd_pool_default_pg_num,
osd_pool_default_pgp_num => $ceph::profile::params::osd_pool_default_pgp_num,
osd_pool_default_size => $ceph::profile::params::osd_pool_default_size,
osd_pool_default_min_size => $ceph::profile::params::osd_pool_default_min_size,
mon_initial_members => $ceph::profile::params::mon_initial_members,
mon_host => $ceph::profile::params::mon_host,
ms_bind_ipv6 => $ceph::profile::params::ms_bind_ipv6,
cluster_network => $ceph::profile::params::cluster_network,
public_network => $ceph::profile::params::public_network,
fsid => $ceph::profile::params::fsid,
authentication_type => $ceph::profile::params::authentication_type,
osd_journal_size => $ceph::profile::params::osd_journal_size,
osd_pool_default_pg_num => $ceph::profile::params::osd_pool_default_pg_num,
osd_pool_default_pgp_num => $ceph::profile::params::osd_pool_default_pgp_num,
osd_pool_default_size => $ceph::profile::params::osd_pool_default_size,
osd_pool_default_min_size => $ceph::profile::params::osd_pool_default_min_size,
mon_initial_members => $ceph::profile::params::mon_initial_members,
mon_host => $ceph::profile::params::mon_host,
ms_bind_ipv6 => $ceph::profile::params::ms_bind_ipv6,
cluster_network => $ceph::profile::params::cluster_network,
public_network => $ceph::profile::params::public_network,
osd_max_backfills => $ceph::profile::params::osd_max_backfills,
osd_recovery_max_active => $ceph::profile::params::osd_recovery_max_active,
osd_recovery_op_priority => $ceph::profile::params::osd_recovery_op_priority,
osd_recovery_max_single_start => $ceph::profile::params::osd_recovery_max_single_start,
osd_max_scrubs => $ceph::profile::params::osd_max_scrubs,
osd_op_threads => $ceph::profile::params::osd_op_threads,
}
}
+26
View File
@@ -115,6 +115,26 @@
# [*rgw_frontends*] Arguments to the rgw frontend
# Optional. Example: "civetweb port=7480"
#
# [*osd_max_backfills*] The maximum number of backfills allowed to or from a single OSD.
# Optional. Default provided by Ceph
#
# [*osd_recovery_max_active*] The number of active recovery requests per OSD at one time.
# Optional. Default provided by Ceph
#
# [*osd_recovery_op_priority*] The priority set for recovery operations.
# Optional. Default provided by Ceph
#
# [*osd_recovery_max_single_start*] The maximum number of recovery operations that will be
# newly started per PG that the OSD is recovering.
# Optional. Default provided by Ceph
#
# [*osd_max_scrubs*] The maximum number of simultaneous scrub operations for a Ceph OSD Daemon.
# Optional. Default provided by Ceph
#
# [*osd_op_threads*] The number of threads to service Ceph OSD Daemon operations.
# Set to 0 to disable it.
# Optional. Default provided by Ceph
#
class ceph::profile::params (
$fsid = undef,
@@ -141,6 +161,12 @@ class ceph::profile::params (
$rgw_print_continue = undef,
$frontend_type = undef,
$rgw_frontends = undef,
$osd_max_backfills = undef,
$osd_recovery_max_active = undef,
$osd_recovery_op_priority = undef,
$osd_recovery_max_single_start = undef,
$osd_max_scrubs = undef,
$osd_op_threads = undef,
) {
validate_hash($client_keys)
@@ -0,0 +1,23 @@
---
features:
- Added options to configure some osd parameters directly
(instead of generic ceph::conf) this behavior is
disabled by default. `osd/osd_max_backfills`,
`osd_max_scrubs`, `osd/osd_recovery_max_active`,
`osd_recovery_max_single_start`, `osd/osd_recovery_op_priority`,
`osd/osd_op_threads`
upgrade:
- when upgrading, move any usage of ceph::conf to ceph::init for the
following parameters `osd/osd_max_backfills`,
`osd_max_scrubs`, `osd/osd_recovery_max_active`,
`osd_recovery_max_single_start`, `osd/osd_recovery_op_priority`,
`osd/osd_op_threads`
deprecations:
- ceph::init set_osd_params is added new as deprecated.
This is to support backwards compability in this release.
It will be removed in the next release. Please inspect your
usage of ceph::conf for `osd/osd_max_backfills`,
`osd_max_scrubs`, `osd/osd_recovery_max_active`,
`osd_recovery_max_single_start`, `osd/osd_recovery_op_priority`,
`osd/osd_op_threads` as these will become actively defined from
ceph::init
+34 -21
View File
@@ -63,27 +63,34 @@ describe 'ceph' do
describe "with custom params and specified fsid" do
let :params do
{
:fsid => 'd5252e7d-75bc-4083-85ed-fe51fa83f62b',
:authentication_type => 'none',
:keyring => '/usr/local/ceph/etc/keyring',
:osd_journal_size => '1024',
:osd_pool_default_pg_num => '256',
:osd_pool_default_pgp_num => '256',
:osd_pool_default_size => '2',
:osd_pool_default_min_size => '1',
:osd_pool_default_crush_rule => '10',
:mon_osd_full_ratio => '95',
:mon_osd_nearfull_ratio => '90',
:mon_initial_members => 'mon.01',
:mon_host => 'mon01.ceph, mon02.ceph',
:ms_bind_ipv6 => 'true',
:require_signatures => 'true',
:cluster_require_signatures => 'true',
:service_require_signatures => 'true',
:sign_messages => 'false',
:cluster_network => '10.0.0.0/24',
:public_network => '192.168.0.0/24',
:public_addr => '192.168.0.2',
:fsid => 'd5252e7d-75bc-4083-85ed-fe51fa83f62b',
:authentication_type => 'none',
:keyring => '/usr/local/ceph/etc/keyring',
:osd_journal_size => '1024',
:osd_pool_default_pg_num => '256',
:osd_pool_default_pgp_num => '256',
:osd_pool_default_size => '2',
:osd_pool_default_min_size => '1',
:osd_pool_default_crush_rule => '10',
:mon_osd_full_ratio => '95',
:mon_osd_nearfull_ratio => '90',
:mon_initial_members => 'mon.01',
:mon_host => 'mon01.ceph, mon02.ceph',
:ms_bind_ipv6 => 'true',
:require_signatures => 'true',
:cluster_require_signatures => 'true',
:service_require_signatures => 'true',
:sign_messages => 'false',
:cluster_network => '10.0.0.0/24',
:public_network => '192.168.0.0/24',
:public_addr => '192.168.0.2',
:set_osd_params => 'true',
:osd_max_backfills => '1',
:osd_recovery_max_active => '1',
:osd_recovery_op_priority => '1',
:osd_recovery_max_single_start => '1',
:osd_max_scrubs => '1',
:osd_op_threads => '2',
}
end
@@ -119,6 +126,12 @@ describe 'ceph' do
it { is_expected.to contain_ceph_config('global/auth_service_required').with_value('none') }
it { is_expected.to contain_ceph_config('global/auth_client_required').with_value('none') }
it { is_expected.to contain_ceph_config('global/auth_supported').with_value('none') }
it { is_expected.to contain_ceph_config('osd/osd_max_backfills').with_value('1') }
it { is_expected.to contain_ceph_config('osd/osd_recovery_max_active').with_value('1') }
it { is_expected.to contain_ceph_config('osd/osd_recovery_op_priority').with_value('1') }
it { is_expected.to contain_ceph_config('osd/osd_recovery_max_single_start').with_value('1') }
it { is_expected.to contain_ceph_config('osd/osd_max_scrubs').with_value('1') }
it { is_expected.to contain_ceph_config('osd/osd_op_threads').with_value('2') }
end
end
+6
View File
@@ -15,6 +15,12 @@ ceph::profile::params::osd_pool_default_min_size: '1'
ceph::profile::params::cluster_network: '10.12.13.0/24'
ceph::profile::params::public_network: '10.11.12.0/24'
ceph::profile::params::public_addr: '10.11.12.2'
ceph::profile::params::osd_max_backfills: '1'
ceph::profile::params::osd_recovery_max_active: '1'
ceph::profile::params::osd_recovery_op_priority: '1'
ceph::profile::params::osd_recovery_max_single_start: '1'
ceph::profile::params::osd_max_scrubs: '1'
ceph::profile::params::osd_op_threads: '2'
######## Keys
ceph::profile::params::mon_key: 'AQATGHJTUCBqIBAA7M2yafV1xctn1pgr3GcKPg=='