big_brother 0.6.6 → 0.6.7

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b856ab843e24f29e97dd06e8d21fa12117d7f900
4
+ data.tar.gz: b04aa100eb3e5d45bf6a909e8896aa9c52ed22bd
5
+ SHA512:
6
+ metadata.gz: 633533430c239ce21904d1fffcf7cba12ba913b978dbad1fd56531dcef3b9fc4b576ff81e1d1b66e315be81a4b85d26b857d697c74a9f2d9e702a2f323eb539a
7
+ data.tar.gz: 3ba68bfb80913c9ca2df08e7eda22569575fc8f94c4cbdf0f163c2dbfaf8c710f0aa69867f5c37cee72db57a07ea61deb80e8e7c439ad661aa1cbec427f2cc4a
data/big_brother.gemspec CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = BigBrother::VERSION
17
17
 
18
- gem.add_dependency "thin", "~> 1.4.0"
18
+ gem.add_dependency "thin", "~> 1.6.1"
19
19
  gem.add_dependency "async-rack", "~> 0.5.1"
20
20
  gem.add_dependency "sinatra", "~> 1.0"
21
21
  gem.add_dependency "rack-fiber_pool", "~> 0.9"
@@ -10,6 +10,9 @@ module BigBrother
10
10
  end
11
11
 
12
12
  def config(new_clusters)
13
+ (@clusters.keys - new_clusters.keys).each do |removed_name|
14
+ @clusters.delete(removed_name).stop_monitoring!
15
+ end
13
16
  new_clusters.each do |cluster_name, cluster|
14
17
  if @clusters.key?(cluster_name)
15
18
  @clusters[cluster_name] = cluster.incorporate_state(@clusters[cluster_name])
@@ -1,3 +1,3 @@
1
1
  module BigBrother
2
- VERSION = "0.6.6"
2
+ VERSION = "0.6.7"
3
3
  end
@@ -27,6 +27,23 @@ describe BigBrother::ClusterCollection do
27
27
 
28
28
  collection.config({'existing_cluster' => cluster_from_config})
29
29
  end
30
+
31
+ it "stops and removes clusters not included in the next configuration" do
32
+ test2 = Factory.cluster(:name => 'test2', :fwmark => 102)
33
+ collection = BigBrother::ClusterCollection.new
34
+ collection.config({
35
+ 'test1' => Factory.cluster(:name => 'test1', :fwmark => 101),
36
+ 'test2' => test2,
37
+ 'test3' => Factory.cluster(:name => 'test3', :fwmark => 103)
38
+ })
39
+
40
+ test2.should_receive(:stop_monitoring!)
41
+ collection.config({
42
+ 'test1' => Factory.cluster(:name => 'test1', :fwmark => 101),
43
+ 'test3' => Factory.cluster(:name => 'test3', :fwmark => 103)
44
+ })
45
+ collection['test2'].should be_nil
46
+ end
30
47
  end
31
48
 
32
49
  describe "running" do
metadata CHANGED
@@ -1,170 +1,211 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: big_brother
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.6
5
- prerelease:
4
+ version: 0.6.7
6
5
  platform: ruby
7
6
  authors:
8
7
  - Braintree
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-11-09 00:00:00.000000000 Z
11
+ date: 2013-12-19 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: thin
16
- requirement: &70119942630060 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: 1.4.0
19
+ version: 1.6.1
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *70119942630060
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 1.6.1
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: async-rack
27
- requirement: &70119942629420 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ~>
31
32
  - !ruby/object:Gem::Version
32
33
  version: 0.5.1
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *70119942629420
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 0.5.1
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: sinatra
38
- requirement: &70119942628780 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
45
  - - ~>
42
46
  - !ruby/object:Gem::Version
43
47
  version: '1.0'
44
48
  type: :runtime
45
49
  prerelease: false
46
- version_requirements: *70119942628780
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: rack-fiber_pool
49
- requirement: &70119942644340 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
59
  - - ~>
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0.9'
55
62
  type: :runtime
56
63
  prerelease: false
57
- version_requirements: *70119942644340
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '0.9'
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: eventmachine
60
- requirement: &70119942643460 !ruby/object:Gem::Requirement
61
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
62
72
  requirements:
63
73
  - - ~>
64
74
  - !ruby/object:Gem::Version
65
75
  version: 1.0.0
66
76
  type: :runtime
67
77
  prerelease: false
68
- version_requirements: *70119942643460
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 1.0.0
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: em-http-request
71
- requirement: &70119942642500 !ruby/object:Gem::Requirement
72
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
73
86
  requirements:
74
87
  - - ~>
75
88
  - !ruby/object:Gem::Version
76
89
  version: '1.0'
77
90
  type: :runtime
78
91
  prerelease: false
79
- version_requirements: *70119942642500
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '1.0'
80
97
  - !ruby/object:Gem::Dependency
81
98
  name: em-synchrony
82
- requirement: &70119942641920 !ruby/object:Gem::Requirement
83
- none: false
99
+ requirement: !ruby/object:Gem::Requirement
84
100
  requirements:
85
101
  - - ~>
86
102
  - !ruby/object:Gem::Version
87
103
  version: '1.0'
88
104
  type: :runtime
89
105
  prerelease: false
90
- version_requirements: *70119942641920
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '1.0'
91
111
  - !ruby/object:Gem::Dependency
92
112
  name: em-resolv-replace
93
- requirement: &70119942641280 !ruby/object:Gem::Requirement
94
- none: false
113
+ requirement: !ruby/object:Gem::Requirement
95
114
  requirements:
96
115
  - - ~>
97
116
  - !ruby/object:Gem::Version
98
117
  version: '1.1'
99
118
  type: :runtime
100
119
  prerelease: false
101
- version_requirements: *70119942641280
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: '1.1'
102
125
  - !ruby/object:Gem::Dependency
103
126
  name: em-syslog
104
- requirement: &70119942640640 !ruby/object:Gem::Requirement
105
- none: false
127
+ requirement: !ruby/object:Gem::Requirement
106
128
  requirements:
107
129
  - - ~>
108
130
  - !ruby/object:Gem::Version
109
131
  version: 0.0.2
110
132
  type: :runtime
111
133
  prerelease: false
112
- version_requirements: *70119942640640
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ~>
137
+ - !ruby/object:Gem::Version
138
+ version: 0.0.2
113
139
  - !ruby/object:Gem::Dependency
114
140
  name: rspec
115
- requirement: &70119942640060 !ruby/object:Gem::Requirement
116
- none: false
141
+ requirement: !ruby/object:Gem::Requirement
117
142
  requirements:
118
143
  - - ~>
119
144
  - !ruby/object:Gem::Version
120
145
  version: 2.9.0
121
146
  type: :development
122
147
  prerelease: false
123
- version_requirements: *70119942640060
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ~>
151
+ - !ruby/object:Gem::Version
152
+ version: 2.9.0
124
153
  - !ruby/object:Gem::Dependency
125
154
  name: rack-test
126
- requirement: &70119942639380 !ruby/object:Gem::Requirement
127
- none: false
155
+ requirement: !ruby/object:Gem::Requirement
128
156
  requirements:
129
157
  - - ~>
130
158
  - !ruby/object:Gem::Version
131
159
  version: 0.6.1
132
160
  type: :development
133
161
  prerelease: false
134
- version_requirements: *70119942639380
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ~>
165
+ - !ruby/object:Gem::Version
166
+ version: 0.6.1
135
167
  - !ruby/object:Gem::Dependency
136
168
  name: rake
137
- requirement: &70119942638180 !ruby/object:Gem::Requirement
138
- none: false
169
+ requirement: !ruby/object:Gem::Requirement
139
170
  requirements:
140
171
  - - ! '>='
141
172
  - !ruby/object:Gem::Version
142
173
  version: '0'
143
174
  type: :development
144
175
  prerelease: false
145
- version_requirements: *70119942638180
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ! '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
146
181
  - !ruby/object:Gem::Dependency
147
182
  name: rake_commit
148
- requirement: &70119942659200 !ruby/object:Gem::Requirement
149
- none: false
183
+ requirement: !ruby/object:Gem::Requirement
150
184
  requirements:
151
185
  - - ~>
152
186
  - !ruby/object:Gem::Version
153
187
  version: '0.13'
154
188
  type: :development
155
189
  prerelease: false
156
- version_requirements: *70119942659200
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ~>
193
+ - !ruby/object:Gem::Version
194
+ version: '0.13'
157
195
  - !ruby/object:Gem::Dependency
158
196
  name: vagrant
159
- requirement: &70119942657520 !ruby/object:Gem::Requirement
160
- none: false
197
+ requirement: !ruby/object:Gem::Requirement
161
198
  requirements:
162
199
  - - ! '>='
163
200
  - !ruby/object:Gem::Version
164
201
  version: '0'
165
202
  type: :development
166
203
  prerelease: false
167
- version_requirements: *70119942657520
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ! '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
168
209
  description: IPVS backend supervisor
169
210
  email:
170
211
  - code@getbraintree.com
@@ -227,27 +268,26 @@ files:
227
268
  - spec/support/stub_server.rb
228
269
  homepage: https://github.com/braintree/big_brother
229
270
  licenses: []
271
+ metadata: {}
230
272
  post_install_message:
231
273
  rdoc_options: []
232
274
  require_paths:
233
275
  - lib
234
276
  required_ruby_version: !ruby/object:Gem::Requirement
235
- none: false
236
277
  requirements:
237
278
  - - ! '>='
238
279
  - !ruby/object:Gem::Version
239
280
  version: '0'
240
281
  required_rubygems_version: !ruby/object:Gem::Requirement
241
- none: false
242
282
  requirements:
243
283
  - - ! '>='
244
284
  - !ruby/object:Gem::Version
245
285
  version: '0'
246
286
  requirements: []
247
287
  rubyforge_project:
248
- rubygems_version: 1.8.10
288
+ rubygems_version: 2.1.9
249
289
  signing_key:
250
- specification_version: 3
290
+ specification_version: 4
251
291
  summary: Process to monitor and update weights for servers in an IPVS pool
252
292
  test_files:
253
293
  - spec/big_brother/app_spec.rb