Skip to content

Commit

Permalink
Merge pull request #950 from jimmybigcommerce/initial_cluster_size_patch
Browse files Browse the repository at this point in the history
Treat `initial-cluster-size` option in policy as an integer
  • Loading branch information
wyardley committed Oct 31, 2023
2 parents fbf96ce + ee1e930 commit c442d00
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
7 changes: 6 additions & 1 deletion lib/puppet/type/rabbitmq_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -120,10 +120,14 @@ def validate_definition(definition)
ha_sync_batch_size_val = definition['ha-sync-batch-size']
raise ArgumentError, "Invalid ha-sync-batch-size value '#{ha_sync_batch_size_val}'" unless ha_sync_batch_size_val.to_i.to_s == ha_sync_batch_size_val
end
if definition.key? 'delivery-limit' # rubocop:disable Style/GuardClause
if definition.key? 'delivery-limit'
delivery_limit_val = definition['delivery-limit']
raise ArgumentError, "Invalid delivery-limit value '#{delivery_limit_val}'" unless delivery_limit_val.to_i.to_s == delivery_limit_val
end
if definition.key? 'initial-cluster-size' # rubocop:disable Style/GuardClause
initial_cluster_size_val = definition['initial-cluster-size']
raise ArgumentError, "Invalid initial-cluster-size value '#{initial_cluster_size_val}'" unless initial_cluster_size_val.to_i.to_s == initial_cluster_size_val
end
end

def munge_definition(definition)
Expand All @@ -135,6 +139,7 @@ def munge_definition(definition)
definition['shards-per-node'] = definition['shards-per-node'].to_i if definition.key? 'shards-per-node'
definition['ha-sync-batch-size'] = definition['ha-sync-batch-size'].to_i if definition.key? 'ha-sync-batch-size'
definition['delivery-limit'] = definition['delivery-limit'].to_i if definition.key? 'delivery-limit'
definition['initial-cluster-size'] = definition['initial-cluster-size'].to_i if definition.key? 'initial-cluster-size'
definition
end
end
13 changes: 13 additions & 0 deletions spec/unit/puppet/type/rabbitmq_policy_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,19 @@
end.to raise_error(Puppet::Error, %r{Invalid delivery-limit value.*future})
end

it 'accepts and converts the initial-cluster-size value' do
definition = { 'initial-cluster-size' => '3' }
policy[:definition] = definition
expect(policy[:definition]['initial-cluster-size']).to eq(3)
end

it 'does not accept non-numeric initial-cluster-size value' do
definition = { 'initial-cluster-size' => 'impressive' }
expect do
policy[:definition] = definition
end.to raise_error(Puppet::Error, %r{Invalid initial-cluster-size value 'impressive})
end

context 'accepts list value in ha-params when ha-mode = nodes' do
before do
policy[:definition] = definition
Expand Down

0 comments on commit c442d00

Please sign in to comment.