jerbil 1.3.3 → 1.4.5
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 +9 -9
- data/Bugs.rdoc +7 -0
- data/Gemfile +7 -8
- data/History.txt +28 -0
- data/Intro.txt +8 -4
- data/README.md +65 -33
- data/README_TESTING.md +2 -1
- data/bin/jerbil +108 -49
- data/bin/jerbil-install +1 -1
- data/etc/jerbil/jerbil-old.rb +83 -0
- data/etc/jerbil/jerbil-test.rb +105 -0
- data/etc/jerbil/jerbil.rb +61 -39
- data/lib/jerbil.rb +41 -9
- data/lib/jerbil/config.rb +18 -1
- data/lib/jerbil/monitor.rb +134 -0
- data/lib/jerbil/service.rb +10 -0
- data/lib/jerbil/support.rb +4 -4
- data/lib/jerbil/version.rb +9 -8
- data/sbin/jerbil-stop +11 -0
- data/sbin/jerbild +25 -4
- data/spec/jerbil_client_spec.rb +16 -16
- data/spec/jerbil_daemonised/jerbil_local_spec.rb +11 -12
- data/spec/jerbil_local_spec.rb +19 -19
- data/spec/jerbil_missing_spec.rb +3 -6
- data/spec/jerbil_remote_spec.rb +19 -18
- data/spec/spec_helper.rb +1 -2
- data/test/conf.d/jerbil_local.rb +2 -0
- data/test/conf.d/jerbil_test.rb +92 -20
- data/test/conf.d/jerbil_test_old.rb +35 -0
- data/test/pids/rubytest-dev.asc +1 -0
- data/test/pids/rubytest-dev.pid +1 -0
- metadata +116 -98
- data/etc/jerbil/jerbil-client.rb +0 -2
- data/lib/jerbil/thor/server.rb +0 -76
- data/lib/jerbil/thor/service.rb +0 -74
data/etc/jerbil/jerbil-client.rb
DELETED
data/lib/jerbil/thor/server.rb
DELETED
@@ -1,76 +0,0 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# = Title
|
4
|
-
#
|
5
|
-
# == SubTitle
|
6
|
-
#
|
7
|
-
# Author:: Robert Sharp
|
8
|
-
# Copyright:: Copyright (c) 2011 Robert Sharp
|
9
|
-
# License:: Open Software Licence v3.0
|
10
|
-
#
|
11
|
-
# This software is licensed for use under the Open Software Licence v. 3.0
|
12
|
-
# The terms of this licence can be found at http://www.opensource.org/licenses/osl-3.0.php
|
13
|
-
# and in the file copyright.txt. Under the terms of this licence, all derivative works
|
14
|
-
# must themselves be licensed under the Open Software Licence v. 3.0
|
15
|
-
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
|
19
|
-
# define subcommands relating to Jerbil Servers
|
20
|
-
class Server < Thor
|
21
|
-
|
22
|
-
default_task :local
|
23
|
-
class_option :config, :aliases=>'-c', :desc=>'use the given config file', :default=>'/etc/jermine/jerbil-client.rb'
|
24
|
-
class_option :verify, :aliases=>'-v', :desc=>'check the server is running'
|
25
|
-
|
26
|
-
desc "local", "display information about the local jerbil server"
|
27
|
-
def local
|
28
|
-
config = Jerbil.get_config(options[:config])
|
29
|
-
local = Jerbil::Servers.get_local_server(config[:environment])
|
30
|
-
puts "Checking for local Jerbil server running in env: #{config[:environment]}"
|
31
|
-
begin
|
32
|
-
jerbs = local.connect
|
33
|
-
started = jerbs.started
|
34
|
-
puts " Jerbil server found, version: #{jerbs.version}".green
|
35
|
-
puts " Server has been up since #{started.strftime('%d %b %Y at %H:%M')}"
|
36
|
-
puts " and has had #{jerbs.registrations.to_s} registrations"
|
37
|
-
rescue Exception => err
|
38
|
-
puts " Server did not respond: #{err.message}".red.bold
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
desc "list", "list information about the network's Jerbil servers"
|
44
|
-
def list
|
45
|
-
config = Jerbil.get_config(options[:config])
|
46
|
-
local = Jerbil::Servers.get_local_server(config[:environment])
|
47
|
-
puts "Checking for Jerbil servers running in env: #{config[:environment]}"
|
48
|
-
begin
|
49
|
-
jerbs = local.connect
|
50
|
-
remotes = jerbs.remote_servers
|
51
|
-
remotes.each do |remote|
|
52
|
-
if options[:verify] then
|
53
|
-
begin
|
54
|
-
remote.connect.verify
|
55
|
-
puts " #{remote.ident}".green
|
56
|
-
rescue
|
57
|
-
puts " #{remote.ident}".red
|
58
|
-
end
|
59
|
-
else
|
60
|
-
puts " #{remote.ident}".cyan
|
61
|
-
end
|
62
|
-
end
|
63
|
-
rescue Exception => err
|
64
|
-
puts " Server did not respond: #{err.message}".red.bold
|
65
|
-
end
|
66
|
-
|
67
|
-
end
|
68
|
-
|
69
|
-
desc "secret", "generate a secret key for a new installation"
|
70
|
-
def secret
|
71
|
-
key = Digest::SHA1.hexdigest(Time.now.to_s + rand(12341234).to_s)
|
72
|
-
puts 'secret "' + key + '"'
|
73
|
-
end
|
74
|
-
|
75
|
-
|
76
|
-
end
|
data/lib/jerbil/thor/service.rb
DELETED
@@ -1,74 +0,0 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# = Title
|
4
|
-
#
|
5
|
-
# == SubTitle
|
6
|
-
#
|
7
|
-
# Author:: Robert Sharp
|
8
|
-
# Copyright:: Copyright (c) 2011 Robert Sharp
|
9
|
-
# License:: Open Software Licence v3.0
|
10
|
-
#
|
11
|
-
# This software is licensed for use under the Open Software Licence v. 3.0
|
12
|
-
# The terms of this licence can be found at http://www.opensource.org/licenses/osl-3.0.php
|
13
|
-
# and in the file copyright.txt. Under the terms of this licence, all derivative works
|
14
|
-
# must themselves be licensed under the Open Software Licence v. 3.0
|
15
|
-
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
|
19
|
-
class Service < Thor
|
20
|
-
|
21
|
-
default_task :list
|
22
|
-
class_option :verbose, :default=>false, :aliases=>'-V', :desc=>'print more information'
|
23
|
-
class_option :verify, :aliases=>'-v', :desc=>'check the service is running'
|
24
|
-
class_option :config, :aliases=>'-c', :desc=>'use the given config file', :default=>'/etc/jermine/jerbil-client.rb'
|
25
|
-
|
26
|
-
desc "list", "List services"
|
27
|
-
def list
|
28
|
-
config = Jerbil.get_config(options[:config])
|
29
|
-
local = Jerbil::Servers.get_local_server(config[:environment])
|
30
|
-
services = []
|
31
|
-
begin
|
32
|
-
jerbs = local.connect
|
33
|
-
services = jerbs.get_all(true) # ignore this access
|
34
|
-
rescue
|
35
|
-
puts "Failed to connect to the local Jerbil server".red.bold
|
36
|
-
return
|
37
|
-
end
|
38
|
-
puts "There are #{services.length} services registered with Jerbil:"
|
39
|
-
services.each do |s|
|
40
|
-
puts " #{s.name}[:#{s.env}]@#{s.host}:#{s.port}".cyan
|
41
|
-
puts " started at: #{s.registered_at.strftime('%d/%m/%y %H:%M')}" if options[:verbose]
|
42
|
-
puts " accessed #{s.access_count.to_s} times, last time at: #{s.accessed_at.strftime('%d/%m/%y %H:%M')}" if options[:verbose]
|
43
|
-
if options[:verify] then
|
44
|
-
if jerbs.service_missing?(s) then
|
45
|
-
puts " #{s.ident} has failed and should be removed".red
|
46
|
-
else
|
47
|
-
puts " #{s.ident} responded".green
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
desc "verify", "Verify that services are running"
|
54
|
-
def verify
|
55
|
-
config = Jerbil.get_config(options[:config])
|
56
|
-
local = Jerbil::Servers.get_local_server(options[:environment])
|
57
|
-
services = []
|
58
|
-
begin
|
59
|
-
jerbs = local.connect
|
60
|
-
services = jerbs.get_all(true) # ignore this access
|
61
|
-
rescue
|
62
|
-
puts "Failed to connect to the local Jerbil server".red.bold
|
63
|
-
end
|
64
|
-
puts "Checking #{services.length} services registered with Jerbil:"
|
65
|
-
services.each do |s|
|
66
|
-
if jerbs.service_missing?(s) then
|
67
|
-
puts " #{s.ident} has failed and should be removed".red
|
68
|
-
else
|
69
|
-
puts " #{s.ident} responded".green
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
end
|