elasticsearch-drain 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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