elasticsearch-drain 0.1.9 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 833e9ccb66eeabd7ec9e3ed2f193ec2dc389de6d
4
- data.tar.gz: 42edac2e4d75dc0254b996dea328a8188a5c0d6e
3
+ metadata.gz: d6f8cdf47026cb2eb68de833e51f92ead6d2a0ad
4
+ data.tar.gz: db0f685a2028a42f597296ed89e6a5fb94a041da
5
5
  SHA512:
6
- metadata.gz: 0a5e9b266c549472492101d76961441a46bd023868649ca640ba069bae82a36902c4cfb3d6b12b6a168f4f8a0c851ca8c1dbfdc1051d67c1bc408f3f550722d6
7
- data.tar.gz: ba5815bfa7eba8f2b86af97072d9e4f89add797d39f4116ec22aaa1bfefe0067663a699f5dc542c544d9ab5d24dc592c65a57e57f52b0576d1915566ca7b10f8
6
+ metadata.gz: edd8562747b105ee3a7f2b6379224ed72aea324702828f92690a740265fd495d2fd18e8ba1fa474ea31ad071270438d55166f7aff0d42ce1f287bcb09d8ebf5e
7
+ data.tar.gz: 2e02dab0dea20881a1d87a2b28ae539aedf845110dc416a51f8f50fc395601a5a41799e841c1ee4ba3dd310219d652f3044593070004fa3f6c072f20864d78ec
@@ -76,10 +76,12 @@ module Elasticsearch
76
76
  @active_nodes = nodes unless options[:continue]
77
77
 
78
78
  drain_nodes(nodes)
79
- remove_nodes(nodes)
79
+ deleted_nodes = remove_nodes(nodes)
80
80
 
81
81
  # Remove the drained nodes from the list of active_nodes
82
- @active_nodes -= nodes
82
+ deleted_nodes.each do |deleted_node|
83
+ active_nodes.delete_if { |n| n.id == deleted_node.id }
84
+ end
83
85
 
84
86
  unless active_nodes.empty?
85
87
  say_status 'Drain Nodes', "#{active_nodes.length} nodes remaining", :green
@@ -142,6 +144,7 @@ module Elasticsearch
142
144
  end
143
145
 
144
146
  def remove_nodes(nodes) # rubocop:disable Metrics/MethodLength
147
+ deleted_nodes = []
145
148
  while nodes.length > 0
146
149
  sleep_time = wait_sleep_time
147
150
  nodes.each do |instance|
@@ -151,6 +154,7 @@ module Elasticsearch
151
154
  sleep sleep_time
152
155
  else
153
156
  next unless remove_node(instance)
157
+ deleted_nodes.push(nodes.find { |n| n.ipaddress == instance.ipaddress })
154
158
  nodes.delete_if { |n| n.ipaddress == instance.ipaddress }
155
159
  break if nodes.length < 1
156
160
  say_status 'Waiting', 'Sleeping for 1 minute before removing the next node', :green
@@ -158,6 +162,7 @@ module Elasticsearch
158
162
  end
159
163
  end
160
164
  end
165
+ deleted_nodes
161
166
  end
162
167
 
163
168
  def remove_node(instance) # rubocop:disable Metrics/MethodLength
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch-drain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Thompson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-20 00:00:00.000000000 Z
11
+ date: 2020-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler