flapjack 0.7.16 → 0.7.17

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.
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $: << File.dirname(__FILE__) + '/../lib' unless $:.include?(File.dirname(__FILE__) + '/../lib/')
4
+
5
+ require 'redis'
6
+
7
+ @dry_run = false
8
+
9
+ @redis = Redis.new(:db => 0)
10
+
11
+ state_lists = @redis.keys("*:*:states")
12
+
13
+ puts "#{state_lists.length} state lists found"
14
+
15
+ ts_deletions = 0
16
+ state_deletions = 0
17
+
18
+ state_lists.each {|state_list|
19
+ times = @redis.lrange(state_list, 0, -1)
20
+ key = state_list.sub(/:states$/, '')
21
+ #puts "--> #{key} - #{times.length} state changes"
22
+
23
+ last_timestamp = ''
24
+ last_state = ''
25
+ times.each {|ts|
26
+ t = Time.at(ts.to_i)
27
+ raise "Timestamps went backwards!" if ts.to_i < last_timestamp.to_i
28
+ state = @redis.get("#{key}:#{ts}:state")
29
+ delete_ts = (ts == last_timestamp) ? true : false
30
+ delete_ts_message = "DELETE_TS" if delete_ts
31
+ delete_state = (state == last_state) ? true : false
32
+ delete_state_message = "DELETE_STATE" if delete_state
33
+ puts "----> #{key} #{t} #{state} #{delete_ts_message} #{delete_state_message}" if delete_ts || delete_state
34
+ unless @dry_run
35
+ @redis.lrem("#{key}:states", 1, ts) if delete_ts
36
+ if delete_state
37
+ @redis.lrem("#{key}:states", 0, ts)
38
+ @redis.zrem("#{key}:sorted_state_timestamps", ts)
39
+ @redis.del("#{key}:#{ts}:state")
40
+ @redis.del("#{key}:#{ts}:summary")
41
+ @redis.del("#{key}:#{ts}:count")
42
+ @redis.del("#{key}:#{ts}:check_latency")
43
+ end
44
+ end
45
+ ts_deletions += 1 if delete_ts
46
+ state_deletions += 1 if delete_state
47
+ last_timestamp = ts
48
+ last_state = state
49
+ }
50
+ }
51
+
52
+ puts "Summary: #{ts_deletions} duplicate timestamp deletions deleted, #{state_deletions} duplicated states deleted"
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.7.16
4
+ version: 0.7.17
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-06-27 00:00:00.000000000 Z
14
+ date: 2013-07-04 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: dante
@@ -382,7 +382,6 @@ extra_rdoc_files: []
382
382
  files:
383
383
  - .gitignore
384
384
  - .gitmodules
385
- - .rbenv-version
386
385
  - .rspec
387
386
  - .travis.yml
388
387
  - CHANGELOG.md
@@ -447,8 +446,11 @@ files:
447
446
  - lib/flapjack/filters/scheduled_maintenance.rb
448
447
  - lib/flapjack/filters/unscheduled_maintenance.rb
449
448
  - lib/flapjack/gateways/api.rb
449
+ - lib/flapjack/gateways/api/contact_methods.rb
450
450
  - lib/flapjack/gateways/api/entity_check_presenter.rb
451
+ - lib/flapjack/gateways/api/entity_methods.rb
451
452
  - lib/flapjack/gateways/api/entity_presenter.rb
453
+ - lib/flapjack/gateways/api/rack/json_params_parser.rb
452
454
  - lib/flapjack/gateways/email.rb
453
455
  - lib/flapjack/gateways/email/alert.html.haml
454
456
  - lib/flapjack/gateways/email/alert.text.erb
@@ -500,7 +502,9 @@ files:
500
502
  - spec/lib/flapjack/filters/ok_spec.rb
501
503
  - spec/lib/flapjack/filters/scheduled_maintenance_spec.rb
502
504
  - spec/lib/flapjack/filters/unscheduled_maintenance_spec.rb
505
+ - spec/lib/flapjack/gateways/api/contact_methods_spec.rb
503
506
  - spec/lib/flapjack/gateways/api/entity_check_presenter_spec.rb
507
+ - spec/lib/flapjack/gateways/api/entity_methods_spec.rb
504
508
  - spec/lib/flapjack/gateways/api/entity_presenter_spec.rb
505
509
  - spec/lib/flapjack/gateways/api_spec.rb
506
510
  - spec/lib/flapjack/gateways/email_spec.rb
@@ -535,7 +539,7 @@ files:
535
539
  - tmp/generate_nagios_test_hosts.rb
536
540
  - tmp/notification_rules.rb
537
541
  - tmp/parse_config_yaml.rb
538
- - tmp/redis_delete_all_keys.rb
542
+ - tmp/redis_find_spurious_unknown_states.rb
539
543
  - tmp/test_entities.json
540
544
  - tmp/test_json_post.rb
541
545
  - tmp/test_notification_rules_api.rb
@@ -553,7 +557,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
553
557
  version: '0'
554
558
  segments:
555
559
  - 0
556
- hash: -2341530797246933358
560
+ hash: 4104603407459161527
557
561
  required_rubygems_version: !ruby/object:Gem::Requirement
558
562
  none: false
559
563
  requirements:
@@ -562,7 +566,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
562
566
  version: '0'
563
567
  segments:
564
568
  - 0
565
- hash: -2341530797246933358
569
+ hash: 4104603407459161527
566
570
  requirements: []
567
571
  rubyforge_project:
568
572
  rubygems_version: 1.8.23
@@ -599,7 +603,9 @@ test_files:
599
603
  - spec/lib/flapjack/filters/ok_spec.rb
600
604
  - spec/lib/flapjack/filters/scheduled_maintenance_spec.rb
601
605
  - spec/lib/flapjack/filters/unscheduled_maintenance_spec.rb
606
+ - spec/lib/flapjack/gateways/api/contact_methods_spec.rb
602
607
  - spec/lib/flapjack/gateways/api/entity_check_presenter_spec.rb
608
+ - spec/lib/flapjack/gateways/api/entity_methods_spec.rb
603
609
  - spec/lib/flapjack/gateways/api/entity_presenter_spec.rb
604
610
  - spec/lib/flapjack/gateways/api_spec.rb
605
611
  - spec/lib/flapjack/gateways/email_spec.rb
data/.rbenv-version DELETED
@@ -1 +0,0 @@
1
- 1.9.3-p125
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $: << File.dirname(__FILE__) + '/../lib' unless $:.include?(File.dirname(__FILE__) + '/../lib/')
4
-
5
- require 'redis'
6
-
7
- @persistence = Redis.new(:db => 13)
8
- keys = @persistence.keys '*'
9
- keys.each {|key|
10
- @persistence.del(key)
11
- }