flapjack 0.9.2 → 0.9.3

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: 9aed6403dfdbf11787e5b39b0224f04c00294b8c
4
- data.tar.gz: 2220ec7584002c684b8b6fdb26c843bb580486d4
3
+ metadata.gz: 0d000bd7c6fe6166ad1c537c91fe4c53ddc85d9b
4
+ data.tar.gz: 678ebf7c7d42fbe6041d28df1748c8e607674d0a
5
5
  SHA512:
6
- metadata.gz: 729f88348650bbcbf3f8eb7787a177d22dad350e17fc89333e166c057b57425062fecbe336754b0acb755b61946520900ecb21c003795b40097adbd0eaffe2b6
7
- data.tar.gz: f9925153a749408ebd31304306835d821e9367df09cda4c5067b5bb5ff70b3b29d7cd4e5b07b4d4fde9abb4d3e93adc2f5d5c2667686174df75f9d756164a982
6
+ metadata.gz: a0b577918c1f294d4c7619e5e97f025cd8b5d9bf7e1b144efdcedfc58f0d05e188a8394cd9b51b334e82cf5ff7a508ff20316a02c26e60b140426b3ef633d804
7
+ data.tar.gz: 5acab492158136c9a110435c53c07480b8ea390beaea33ae31336b397611e0f576f270940639f9737907dd90e7261f6484a9629681303f111f1e448bf2540f83
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## Flapjack Changelog
2
2
 
3
+ # 0.9.3 - 2014-07-28
4
+ - Bug: fix outage reports in jsonapi c8e09f7 (@ali-graham)
5
+ - Bug: fix maintenance reports in jsonapi 234ce48 (@ali-graham)
6
+ - Bug: simplify checks reports in jsonapi 3eda22e (@ali-graham)
7
+
3
8
  # 0.9.2 - 2014-07-17
4
9
  - Feature: Add ability to disable check via JSON API #529 (@ali-graham)
5
10
  - Feature: Jabber - Resource in JID should be supported in the config #557 (@jessereynolds)
@@ -97,8 +97,8 @@ production:
97
97
  syslog_errors: yes
98
98
  # location of custom alert templates
99
99
  #templates:
100
- # rollup.text: '/etc/flapjack/templates/jabber/rollup.text.erb'
101
- # alert.text: '/etc/flapjack/templates/jabber/alert.text.erb'
100
+ # rollup.text: '/etc/flapjack/templates/jabber/rollup.text.erb'
101
+ # alert.text: '/etc/flapjack/templates/jabber/alert.text.erb'
102
102
  pagerduty:
103
103
  enabled: no
104
104
  queue: pagerduty_notifications
@@ -107,7 +107,7 @@ production:
107
107
  syslog_errors: yes
108
108
  # location of custom alert templates
109
109
  #templates:
110
- # alert.text: '/etc/flapjack/templates/pagerduty/alert.text.erb'
110
+ # alert.text: '/etc/flapjack/templates/pagerduty/alert.text.erb'
111
111
  web:
112
112
  enabled: yes
113
113
  port: 3080
@@ -245,8 +245,8 @@ development:
245
245
  syslog_errors: yes
246
246
  # location of custom alert templates
247
247
  #templates:
248
- # rollup.text: '/etc/flapjack/templates/jabber/rollup.text.erb'
249
- # alert.text: '/etc/flapjack/templates/jabber/alert.text.erb'
248
+ # rollup.text: '/etc/flapjack/templates/jabber/rollup.text.erb'
249
+ # alert.text: '/etc/flapjack/templates/jabber/alert.text.erb'
250
250
  pagerduty:
251
251
  enabled: no
252
252
  queue: pagerduty_notifications
@@ -255,12 +255,14 @@ development:
255
255
  syslog_errors: yes
256
256
  # location of custom alert templates
257
257
  #templates:
258
- # alert.text: '/etc/flapjack/templates/pagerduty/alert.text.erb'
258
+ # alert.text: '/etc/flapjack/templates/pagerduty/alert.text.erb'
259
259
  web:
260
260
  enabled: yes
261
261
  port: 4080
262
262
  timeout: 300
263
263
  access_log: "log/web_access.log"
264
+ api_url: "http://localhost:4082/"
265
+ base_url: "/"
264
266
  logger:
265
267
  level: INFO
266
268
  syslog_errors: yes
@@ -272,6 +274,15 @@ development:
272
274
  logger:
273
275
  level: INFO
274
276
  syslog_errors: yes
277
+ jsonapi:
278
+ enabled: yes
279
+ port: 4082
280
+ timeout: 300
281
+ access_log: "log/jsonapi_access.log"
282
+ base_url: "http://localhost:4082/"
283
+ logger:
284
+ level: INFO
285
+ syslog_errors: yes
275
286
  oobetet:
276
287
  enabled: no
277
288
  server: "jabber.example.com"
@@ -81,7 +81,7 @@ module Flapjack
81
81
  }
82
82
  end
83
83
 
84
- result
84
+ {:outages => result}
85
85
  end
86
86
 
87
87
  def unscheduled_maintenance(start_time, end_time)
@@ -96,7 +96,7 @@ module Flapjack
96
96
  pu[:end_time] >= start_time
97
97
  }
98
98
 
99
- start_in_unsched + unsched_maintenance
99
+ {:unscheduled_maintenances => (start_in_unsched + unsched_maintenance)}
100
100
  end
101
101
 
102
102
  def scheduled_maintenance(start_time, end_time)
@@ -111,7 +111,7 @@ module Flapjack
111
111
  ps[:end_time] >= start_time
112
112
  }
113
113
 
114
- start_in_sched + sched_maintenance
114
+ {:scheduled_maintenances => (start_in_sched + sched_maintenance)}
115
115
  end
116
116
 
117
117
  # TODO test whether the below overlapping logic is prone to off-by-one
@@ -120,9 +120,7 @@ module Flapjack
120
120
  #
121
121
  # TODO test performance with larger data sets
122
122
  def downtime(start_time, end_time)
123
- sched_maintenances = scheduled_maintenance(start_time, end_time)
124
-
125
- outs = outage(start_time, end_time)
123
+ outs = outage(start_time, end_time)[:outages]
126
124
 
127
125
  total_secs = {}
128
126
  percentages = {}
@@ -139,6 +137,8 @@ module Flapjack
139
137
  # We then create two new outage periods to cover the time around
140
138
  # the scheduled maintenance period, and remove the original.
141
139
 
140
+ sched_maintenances = scheduled_maintenance(start_time, end_time)[:scheduled_maintenances]
141
+
142
142
  sched_maintenances.each do |sm|
143
143
 
144
144
  split_outs = []
@@ -27,11 +27,9 @@ module Flapjack
27
27
  end
28
28
 
29
29
  checks = if event_ids.nil?
30
- Flapjack::Data::Entity.all(:redis => redis).collect {|entity|
31
- entity.check_list.collect {|check_name|
32
- find_entity_check(entity, check_name)
33
- }
34
- }.flatten(2)
30
+ Flapjack::Data::EntityCheck.find_all(:redis => redis).collect {|check_name|
31
+ find_entity_check_by_name(*check_name.split(':', 2))
32
+ }
35
33
  elsif !event_ids.empty?
36
34
  event_ids.collect {|event_id| find_entity_check_by_name(*event_id.split(':', 2)) }
37
35
  else
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  module Flapjack
4
- VERSION = "0.9.2"
4
+ VERSION = "0.9.3"
5
5
  end
6
6
 
@@ -47,8 +47,10 @@ describe 'Flapjack::Gateways::JSONAPI::CheckPresenter' do
47
47
  ecp = Flapjack::Gateways::JSONAPI::CheckPresenter.new(entity_check)
48
48
  outages = ecp.outage(time - (5 * 60 * 60), time - (2 * 60 * 60))
49
49
  expect(outages).not_to be_nil
50
- expect(outages).to be_an(Array)
51
- expect(outages.size).to eq(4)
50
+ expect(outages).to be_a(Hash)
51
+ expect(outages).to have_key(:outages)
52
+ expect(outages[:outages]).to be_an(Array)
53
+ expect(outages[:outages].size).to eq(4)
52
54
 
53
55
  # TODO check the data in those hashes
54
56
  end
@@ -63,8 +65,10 @@ describe 'Flapjack::Gateways::JSONAPI::CheckPresenter' do
63
65
  ecp = Flapjack::Gateways::JSONAPI::CheckPresenter.new(entity_check)
64
66
  outages = ecp.outage(nil, nil)
65
67
  expect(outages).not_to be_nil
66
- expect(outages).to be_an(Array)
67
- expect(outages.size).to eq(4)
68
+ expect(outages).to be_a(Hash)
69
+ expect(outages).to have_key(:outages)
70
+ expect(outages[:outages]).to be_an(Array)
71
+ expect(outages[:outages].size).to eq(4)
68
72
 
69
73
  # TODO check the data in those hashes
70
74
  end
@@ -82,8 +86,10 @@ describe 'Flapjack::Gateways::JSONAPI::CheckPresenter' do
82
86
  ecp = Flapjack::Gateways::JSONAPI::CheckPresenter.new(entity_check)
83
87
  outages = ecp.outage(nil, nil)
84
88
  expect(outages).not_to be_nil
85
- expect(outages).to be_an(Array)
86
- expect(outages.size).to eq(3)
89
+ expect(outages).to be_a(Hash)
90
+ expect(outages).to have_key(:outages)
91
+ expect(outages[:outages]).to be_an(Array)
92
+ expect(outages[:outages].size).to eq(3)
87
93
  end
88
94
 
89
95
  it "returns a (small) outage hash for a single state change" do
@@ -95,8 +101,10 @@ describe 'Flapjack::Gateways::JSONAPI::CheckPresenter' do
95
101
  ecp = Flapjack::Gateways::JSONAPI::CheckPresenter.new(entity_check)
96
102
  outages = ecp.outage(nil, nil)
97
103
  expect(outages).not_to be_nil
98
- expect(outages).to be_an(Array)
99
- expect(outages.size).to eq(1)
104
+ expect(outages).to be_a(Hash)
105
+ expect(outages).to have_key(:outages)
106
+ expect(outages[:outages]).to be_an(Array)
107
+ expect(outages[:outages].size).to eq(1)
100
108
  end
101
109
 
102
110
  it "a list of unscheduled maintenances for an entity check" do
@@ -109,8 +117,10 @@ describe 'Flapjack::Gateways::JSONAPI::CheckPresenter' do
109
117
  ecp = Flapjack::Gateways::JSONAPI::CheckPresenter.new(entity_check)
110
118
  unsched_maint = ecp.unscheduled_maintenance(time - (12 * 60 * 60), time)
111
119
 
112
- expect(unsched_maint).to be_an(Array)
113
- expect(unsched_maint.size).to eq(4)
120
+ expect(unsched_maint).to be_a(Hash)
121
+ expect(unsched_maint).to have_key(:unscheduled_maintenances)
122
+ expect(unsched_maint[:unscheduled_maintenances]).to be_an(Array)
123
+ expect(unsched_maint[:unscheduled_maintenances].size).to eq(4)
114
124
 
115
125
  # TODO check the data in those hashes
116
126
  end
@@ -125,8 +135,10 @@ describe 'Flapjack::Gateways::JSONAPI::CheckPresenter' do
125
135
  ecp = Flapjack::Gateways::JSONAPI::CheckPresenter.new(entity_check)
126
136
  sched_maint = ecp.scheduled_maintenance(time - (12 * 60 * 60), time)
127
137
 
128
- expect(sched_maint).to be_an(Array)
129
- expect(sched_maint.size).to eq(4)
138
+ expect(sched_maint).to be_a(Hash)
139
+ expect(sched_maint).to have_key(:scheduled_maintenances)
140
+ expect(sched_maint[:scheduled_maintenances]).to be_an(Array)
141
+ expect(sched_maint[:scheduled_maintenances].size).to eq(4)
130
142
 
131
143
  # TODO check the data in those hashes
132
144
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flapjack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lindsay Holmwood
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-07-17 00:00:00.000000000 Z
13
+ date: 2014-07-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: dante