File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- 3.1 .0
1+ 3.2 .0
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments