beetle 0.3.0.rc.9 → 0.3.0.rc.10
Sign up to get free protection for your applications and to get access to all the features.
- data/RELEASE_NOTES.rdoc +1 -0
- data/features/redis_auto_failover.feature +1 -0
- data/features/step_definitions/redis_auto_failover_steps.rb +6 -0
- data/lib/beetle/redis_configuration_server.rb +1 -0
- data/lib/beetle/version.rb +1 -1
- data/test/beetle/redis_configuration_server_test.rb +1 -0
- metadata +3 -3
data/RELEASE_NOTES.rdoc
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
== Version 0.3.0
|
4
4
|
|
5
|
+
* redis master file contents now correctly reflects the state of the running configuration server
|
5
6
|
* allow accelerating master switch via POST to redis configuration server
|
6
7
|
* embedded http server into the redis configuration server (port 8080)
|
7
8
|
* fixed a problem with redis shutdown command
|
@@ -15,6 +15,7 @@ Feature: Redis auto failover
|
|
15
15
|
And the retry timeout for the redis master check is reached
|
16
16
|
Then a system notification for "redis-1" not being available should be sent
|
17
17
|
And the role of redis server "redis-2" should be "master"
|
18
|
+
And the redis master file of the redis configuration server should contain "redis-2"
|
18
19
|
And the redis master of "rc-client-1" should be "redis-2"
|
19
20
|
And the redis master of "rc-client-2" should be "redis-2"
|
20
21
|
And the redis master of the beetle handler should be "redis-2"
|
@@ -95,6 +95,12 @@ Then /^the redis master of "([^\"]*)" should be "([^\"]*)"$/ do |redis_configura
|
|
95
95
|
assert master, "#{redis_name} is not master of #{redis_configuration_client_name}, master file content: #{server_info.inspect}"
|
96
96
|
end
|
97
97
|
|
98
|
+
Then /^the redis master file of the redis configuration server should contain "([^"]*)"$/ do |redis_name| # " for emacs :(
|
99
|
+
master_file = TestDaemons::RedisConfigurationServer.redis_master_file
|
100
|
+
file_contents = File.read(master_file).chomp
|
101
|
+
assert_equal TestDaemons::Redis[redis_name].ip_with_port, file_contents
|
102
|
+
end
|
103
|
+
|
98
104
|
Then /^the redis master of "([^\"]*)" should be undefined$/ do |redis_configuration_client_name|
|
99
105
|
master_file = redis_master_file(redis_configuration_client_name)
|
100
106
|
empty = false
|
@@ -279,6 +279,7 @@ module Beetle
|
|
279
279
|
beetle.publish(:system_notification, {"message" => msg}.to_json)
|
280
280
|
|
281
281
|
new_master.master!
|
282
|
+
write_redis_master_file(new_master.server)
|
282
283
|
@current_master = new_master
|
283
284
|
else
|
284
285
|
msg = "Redis master could not be switched, no slave available to become new master, promoting old master"
|
data/lib/beetle/version.rb
CHANGED
@@ -147,6 +147,7 @@ module Beetle
|
|
147
147
|
new_master = stub(:master! => nil, :server => "jo:6379")
|
148
148
|
@server.beetle.expects(:publish).with(:system_notification, anything)
|
149
149
|
@server.expects(:determine_new_master).returns(new_master)
|
150
|
+
@server.expects(:write_redis_master_file).with(new_master.server)
|
150
151
|
@server.send :switch_master
|
151
152
|
assert_equal new_master, @server.current_master
|
152
153
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beetle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15424049
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
9
|
- 0
|
10
10
|
- rc
|
11
|
-
-
|
12
|
-
version: 0.3.0.rc.
|
11
|
+
- 10
|
12
|
+
version: 0.3.0.rc.10
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Stefan Kaes
|