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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec41fced45b38e020e1b6f3a7638fd1c5bf0b80682693dc00b65475a8fa1bbaf
4
- data.tar.gz: 62944e0f8e45f9e710801ac8010618768e981043b22b0befa1f602562186d77b
3
+ metadata.gz: ffcaae6ee72e9ce144b6a0ca63025ebceb51150d610251d67c39b5831e011481
4
+ data.tar.gz: 2d041661f09472f2d32120b6857b8dfd7fb152bc8f01f9050652129479f91ca6
5
5
  SHA512:
6
- metadata.gz: 56c307867b61896221f8ed1cca2accfa21cfc3b9ae36efa07ccb776380b241957d0902e51864a6c6349dce23cb28fc91ae2952ec1776c50bd948cb48df43c017
7
- data.tar.gz: 71a190f059d869363a3f39355efbabbb699aae23825ac69e8825605971738c78cd55dd10c802e81c91e38efd81bc4e750e528a675632dd97b1ace2fbc3ec43a2
6
+ metadata.gz: 1bd28d542f0f5a013c4ac450b583cdc56235a938644645ae7c7e4f8663d7d2e443c0638e9f64c460fc938478a76efb722ae2003f9c6fe75281ee473f690a71b4
7
+ data.tar.gz: d8007d13dc73f4fc61c42776f984ad67549a2101433f0778102df79778bf4e1bd7ed23986abc96be76718a3858698d2358349826438c19bb946d2d79c969e910
@@ -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.1-debug'
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', '~> 12.3'
20
+ s.add_dependency 'rake', '>= 12.3', '< 14.0'
21
21
  s.add_dependency 'yajl-ruby', '~> 1.4'
22
22
  end
@@ -29,7 +29,7 @@ module Config
29
29
 
30
30
  default['es']['url'] = 'http://127.0.0.1:9200'
31
31
  default['retry'] = '10'
32
- default['sleep'] = '60'
32
+ default['sleep'] = '30'
33
33
  default['force'] = 'false'
34
34
  default['timeout']['write'] = '2'
35
35
  default['timeout']['connect'] = '3'
@@ -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.delete('-'))
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
- @config['settings']['indices']['_all']['delete_without_snapshot']
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
- # 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
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.1.pre.debug
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: 1.3.1
130
+ version: '0'
125
131
  requirements: []
126
- rubyforge_project:
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