Module: Utils
Overview
Constant Summary
Constants included
from Logging
Logging::SEVERITY_COLORS
Instance Method Summary
collapse
Methods included from Logging
configure_logger_for, #log, log_level, logger_for
Instance Method Details
#already?(response, state) ⇒ Boolean
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# File 'lib/elastic_manager/utils.rb', line 69
def already?(response, state)
if %w[open close].include?(state)
index = json_parse(response).first
if index['status'] == state
log.warn "#{index['index']} index status already #{state}"
return true
end
elsif %w[hot warm].include?(state)
index = json_parse(response).first['index']
box_type = @elastic.index_box_type(index)
if box_type.nil?
log.info "can't get box_type, look at the previous error for info, will skip #{index}"
return true
end
if box_type == state
log.warn "#{index['index']} index already #{state}"
return true
end
else
log.fatal "wrong state for check #{state}, bad coder"
exit 1
end
false
end
|
#elastic_action_with_log(action, index, *params) ⇒ Object
97
98
99
100
101
102
103
104
105
106
|
# File 'lib/elastic_manager/utils.rb', line 97
def elastic_action_with_log(action, index, *params)
if @elastic.send(action, index, *params)
log.info "#{index} #{action} succes"
else
log.error "#{index} #{action} fail"
return false
end
true
end
|
#fail_and_exit(text) ⇒ Object
21
22
23
24
|
# File 'lib/elastic_manager/utils.rb', line 21
def fail_and_exit(text)
log.fatal text
exit 1
end
|
#index_exist?(response) ⇒ Boolean
108
109
110
111
112
113
114
115
116
117
|
# File 'lib/elastic_manager/utils.rb', line 108
def index_exist?(response)
if response.code == 200
true
elsif response.code == 404
false
else
log.fatal "wtf in index_exist? response was: #{response.code} - #{response}"
exit 1
end
end
|
#json_parse(string) ⇒ Object
14
15
16
17
18
19
|
# File 'lib/elastic_manager/utils.rb', line 14
def json_parse(string)
JSON.parse(string)
rescue JSON::ParserError => e
log.fatal "json parse err: '''#{e.message}'''\n\t#{e.backtrace.join("\n\t")}"
exit 1
end
|
#make_index_name(index) ⇒ Object
26
27
28
|
# File 'lib/elastic_manager/utils.rb', line 26
def make_index_name(index)
index.split('-')[0..-2].join('-')
end
|
#prechecks(date_from, date_to) ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/elastic_manager/utils.rb', line 55
def prechecks(date_from, date_to)
unless date_from.nil?
if date_from > date_to
log.fatal "wrong dates: date to is behind date from. from: #{date_from}, to: #{date_to}"
exit 1
end
end
return if true?(@config['force'])
return if @elastic.green?
fail_and_exit("elasticsearch on #{@config['es']['url']} is not green")
end
|
#prepare_vars ⇒ Object
46
47
48
49
50
51
52
53
|
# File 'lib/elastic_manager/utils.rb', line 46
def prepare_vars
indices = @config['indices'].split(',').map(&:strip)
daysago = @config['daysago']
date_from = @config['from']
date_to = @config['to']
[indices, date_from, date_to, daysago]
end
|
#skip_index?(index, state) ⇒ Boolean
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/elastic_manager/utils.rb', line 30
def skip_index?(index, state)
index_name = make_index_name(index)
if @config['settings']['indices'][index_name] &&
@config['settings']['indices'][index_name]['skip'] &&
@config['settings']['indices'][index_name]['skip'][state]
if true?(@config['settings']['indices'][index_name]['skip'][state])
log.warn "#{index_name} index #{state} skiped due settings"
return true
end
end
false
end
|
#true?(obj) ⇒ Boolean
10
11
12
|
# File 'lib/elastic_manager/utils.rb', line 10
def true?(obj)
obj.to_s.casecmp('true').zero?
end
|