big_brother 0.6.8 → 0.8.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.
@@ -0,0 +1,172 @@
1
+ require 'spec_helper'
2
+
3
+ describe BigBrother::ActivePassiveCluster do
4
+ describe "#start_monitoring!" do
5
+ it "starts only the node with the least priority in IPVS" do
6
+ cluster = Factory.active_passive_cluster(
7
+ :fwmark => 100,
8
+ :scheduler => 'wrr',
9
+ :nodes => [
10
+ Factory.node(:priority => 0, :address => "127.0.0.1"),
11
+ Factory.node(:priority => 1, :address => "127.0.0.2"),
12
+ ],
13
+ )
14
+
15
+ cluster.start_monitoring!
16
+ @stub_executor.commands.should include('ipvsadm --add-server --fwmark-service 100 --real-server 127.0.0.1 --ipip --weight 1')
17
+ @stub_executor.commands.should_not include('ipvsadm --add-server --fwmark-service 100 --real-server 127.0.0.2 --ipip --weight 1')
18
+ end
19
+
20
+ it "monitors a node before adding it to ipvs" do
21
+ cluster = Factory.active_passive_cluster(
22
+ :fwmark => 100,
23
+ :scheduler => 'wrr',
24
+ :nodes => [
25
+ Factory.node(:priority => 0, :address => "127.0.0.1"),
26
+ Factory.node(:priority => 1, :address => "127.0.0.2"),
27
+ ],
28
+ )
29
+
30
+ cluster.start_monitoring!
31
+ @stub_executor.commands.last.should == "ipvsadm --add-server --fwmark-service 100 --real-server 127.0.0.1 --ipip --weight 1"
32
+ end
33
+ end
34
+
35
+ describe "#monitor_nodes" do
36
+ it "edit node weight changes in ipvs when the active node is not down" do
37
+ node1 = Factory.node(:priority => 0, :address => "127.0.0.1", :weight => 90)
38
+ node3 = Factory.node(:priority => 2, :address => "127.0.0.3", :weight => 88)
39
+ node2 = Factory.node(:priority => 1, :address => "127.0.0.2", :weight => 87)
40
+ cluster = Factory.active_passive_cluster(:nodes => [node1, node2, node3], :fwmark => 1)
41
+ node1.stub(:monitor).and_return(93)
42
+ node2.stub(:monitor).and_return(92)
43
+ node3.stub(:monitor).and_return(90)
44
+
45
+ cluster.monitor_nodes
46
+
47
+ cluster.active_node
48
+ cluster.active_node.address.should == "127.0.0.1"
49
+ @stub_executor.commands.should include("ipvsadm --edit-server --fwmark-service 1 --real-server 127.0.0.1 --ipip --weight 93")
50
+ node1.weight.should == 93
51
+ end
52
+
53
+ it "replaces active node in ipvs with new weight when the active node is down" do
54
+ node1 = Factory.node(:priority => 0, :address => "127.0.0.1", :weight => 90)
55
+ node3 = Factory.node(:priority => 2, :address => "127.0.0.3", :weight => 88)
56
+ node2 = Factory.node(:priority => 1, :address => "127.0.1.1", :weight => 87)
57
+ cluster = Factory.active_passive_cluster(:nodes => [node1, node2, node3], :fwmark => 1)
58
+ node1.stub(:monitor).and_return(0)
59
+ node2.stub(:monitor).and_return(92)
60
+ node3.stub(:monitor).and_return(90)
61
+
62
+ cluster.monitor_nodes
63
+
64
+ cluster.monitor_nodes
65
+
66
+ cluster.active_node
67
+ cluster.active_node.address.should == "127.0.1.1"
68
+ @stub_executor.commands.should include("ipvsadm --delete-server --fwmark-service 1 --real-server 127.0.0.1")
69
+ @stub_executor.commands.should include("ipvsadm --add-server --fwmark-service 1 --real-server 127.0.1.1 --ipip --weight 92")
70
+ end
71
+
72
+ it "replaces the unhealthy least priority node with the next priority node" do
73
+ node1 = Factory.node(:priority => 0, :address => "127.0.0.1", :weight => 90)
74
+ node3 = Factory.node(:priority => 2, :address => "127.0.0.3", :weight => 88)
75
+ node2 = Factory.node(:priority => 1, :address => "127.0.0.2", :weight => 87)
76
+ cluster = Factory.active_passive_cluster(:nodes => [node1, node2, node3], :fwmark => 1)
77
+ node1.stub(:monitor).and_return(0)
78
+ node2.stub(:monitor).and_return(92)
79
+ node3.stub(:monitor).and_return(90)
80
+
81
+ cluster.monitor_nodes
82
+
83
+ cluster.active_node
84
+ cluster.active_node.address.should == "127.0.0.2"
85
+ end
86
+
87
+ it "sets the weight of the current_active_node to 0 in ipvs if all nodes are down" do
88
+ node1 = Factory.node(:priority => 0, :address => "127.0.0.1", :weight => 90)
89
+ node3 = Factory.node(:priority => 2, :address => "127.0.0.3", :weight => 88)
90
+ node2 = Factory.node(:priority => 1, :address => "127.0.0.2", :weight => 87)
91
+ cluster = Factory.active_passive_cluster(:nodes => [node1, node2, node3], :fwmark => 1)
92
+ node1.stub(:monitor).and_return(0)
93
+ node2.stub(:monitor).and_return(0)
94
+ node3.stub(:monitor).and_return(0)
95
+
96
+ cluster.monitor_nodes
97
+
98
+ cluster.active_node
99
+ cluster.active_node.address.should == "127.0.0.1"
100
+ @stub_executor.commands.should include("ipvsadm --edit-server --fwmark-service 1 --real-server 127.0.0.1 --ipip --weight 0")
101
+ end
102
+ end
103
+
104
+ describe "#resume_monitoring!" do
105
+ it "marks the cluster as monitored" do
106
+ cluster = Factory.cluster
107
+
108
+ cluster.monitored?.should be_false
109
+ cluster.resume_monitoring!
110
+ cluster.monitored?.should be_true
111
+ end
112
+ end
113
+
114
+ describe "synchronize!" do
115
+ it "continues to monitor clusters that were already monitored" do
116
+ BigBrother.ipvs.stub(:running_configuration).and_return({})
117
+ cluster = Factory.cluster(:fwmark => 1)
118
+
119
+ cluster.synchronize!
120
+
121
+ cluster.should_not be_monitored
122
+ end
123
+
124
+ it "removes current active node if its priority is no longer the least priority" do
125
+ BigBrother.ipvs.stub(:running_configuration).and_return({'1' => ['127.0.1.1']})
126
+ cluster = Factory.active_passive_cluster(
127
+ :fwmark => 1,
128
+ :nodes => [
129
+ Factory.node(:address => '127.0.1.1', :priority => 8, :weight => 55),
130
+ Factory.node(:address => '127.0.0.1', :priority => 3, :weight => 75),
131
+ ],
132
+ )
133
+
134
+ cluster.synchronize!
135
+
136
+ @stub_executor.commands.should include("ipvsadm --delete-server --fwmark-service 1 --real-server 127.0.1.1")
137
+ @stub_executor.commands.should include("ipvsadm --add-server --fwmark-service 1 --real-server 127.0.0.1 --ipip --weight 75")
138
+ end
139
+
140
+ it "removes current active node if the node no longer exist" do
141
+ BigBrother.ipvs.stub(:running_configuration).and_return({'1' => ['127.0.1.1']})
142
+ cluster = Factory.active_passive_cluster(
143
+ :fwmark => 1,
144
+ :nodes => [
145
+ Factory.node(:address => '127.0.1.2', :priority => 2, :weight => 45),
146
+ Factory.node(:address => '127.0.0.1', :priority => 3, :weight => 55),
147
+ ],
148
+ )
149
+
150
+ cluster.synchronize!
151
+
152
+ @stub_executor.commands.should include("ipvsadm --delete-server --fwmark-service 1 --real-server 127.0.1.1")
153
+ @stub_executor.commands.should include("ipvsadm --add-server --fwmark-service 1 --real-server 127.0.1.2 --ipip --weight 45")
154
+ end
155
+
156
+ it "does not remove current active node if it has the least priority" do
157
+ BigBrother.ipvs.stub(:running_configuration).and_return({'1' => ['127.0.1.1']})
158
+ cluster = Factory.active_passive_cluster(
159
+ :fwmark => 1,
160
+ :nodes => [
161
+ Factory.node(:address => '127.0.1.1', :priority => 0),
162
+ Factory.node(:address => '127.0.0.1', :priority => 1),
163
+ ],
164
+ )
165
+
166
+ cluster.synchronize!
167
+
168
+ @stub_executor.commands.should be_empty
169
+ cluster.active_node.address.should == '127.0.1.1'
170
+ end
171
+ end
172
+ end
@@ -8,6 +8,7 @@ module BigBrother
8
8
 
9
9
  describe "/" do
10
10
  it "returns the list of configured clusters and their status" do
11
+ BigBrother::HealthFetcher.stub(:current_health).and_return(99)
11
12
  BigBrother.clusters['one'] = Factory.cluster(:name => 'one', :fwmark => 1)
12
13
  BigBrother.clusters['two'] = Factory.cluster(:name => 'two', :fwmark => 2)
13
14
  BigBrother.clusters['three'] = Factory.cluster(
@@ -41,9 +42,9 @@ module BigBrother
41
42
  BigBrother.clusters['test'] = Factory.cluster(
42
43
  :name => 'test',
43
44
  :nodes => [
44
- Factory.node(:weight => 10),
45
- Factory.node(:weight => 20),
46
- Factory.node(:weight => 30)
45
+ Factory.node,
46
+ Factory.node,
47
+ Factory.node,
47
48
  ]
48
49
  )
49
50
 
@@ -53,7 +54,7 @@ module BigBrother
53
54
  last_response.status.should == 200
54
55
  last_response.body.should == <<-RESPONSE_BODY
55
56
  Running: true
56
- CombinedWeight: 60
57
+ CombinedWeight: 300
57
58
  RESPONSE_BODY
58
59
  end
59
60
 
@@ -95,9 +96,9 @@ CombinedWeight: 60
95
96
  BigBrother.clusters['test'] = Factory.cluster(
96
97
  :name => 'test',
97
98
  :nodes => [
98
- Factory.node(:weight => 10),
99
- Factory.node(:weight => 20),
100
- Factory.node(:weight => 30)
99
+ Factory.node,
100
+ Factory.node,
101
+ Factory.node,
101
102
  ]
102
103
  )
103
104
 
@@ -107,7 +108,7 @@ CombinedWeight: 60
107
108
  last_response.status.should == 200
108
109
  last_response.body.should == <<-RESPONSE_BODY
109
110
  Running: true
110
- CombinedWeight: 60
111
+ CombinedWeight: 300
111
112
  RESPONSE_BODY
112
113
  end
113
114
 
@@ -169,8 +170,8 @@ CombinedWeight: 60
169
170
  last_response.body.should == "OK"
170
171
  BigBrother.clusters['test'].should be_monitored
171
172
  @stub_executor.commands.should include("ipvsadm --add-service --fwmark-service 100 --scheduler wrr")
172
- @stub_executor.commands.should include("ipvsadm --add-server --fwmark-service 100 --real-server 127.0.0.1 --ipip --weight 100")
173
- @stub_executor.commands.should include("ipvsadm --add-server --fwmark-service 100 --real-server 127.0.0.2 --ipip --weight 100")
173
+ @stub_executor.commands.should include("ipvsadm --add-server --fwmark-service 100 --real-server 127.0.0.1 --ipip --weight 1")
174
+ @stub_executor.commands.should include("ipvsadm --add-server --fwmark-service 100 --real-server 127.0.0.2 --ipip --weight 1")
174
175
  end
175
176
 
176
177
  it "attempts to synchronize the nodes in the cluster" do
@@ -191,13 +192,14 @@ CombinedWeight: 60
191
192
  last_response.status.should == 304
192
193
  last_response.body.should == ""
193
194
  BigBrother.clusters['test'].should be_monitored
194
- @stub_executor.commands.should include("ipvsadm --add-server --fwmark-service 100 --real-server 127.0.1.225 --ipip --weight 100")
195
+ @stub_executor.commands.should include("ipvsadm --add-server --fwmark-service 100 --real-server 127.0.1.225 --ipip --weight 0")
195
196
  @stub_executor.commands.should include("ipvsadm --delete-server --fwmark-service 100 --real-server 127.0.1.224")
196
197
  end
197
198
  end
198
199
 
199
200
  describe "DELETE /cluster/:name" do
200
201
  it "marks the cluster as no longer monitored" do
202
+ BigBrother::HealthFetcher.stub(:current_health)
201
203
  BigBrother.clusters['test'] = Factory.cluster(:name => 'test')
202
204
  BigBrother.clusters['test'].start_monitoring!
203
205
 
@@ -28,6 +28,30 @@ describe BigBrother::ClusterCollection do
28
28
  collection.config({'existing_cluster' => cluster_from_config})
29
29
  end
30
30
 
31
+ it "ensures an active_active_cluster does a proper cleanup if it is transitioning to a different type of cluster" do
32
+ collection = BigBrother::ClusterCollection.new
33
+
34
+ existing_cluster = Factory.active_active_cluster(:name => 'existing_cluster')
35
+ collection['existing_cluster'] = existing_cluster
36
+ cluster_from_config = Factory.cluster(:name => 'existing_cluster')
37
+
38
+ existing_cluster.should_receive(:stop_relay_fwmark)
39
+
40
+ collection.config({'existing_cluster' => cluster_from_config})
41
+ end
42
+
43
+ it "does not make an active_active_cluster do a clean up if it is being updated" do
44
+ collection = BigBrother::ClusterCollection.new
45
+
46
+ existing_cluster = Factory.active_active_cluster(:name => 'existing_cluster')
47
+ collection['existing_cluster'] = existing_cluster
48
+ cluster_from_config = Factory.active_active_cluster(:name => 'existing_cluster')
49
+
50
+ existing_cluster.should_not_receive(:stop_relay_fwmark)
51
+
52
+ collection.config({'existing_cluster' => cluster_from_config})
53
+ end
54
+
31
55
  it "stops and removes clusters not included in the next configuration" do
32
56
  test2 = Factory.cluster(:name => 'test2', :fwmark => 102)
33
57
  collection = BigBrother::ClusterCollection.new
@@ -48,6 +72,7 @@ describe BigBrother::ClusterCollection do
48
72
 
49
73
  describe "running" do
50
74
  it "returns the clusters in the collection that are currently running" do
75
+ BigBrother::HealthFetcher.stub(:current_health)
51
76
  clusters_from_config = {
52
77
  'test1' => Factory.cluster(:name => 'test1', :fwmark => 101),
53
78
  'test2' => Factory.cluster(:name => 'test2', :fwmark => 102),
@@ -65,6 +90,7 @@ describe BigBrother::ClusterCollection do
65
90
 
66
91
  describe "stopped" do
67
92
  it "returns the clusters in the collection that are not running" do
93
+ BigBrother::HealthFetcher.stub(:current_health)
68
94
  clusters_from_config = {
69
95
  'test1' => Factory.cluster(:name => 'test1', :fwmark => 101),
70
96
  'test2' => Factory.cluster(:name => 'test2', :fwmark => 102),
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe BigBrother::ClusterFactory do
4
+ describe '.create_cluster' do
5
+ it 'creates a normal cluster' do
6
+ cluster = BigBrother::ClusterFactory.create_cluster('foo', :fwmark => 100)
7
+
8
+ cluster.should be_an_instance_of BigBrother::Cluster
9
+ end
10
+
11
+ it 'creates an active_passive cluster' do
12
+ cluster = BigBrother::ClusterFactory.create_cluster('foo', :fwmark => 100, :backend_mode => 'active_passive')
13
+
14
+ cluster.should be_an_instance_of BigBrother::ActivePassiveCluster
15
+ end
16
+
17
+ it 'creates an active_active cluster' do
18
+ cluster = BigBrother::ClusterFactory.create_cluster('foo', :fwmark => 100, :backend_mode => 'active_active')
19
+
20
+ cluster.should be_an_instance_of BigBrother::ActiveActiveCluster
21
+ end
22
+ end
23
+ end
@@ -1,6 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe BigBrother::Cluster do
4
+ before { BigBrother::HealthFetcher.stub(:current_health).and_return(10) }
5
+
4
6
  describe "#start_monitoring!" do
5
7
  it "marks the cluster as monitored" do
6
8
  cluster = Factory.cluster
@@ -32,17 +34,16 @@ describe BigBrother::Cluster do
32
34
  it "invalidates recorded weights, so it properly updates after a stop/start" do
33
35
  node = Factory.node(:address => '127.0.0.1')
34
36
  cluster = Factory.cluster(:fwmark => '100', :nodes => [node])
35
-
36
- BigBrother::HealthFetcher.stub(:current_health).and_return(10)
37
-
38
37
  cluster.start_monitoring!
39
38
  cluster.monitor_nodes
40
39
 
41
40
  cluster.stop_monitoring!
42
41
  cluster.start_monitoring!
42
+
43
+ BigBrother::HealthFetcher.stub(:current_health).and_return(15)
43
44
  cluster.monitor_nodes
44
45
 
45
- @stub_executor.commands.last.should == "ipvsadm --edit-server --fwmark-service 100 --real-server 127.0.0.1 --ipip --weight 10"
46
+ @stub_executor.commands.should include("ipvsadm --edit-server --fwmark-service 100 --real-server 127.0.0.1 --ipip --weight 15")
46
47
  end
47
48
  end
48
49
 
@@ -56,6 +57,46 @@ describe BigBrother::Cluster do
56
57
  end
57
58
 
58
59
  describe "#monitor_nodes" do
60
+ it "does not run multiple ipvsadm commands if the health does not change" do
61
+ node = Factory.node(:address => '127.0.0.1')
62
+ cluster = Factory.cluster(:fwmark => 100, :nodes => [node])
63
+ cluster.start_monitoring!
64
+ @stub_executor.commands.clear
65
+ BigBrother::HealthFetcher.stub(:current_health).and_return(56)
66
+ cluster.monitor_nodes
67
+
68
+ @stub_executor.commands.should == ["ipvsadm --edit-server --fwmark-service 100 --real-server 127.0.0.1 --ipip --weight 56"]
69
+ end
70
+
71
+ it "will run multiple ipvsadm commands if the health does change" do
72
+ node = Factory.node(:address => '127.0.0.1')
73
+ cluster = Factory.cluster(:fwmark => 100, :nodes => [node])
74
+ cluster.start_monitoring!
75
+ @stub_executor.commands.clear
76
+
77
+ BigBrother::HealthFetcher.stub(:current_health).and_return(56)
78
+ cluster.monitor_nodes
79
+ BigBrother::HealthFetcher.stub(:current_health).and_return(41)
80
+ cluster.monitor_nodes
81
+
82
+ @stub_executor.commands.should == [
83
+ "ipvsadm --edit-server --fwmark-service 100 --real-server 127.0.0.1 --ipip --weight 56",
84
+ "ipvsadm --edit-server --fwmark-service 100 --real-server 127.0.0.1 --ipip --weight 41"
85
+ ]
86
+ end
87
+
88
+ it "does not update the weight if the cluster is no longer monitored" do
89
+ BigBrother::HealthFetcher.stub(:current_health).and_return(56)
90
+ node = Factory.node(:address => '127.0.0.1')
91
+ cluster = Factory.cluster(:fwmark => 100, :nodes => [node])
92
+ cluster.stop_monitoring!
93
+
94
+ @stub_executor.commands.clear
95
+ cluster.monitor_nodes
96
+
97
+ @stub_executor.commands.should == []
98
+ end
99
+
59
100
  it "marks the cluster as no longer requiring monitoring" do
60
101
  cluster = Factory.cluster
61
102
 
@@ -71,6 +112,7 @@ describe BigBrother::Cluster do
71
112
  node1 = Factory.node
72
113
  node2 = Factory.node
73
114
  cluster = Factory.cluster(:nodes => [node1, node2])
115
+ cluster.start_monitoring!
74
116
 
75
117
  node1.should_receive(:monitor).with(cluster)
76
118
  node2.should_receive(:monitor).with(cluster)
@@ -112,7 +154,7 @@ describe BigBrother::Cluster do
112
154
  cluster.start_monitoring!
113
155
  cluster.monitor_nodes
114
156
 
115
- @stub_executor.commands.last.should == "ipvsadm --add-server --fwmark-service 1 --real-server 127.0.0.1 --ipip --weight 1"
157
+ @stub_executor.commands.last.should == "ipvsadm --add-server --fwmark-service 1 --real-server 169.254.254.254 --ipip --weight 1"
116
158
  end
117
159
 
118
160
  it "removes downpage node from IPVS if it exists and cluster is up" do
@@ -137,8 +179,8 @@ describe BigBrother::Cluster do
137
179
  node2 = Factory.node(:address => '192.168.0.2')
138
180
  cluster = Factory.cluster(:nodes => [node1, node2], :nagios => {:host => "prod.load", :check => "test1_check", :server => "server.foo"})
139
181
 
140
- node1.stub(:_determine_weight).and_return(0)
141
- node2.stub(:_determine_weight).and_return(10)
182
+ node1.stub(:monitor).and_return(0)
183
+ node2.stub(:monitor).and_return(10)
142
184
 
143
185
  cluster.start_monitoring!
144
186
  cluster.monitor_nodes
@@ -150,8 +192,8 @@ describe BigBrother::Cluster do
150
192
  node2 = Factory.node(:address => '192.168.0.2')
151
193
  cluster = Factory.cluster(:nodes => [node1, node2], :nagios => {:host => "prod.load", :check => "test1_check", :server => "server.foo"})
152
194
 
153
- node1.stub(:_determine_weight).and_return(0)
154
- node2.stub(:_determine_weight).and_return(10)
195
+ node1.stub(:monitor).and_return(0)
196
+ node2.stub(:monitor).and_return(10)
155
197
 
156
198
  cluster.start_monitoring!
157
199
  cluster.monitor_nodes
@@ -167,9 +209,9 @@ describe BigBrother::Cluster do
167
209
  node3 = Factory.node(:address => '192.168.0.3')
168
210
  cluster = Factory.cluster(:nodes => [node1, node2, node3], :nagios => {:host => "prod.load", :check => "test1_check", :server => "server.foo"})
169
211
 
170
- node1.stub(:_determine_weight).and_return(0)
171
- node2.stub(:_determine_weight).and_return(10)
172
- node3.stub(:_determine_weight).and_return(10)
212
+ node1.stub(:monitor).and_return(0)
213
+ node2.stub(:monitor).and_return(10)
214
+ node3.stub(:monitor).and_return(10)
173
215
 
174
216
  cluster.start_monitoring!
175
217
  cluster.monitor_nodes
@@ -180,16 +222,16 @@ describe BigBrother::Cluster do
180
222
  node1 = Factory.node(:address => '192.168.0.1')
181
223
  node2 = Factory.node(:address => '192.168.0.2')
182
224
  cluster = Factory.cluster(:nodes => [node1, node2], :nagios => {:host => "prod.load", :check => "test1_check", :server => "server.foo"})
183
- node1.stub(:_determine_weight).and_return(0)
184
- node2.stub(:_determine_weight).and_return(10)
225
+ node1.stub(:monitor).and_return(0)
226
+ node2.stub(:monitor).and_return(10)
185
227
 
186
228
  cluster.start_monitoring!
187
229
  cluster.monitor_nodes
188
230
  @stub_executor.commands.should include("echo 'prod.load,test1_check,2,CRITICAL 50% of nodes are down' | send_nsca -H server.foo -d ,")
189
231
  @stub_executor.clear_commands!
190
232
 
191
- node1.stub(:_determine_weight).and_return(10)
192
- node2.stub(:_determine_weight).and_return(10)
233
+ node1.stub(:monitor).and_return(10)
234
+ node2.stub(:monitor).and_return(10)
193
235
  cluster.monitor_nodes
194
236
  @stub_executor.commands.should include("echo 'prod.load,test1_check,0,OK all nodes up' | send_nsca -H server.foo -d ,")
195
237
  end
@@ -208,7 +250,7 @@ describe BigBrother::Cluster do
208
250
  end
209
251
 
210
252
  describe "synchronize!" do
211
- it "monitors clusters that were already monitored" do
253
+ it "continues to monitor clusters that were already monitored" do
212
254
  BigBrother.ipvs.stub(:running_configuration).and_return('1' => ['127.0.0.1'])
213
255
  cluster = Factory.cluster(:fwmark => 1)
214
256
 
@@ -250,7 +292,7 @@ describe BigBrother::Cluster do
250
292
 
251
293
  cluster.synchronize!
252
294
 
253
- @stub_executor.commands.should include("ipvsadm --add-server --fwmark-service 1 --real-server 127.0.1.1 --ipip --weight 100")
295
+ @stub_executor.commands.should include("ipvsadm --add-server --fwmark-service 1 --real-server 127.0.1.1 --ipip --weight 0")
254
296
  end
255
297
  end
256
298