flapjack 0.9.2 → 0.9.3

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: 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