elastic_manager 0.3.1.pre.debug → 0.3.5
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 +4 -4
- data/elastic_manager.gemspec +2 -2
- data/lib/elastic_manager/config.rb +1 -1
- data/lib/elastic_manager/open.rb +14 -2
- data/lib/elastic_manager/request.rb +2 -2
- data/lib/elastic_manager/utils.rb +7 -9
- metadata +12 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ffcaae6ee72e9ce144b6a0ca63025ebceb51150d610251d67c39b5831e011481
|
4
|
+
data.tar.gz: 2d041661f09472f2d32120b6857b8dfd7fb152bc8f01f9050652129479f91ca6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1bd28d542f0f5a013c4ac450b583cdc56235a938644645ae7c7e4f8663d7d2e443c0638e9f64c460fc938478a76efb722ae2003f9c6fe75281ee473f690a71b4
|
7
|
+
data.tar.gz: d8007d13dc73f4fc61c42776f984ad67549a2101433f0778102df79778bf4e1bd7ed23986abc96be76718a3858698d2358349826438c19bb946d2d79c969e910
|
data/elastic_manager.gemspec
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'elastic_manager'
|
5
5
|
s.executables = ['elastic_manager']
|
6
|
-
s.version = '0.3.
|
6
|
+
s.version = '0.3.5'
|
7
7
|
s.date = '2018-10-15'
|
8
8
|
s.summary = 'Because qurator sucks'
|
9
9
|
s.description = 'Manager for logstash indices in elastic'
|
@@ -17,6 +17,6 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.add_dependency 'colorize', '~> 0.8'
|
18
18
|
s.add_dependency 'dotenv', '~> 2.4'
|
19
19
|
s.add_dependency 'http', '~> 3.3'
|
20
|
-
s.add_dependency 'rake', '
|
20
|
+
s.add_dependency 'rake', '>= 12.3', '< 14.0'
|
21
21
|
s.add_dependency 'yajl-ruby', '~> 1.4'
|
22
22
|
end
|
data/lib/elastic_manager/open.rb
CHANGED
@@ -35,6 +35,8 @@ module Open
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def do_open(indices)
|
38
|
+
results = []
|
39
|
+
|
38
40
|
indices.each do |index|
|
39
41
|
next if skip_index?(index, 'open')
|
40
42
|
|
@@ -43,14 +45,24 @@ module Open
|
|
43
45
|
if index_exist?(response)
|
44
46
|
next if already?(response, 'open')
|
45
47
|
|
46
|
-
elastic_action_with_log('open_index', index)
|
48
|
+
results << elastic_action_with_log('open_index', index)
|
47
49
|
else
|
48
50
|
log.warn "#{index} index not found"
|
49
51
|
log.info "#{index} trying snapshot restore"
|
50
52
|
|
51
|
-
elastic_action_with_log('restore_snapshot', index, @config['settings']['box_types']['store'])
|
53
|
+
results << elastic_action_with_log('restore_snapshot', index, @config['settings']['box_types']['store'])
|
52
54
|
end
|
53
55
|
end
|
56
|
+
|
57
|
+
if results.empty?
|
58
|
+
log.warn 'looks like we skipped all indices'
|
59
|
+
exit 0
|
60
|
+
end
|
61
|
+
|
62
|
+
exit 1 if results.all? { |e| e.is_a?(FalseClass) }
|
63
|
+
# It is little bit confusing, but we catch exit code 2 in jenkins
|
64
|
+
# for mark build as unstable instead of just fail it
|
65
|
+
exit 2 if results.any? { |e| e.is_a?(FalseClass) }
|
54
66
|
end
|
55
67
|
|
56
68
|
def open
|
@@ -133,7 +133,7 @@ module Request
|
|
133
133
|
result = []
|
134
134
|
indices.each do |index, _|
|
135
135
|
begin
|
136
|
-
index_date = Date.parse(index.
|
136
|
+
index_date = Date.parse(index.split('-').last)
|
137
137
|
rescue ArgumentError => e
|
138
138
|
log.error "#{e.message} for #{index}"
|
139
139
|
next
|
@@ -341,7 +341,7 @@ module Request
|
|
341
341
|
snapshot_ok = false
|
342
342
|
|
343
343
|
until snapshot_ok
|
344
|
-
sleep @sleep
|
344
|
+
sleep @sleep / 2
|
345
345
|
response = request(:get, "/_snapshot/#{repo}/#{snapshot}/_status")
|
346
346
|
|
347
347
|
if response.code == 200
|
@@ -48,7 +48,7 @@ module Utils
|
|
48
48
|
|
49
49
|
# ALARM! this can be enabled only for development logs, otherwise indices without snapshots can be deleted!
|
50
50
|
if @config['settings']['indices']['_all'] &&
|
51
|
-
|
51
|
+
@config['settings']['indices']['_all']['delete_without_snapshot']
|
52
52
|
|
53
53
|
if true?(@config['settings']['indices']['_all']['delete_without_snapshot'])
|
54
54
|
log.warn 'any index can be deleted without snapshot due global settings'
|
@@ -120,14 +120,12 @@ module Utils
|
|
120
120
|
end
|
121
121
|
|
122
122
|
def elastic_action_with_log(action, index, *params)
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
log.info "#{index} #{action}"
|
123
|
+
if @elastic.send(action, index, *params)
|
124
|
+
log.info "#{index} #{action} succes"
|
125
|
+
else
|
126
|
+
log.error "#{index} #{action} fail"
|
127
|
+
return false
|
128
|
+
end
|
131
129
|
|
132
130
|
true
|
133
131
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elastic_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Antony Ryabov
|
@@ -56,16 +56,22 @@ dependencies:
|
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '12.3'
|
62
|
+
- - "<"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '14.0'
|
62
65
|
type: :runtime
|
63
66
|
prerelease: false
|
64
67
|
version_requirements: !ruby/object:Gem::Requirement
|
65
68
|
requirements:
|
66
|
-
- - "
|
69
|
+
- - ">="
|
67
70
|
- !ruby/object:Gem::Version
|
68
71
|
version: '12.3'
|
72
|
+
- - "<"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '14.0'
|
69
75
|
- !ruby/object:Gem::Dependency
|
70
76
|
name: yajl-ruby
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -119,12 +125,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
119
125
|
version: '2.5'
|
120
126
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
127
|
requirements:
|
122
|
-
- - "
|
128
|
+
- - ">="
|
123
129
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
130
|
+
version: '0'
|
125
131
|
requirements: []
|
126
|
-
|
127
|
-
rubygems_version: 2.7.6
|
132
|
+
rubygems_version: 3.0.8
|
128
133
|
signing_key:
|
129
134
|
specification_version: 4
|
130
135
|
summary: Because qurator sucks
|