big_brother 0.6.6 → 0.6.7

Sign up to get free protection for your applications and to get access to all the features.
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