Skip to content

Commit eee86fa

Browse files
Merge pull request #62 from redBorder/development
Release 3.2.0
2 parents 0f7bddf + 8a08f47 commit eee86fa

2 files changed

Lines changed: 13 additions & 10 deletions

File tree

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.1.0
1+
3.2.0

resources/lib/service.rb

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,8 @@ def execute(node=nil, service)
543543
nodes = []
544544
utils = Utils.instance
545545
saved = false
546-
546+
protected_services = ['s3', 'redis'] # Mandatory services that cannot be disabled if only one node is running
547+
547548
begin
548549
nodes = utils.check_nodes(node || Socket.gethostname.split(".").first)
549550
if nodes.count == 0
@@ -559,22 +560,24 @@ def execute(node=nil, service)
559560
end
560561
end
561562

562-
if service == 's3'
563+
if protected_services.include?(service)
563564
total_enabled_nodes = 0
564565
utils.check_nodes("all").each do |n|
565566
n_node = utils.get_node(n)
566567
next unless n_node
567568
role = Chef::Role.load(n)
568-
if role.override_attributes.dig('redborder','services','s3').nil?
569-
s3_role = n_node['redborder']['services']['s3']
570-
else
571-
s3_role = role.override_attributes["redborder"]["services"]["s3"]
572-
end
573-
total_enabled_nodes += 1 if s3_role
569+
570+
service_role = if role.override_attributes.dig('redborder','services',service).nil?
571+
n_node['redborder']['services'][service]
572+
else
573+
role.override_attributes["redborder"]["services"][service]
574+
end
575+
576+
total_enabled_nodes += 1 if service_role
574577
end
575578

576579
if total_enabled_nodes <= 1
577-
puts "ERROR: Service 's3' is enabled on only one node. Cannot disable it."
580+
puts "ERROR: Service '#{service}' is enabled on only one node. Cannot disable it."
578581
return
579582
end
580583
end

0 commit comments

Comments
 (0)