wakame 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/LICENSE +202 -0
- data/Rakefile +11 -12
- data/VERSION +1 -1
- data/app_generators/wakame/templates/bin/wakame-agent +1 -1
- data/app_generators/wakame/templates/bin/wakame-master +1 -1
- data/app_generators/wakame/templates/config/cluster.rb +32 -24
- data/app_generators/wakame/templates/config/init.d/centos/wakame-agent +40 -0
- data/app_generators/wakame/templates/config/init.d/centos/wakame-master +40 -0
- data/app_generators/wakame/templates/config/init.d/wakame-master +1 -1
- data/lib/ext/eventmachine.rb +5 -5
- data/lib/wakame.rb +12 -0
- data/lib/wakame/action.rb +10 -11
- data/lib/wakame/actions/deploy_application.rb +61 -0
- data/lib/wakame/actions/deploy_config.rb +1 -3
- data/lib/wakame/actions/freeze_cluster.rb +15 -0
- data/lib/wakame/actions/launch_cluster.rb +1 -3
- data/lib/wakame/actions/launch_vm.rb +1 -1
- data/lib/wakame/actions/migrate_service.rb +4 -3
- data/lib/wakame/actions/notify_child_changed.rb +3 -6
- data/lib/wakame/actions/notify_parent_changed.rb +4 -7
- data/lib/wakame/actions/propagate_resource.rb +1 -3
- data/lib/wakame/actions/propagate_service.rb +1 -3
- data/lib/wakame/actions/register_agent.rb +43 -0
- data/lib/wakame/actions/reload_service.rb +2 -2
- data/lib/wakame/actions/shutdown_cluster.rb +4 -6
- data/lib/wakame/actions/shutdown_vm.rb +27 -6
- data/lib/wakame/actions/start_service.rb +40 -32
- data/lib/wakame/actions/stop_service.rb +8 -10
- data/lib/wakame/actions/unfreeze_cluster.rb +15 -0
- data/lib/wakame/actor.rb +2 -5
- data/lib/wakame/actor/deploy.rb +110 -0
- data/lib/wakame/actor/monitor.rb +14 -0
- data/lib/wakame/actor/s3fs.rb +45 -0
- data/lib/wakame/actor/service_monitor.rb +0 -17
- data/lib/wakame/actor/system.rb +5 -1
- data/lib/wakame/agent.rb +29 -179
- data/lib/wakame/agent_manager.rb +11 -0
- data/lib/wakame/agent_managers/actor_manager.rb +101 -0
- data/lib/wakame/agent_managers/monitor_manager.rb +48 -0
- data/lib/wakame/command.rb +4 -7
- data/lib/wakame/command/actor.rb +9 -12
- data/lib/wakame/command/agent_status.rb +2 -2
- data/lib/wakame/command/control_service.rb +66 -0
- data/lib/wakame/command/deploy_application.rb +18 -0
- data/lib/wakame/command/deploy_config.rb +16 -0
- data/lib/wakame/command/launch_cluster.rb +1 -1
- data/lib/wakame/command/launch_vm.rb +1 -1
- data/lib/wakame/command/propagate_resource.rb +1 -1
- data/lib/wakame/command/propagate_service.rb +5 -3
- data/lib/wakame/command/reload_service.rb +1 -1
- data/lib/wakame/command/shutdown_cluster.rb +1 -1
- data/lib/wakame/command/shutdown_vm.rb +37 -11
- data/lib/wakame/command/start_service.rb +1 -1
- data/lib/wakame/command/status.rb +6 -4
- data/lib/wakame/command/stop_service.rb +1 -1
- data/lib/wakame/configuration.rb +5 -0
- data/lib/wakame/event.rb +85 -33
- data/lib/wakame/event_dispatcher.rb +2 -2
- data/lib/wakame/initializer.rb +97 -31
- data/lib/wakame/master.rb +23 -346
- data/lib/wakame/master_manager.rb +11 -0
- data/lib/wakame/master_managers/action_manager.rb +321 -0
- data/lib/wakame/master_managers/agent_monitor.rb +166 -0
- data/lib/wakame/master_managers/cluster_manager.rb +176 -0
- data/lib/wakame/master_managers/command_queue.rb +133 -0
- data/lib/wakame/models/agent_pool.rb +113 -0
- data/lib/wakame/models/application_repository.rb +34 -0
- data/lib/wakame/models/object_store.rb +32 -0
- data/lib/wakame/models/service_cluster_pool.rb +36 -0
- data/lib/wakame/monitor.rb +3 -6
- data/lib/wakame/monitor/agent.rb +9 -6
- data/lib/wakame/monitor/service.rb +56 -29
- data/lib/wakame/runner/administrator_command.rb +210 -24
- data/lib/wakame/runner/agent.rb +2 -0
- data/lib/wakame/runner/master.rb +2 -1
- data/lib/wakame/service.rb +140 -130
- data/lib/wakame/status_db.rb +101 -121
- data/lib/wakame/util.rb +26 -15
- data/tests/setup_master.rb +1 -0
- data/tests/test_master.rb +0 -2
- data/tests/test_model_agent_pool.rb +21 -0
- data/tests/test_service.rb +14 -8
- data/tests/test_status_db.rb +2 -0
- data/tests/test_util.rb +12 -1
- data/wakame_generators/resource/templates/apache_app/apache_app.rb +20 -11
- data/wakame_generators/resource/templates/apache_app/conf/vh/aaa.test.conf +1 -1
- data/wakame_generators/resource/templates/apache_lb/apache_lb.rb +7 -7
- data/wakame_generators/resource/templates/apache_lb/conf/system-lb.conf +6 -4
- data/wakame_generators/resource/templates/apache_www/apache_www.rb +15 -13
- data/wakame_generators/resource/templates/ec2_elastic_ip/ec2_elastic_ip.rb +17 -17
- data/wakame_generators/resource/templates/ec2_elb/ec2_elb.rb +22 -15
- data/wakame_generators/resource/templates/mongodb/conf/mongodb.conf +95 -0
- data/wakame_generators/resource/templates/mongodb/init.d/mongodb +244 -0
- data/wakame_generators/resource/templates/mongodb/mongodb.rb +64 -0
- data/wakame_generators/resource/templates/mysql_master/mysql_master.rb +17 -21
- data/wakame_generators/resource/templates/nginx/conf/nginx.conf +4 -0
- data/wakame_generators/resource/templates/nginx/conf/vh/ec2_elb_common.conf +19 -0
- data/wakame_generators/resource/templates/nginx/init.d/nginx +6 -0
- data/wakame_generators/resource/templates/nginx/init.d/spawn-fcgi +46 -0
- data/wakame_generators/resource/templates/nginx/nginx.rb +15 -10
- data/wakame_generators/resource/templates/nginx_passenger/conf/nginx-passenger.conf +39 -0
- data/wakame_generators/resource/templates/nginx_passenger/conf/vh/ec2_elb_common.conf +10 -0
- data/wakame_generators/resource/templates/nginx_passenger/init.d/nginx-passenger +70 -0
- data/wakame_generators/resource/templates/nginx_passenger/nginx_passenger.rb +71 -0
- data/wakame_generators/resource/templates/s3fs/s3fs.rb +24 -0
- metadata +195 -74
- data/lib/wakame/action_manager.rb +0 -303
- data/lib/wakame/command/clone_service.rb +0 -12
- data/lib/wakame/command_queue.rb +0 -135
- data/lib/wakame/vm_manipulator.rb +0 -187
@@ -0,0 +1,46 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
#
|
3
|
+
|
4
|
+
NAME=spawn-fcgi
|
5
|
+
DESC=spawn-fcgi
|
6
|
+
PIDFILE=/var/run/$NAME.pid
|
7
|
+
PROGRAM=/usr/bin/spawn-fcgi
|
8
|
+
ADDR=127.0.0.1
|
9
|
+
PORT=9000
|
10
|
+
USER=www-data
|
11
|
+
GROUP=www-data
|
12
|
+
FCGIWRAP=/usr/local/bin/fcgiwrap
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
if [ -f /etc/default/spawn-fcgi ]; then
|
17
|
+
. /etc/default/spawn-fcgi
|
18
|
+
fi
|
19
|
+
|
20
|
+
set -e
|
21
|
+
|
22
|
+
case "$1" in
|
23
|
+
start)
|
24
|
+
echo -n "Starting $DESC: "
|
25
|
+
$PROGRAM -f $FCGIWRAP -P $PIDFILE -a $ADDR -p $PORT -u $USER -g $GROUP
|
26
|
+
echo "$NAME."
|
27
|
+
;;
|
28
|
+
stop)
|
29
|
+
echo -n "Stopping $DESC: "
|
30
|
+
[ -f $PIDFILE ] || exit 1
|
31
|
+
PID=`cat $PIDFILE`
|
32
|
+
kill $PID
|
33
|
+
echo "$NAME."
|
34
|
+
;;
|
35
|
+
restart)
|
36
|
+
$0 stop
|
37
|
+
sleep 1
|
38
|
+
$0 start
|
39
|
+
;;
|
40
|
+
*)
|
41
|
+
echo "Usage: /etc/init.d/$NAME [start|stop]" >&2
|
42
|
+
exit 1;
|
43
|
+
;;
|
44
|
+
esac
|
45
|
+
|
46
|
+
exit 0
|
@@ -1,15 +1,25 @@
|
|
1
1
|
class Nginx < Wakame::Service::Resource
|
2
2
|
include HttpServer
|
3
|
-
|
4
|
-
property :
|
5
|
-
property :
|
3
|
+
|
4
|
+
property :ec2_elb_front_fqdn
|
5
|
+
property :fcgi_enabled
|
6
|
+
|
7
|
+
update_attribute :listen_port, 80
|
8
|
+
update_attribute :listen_port_https, 443
|
9
|
+
update_attribute :monitors, { '/service' => {
|
10
|
+
:type => :pidfile,
|
11
|
+
:path => '/var/run/nginx.pid'
|
12
|
+
}
|
13
|
+
}
|
6
14
|
|
7
15
|
def render_config(template)
|
8
16
|
template.glob_basedir(%w(conf/nginx.conf conf/vh/*.conf)) { |d|
|
9
17
|
template.render(d)
|
10
18
|
}
|
11
|
-
|
12
|
-
|
19
|
+
%w(init.d/nginx init.d/spawn-fcgi).each { |script|
|
20
|
+
template.render(script)
|
21
|
+
template.chmod(script, 0755)
|
22
|
+
}
|
13
23
|
end
|
14
24
|
|
15
25
|
def on_parent_changed(svc, action)
|
@@ -25,8 +35,6 @@ class Nginx < Wakame::Service::Resource
|
|
25
35
|
}
|
26
36
|
}
|
27
37
|
|
28
|
-
request = action.actor_request(svc.cloud_host.agent_id,
|
29
|
-
'/service_monitor/register', svc.id, :pidfile, '/var/run/nginx.pid').request
|
30
38
|
action.actor_request(svc.cloud_host.agent_id,
|
31
39
|
'/daemon/start', "nginx", 'init.d/nginx'){ |req|
|
32
40
|
req.wait
|
@@ -50,9 +58,6 @@ class Nginx < Wakame::Service::Resource
|
|
50
58
|
}
|
51
59
|
|
52
60
|
cond.wait
|
53
|
-
|
54
|
-
request = action.actor_request(svc.cloud_host.agent_id,
|
55
|
-
'/service_monitor/unregister', svc.id ).request
|
56
61
|
end
|
57
62
|
|
58
63
|
def reload(svc, action)
|
@@ -0,0 +1,39 @@
|
|
1
|
+
user www-data;
|
2
|
+
worker_processes 4;
|
3
|
+
|
4
|
+
error_log /var/log/nginx/error-passenger.log;
|
5
|
+
pid /var/run/nginx-passenger.pid;
|
6
|
+
|
7
|
+
events {
|
8
|
+
worker_connections 1024;
|
9
|
+
}
|
10
|
+
|
11
|
+
http {
|
12
|
+
include /opt/nginx/conf/mime.types;
|
13
|
+
include /opt/nginx/conf/conf.d/*.conf; # ex. passenger.conf
|
14
|
+
default_type application/octet-stream;
|
15
|
+
|
16
|
+
access_log /var/log/nginx/access-passenger.log;
|
17
|
+
|
18
|
+
proxy_redirect off;
|
19
|
+
proxy_set_header Host $host;
|
20
|
+
proxy_set_header X-Real-IP $remote_addr;
|
21
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
22
|
+
client_max_body_size 10m;
|
23
|
+
client_body_buffer_size 128k;
|
24
|
+
proxy_connect_timeout 1;
|
25
|
+
proxy_send_timeout 90;
|
26
|
+
proxy_read_timeout 90;
|
27
|
+
proxy_buffers 32 4k;
|
28
|
+
|
29
|
+
sendfile on;
|
30
|
+
tcp_nopush on;
|
31
|
+
|
32
|
+
#keepalive_timeout 0;
|
33
|
+
keepalive_timeout 65;
|
34
|
+
tcp_nodelay on;
|
35
|
+
|
36
|
+
gzip on;
|
37
|
+
|
38
|
+
include vh/*.conf;
|
39
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
server {
|
2
|
+
listen <%= resource.listen_port %>;
|
3
|
+
server_name <%= resource.ec2_elb_front_fqdn %>;
|
4
|
+
access_log /var/log/nginx/<%= resource.ec2_elb_front_fqdn %>-access.log;
|
5
|
+
error_log /var/log/nginx/<%= resource.ec2_elb_front_fqdn %>-error.log;
|
6
|
+
|
7
|
+
# $(rails-project)/public
|
8
|
+
root <%= resource.ec2_elb_rails_root %>;
|
9
|
+
passenger_enabled on;
|
10
|
+
}
|
@@ -0,0 +1,70 @@
|
|
1
|
+
#! /bin/sh
|
2
|
+
|
3
|
+
### BEGIN INIT INFO
|
4
|
+
# Provides: nginx
|
5
|
+
# Required-Start: $all
|
6
|
+
# Required-Stop: $all
|
7
|
+
# Default-Start: 2 3 4 5
|
8
|
+
# Default-Stop: 0 1 6
|
9
|
+
# Short-Description: starts the nginx web server
|
10
|
+
# Description: starts nginx using start-stop-daemon
|
11
|
+
### END INIT INFO
|
12
|
+
|
13
|
+
[ -n $WAKAME_ROOT ] || { echo "WAKAME_ROOT env was not set" >&2; exit 1; }
|
14
|
+
|
15
|
+
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
16
|
+
DAEMON=/opt/nginx/sbin/nginx
|
17
|
+
NAME=nginx-passenger
|
18
|
+
DESC=nginx-passenger
|
19
|
+
DAEMON_OPTS="-c $WAKAME_ROOT/tmp/config/nginx_passenger/conf/nginx-passenger.conf"
|
20
|
+
|
21
|
+
test -x $DAEMON || exit 0
|
22
|
+
|
23
|
+
# Include nginx defaults if available
|
24
|
+
if [ -f /etc/default/nginx ] ; then
|
25
|
+
. /etc/default/nginx
|
26
|
+
fi
|
27
|
+
|
28
|
+
set -e
|
29
|
+
|
30
|
+
. /lib/lsb/init-functions
|
31
|
+
|
32
|
+
case "$1" in
|
33
|
+
start)
|
34
|
+
echo -n "Starting $DESC: "
|
35
|
+
start-stop-daemon --start --oknodo --quiet --pidfile /var/run/$NAME.pid \
|
36
|
+
--exec $DAEMON -- $DAEMON_OPTS
|
37
|
+
echo "$NAME."
|
38
|
+
;;
|
39
|
+
stop)
|
40
|
+
echo -n "Stopping $DESC: "
|
41
|
+
start-stop-daemon --stop --oknodo --quiet --pidfile /var/run/$NAME.pid \
|
42
|
+
--exec $DAEMON
|
43
|
+
echo "$NAME."
|
44
|
+
;;
|
45
|
+
restart|force-reload)
|
46
|
+
echo -n "Restarting $DESC: "
|
47
|
+
start-stop-daemon --stop --quiet --pidfile \
|
48
|
+
/var/run/$NAME.pid --exec $DAEMON || true
|
49
|
+
sleep 1
|
50
|
+
start-stop-daemon --start --quiet --pidfile \
|
51
|
+
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
|
52
|
+
echo "$NAME."
|
53
|
+
;;
|
54
|
+
reload)
|
55
|
+
echo -n "Reloading $DESC configuration: "
|
56
|
+
start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
|
57
|
+
--exec $DAEMON
|
58
|
+
echo "$NAME."
|
59
|
+
;;
|
60
|
+
# status)
|
61
|
+
# status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?
|
62
|
+
# ;;
|
63
|
+
*)
|
64
|
+
N=/etc/init.d/$NAME
|
65
|
+
echo "Usage: $N {start|stop|restart|reload|force-reload|status}" >&2
|
66
|
+
exit 1
|
67
|
+
;;
|
68
|
+
esac
|
69
|
+
|
70
|
+
exit 0
|
@@ -0,0 +1,71 @@
|
|
1
|
+
class Nginx_Passenger < Wakame::Service::Resource
|
2
|
+
include HttpServer
|
3
|
+
|
4
|
+
property :ec2_elb_front_fqdn
|
5
|
+
property :ec2_elb_rails_root
|
6
|
+
|
7
|
+
|
8
|
+
update_attribute :listen_port, 80
|
9
|
+
update_attribute :listen_port_https, 443
|
10
|
+
update_attribute :monitors, { '/service' => {
|
11
|
+
:type => :pidfile,
|
12
|
+
:path => '/var/run/nginx-passenger.pid'
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
def render_config(template)
|
17
|
+
template.glob_basedir(%w(conf/nginx-passenger.conf conf/vh/*.conf)) { |d|
|
18
|
+
template.render(d)
|
19
|
+
}
|
20
|
+
template.cp('init.d/nginx-passenger')
|
21
|
+
template.chmod("init.d/nginx-passenger", 0755)
|
22
|
+
end
|
23
|
+
|
24
|
+
def on_parent_changed(svc, action)
|
25
|
+
action.trigger_action(Wakame::Actions::DeployConfig.new(svc))
|
26
|
+
action.flush_subactions
|
27
|
+
reload(svc, action)
|
28
|
+
end
|
29
|
+
|
30
|
+
def start(svc, action)
|
31
|
+
cond = ConditionalWait.new { |cond|
|
32
|
+
cond.wait_event(Wakame::Event::ServiceOnline) { |event|
|
33
|
+
event.instance_id == svc.id
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
action.actor_request(svc.cloud_host.agent_id,
|
38
|
+
'/daemon/start', "nginx_passenger", 'init.d/nginx-passenger'){ |req|
|
39
|
+
req.wait
|
40
|
+
Wakame.log.debug("#{self.class} process started")
|
41
|
+
}
|
42
|
+
|
43
|
+
cond.wait
|
44
|
+
end
|
45
|
+
|
46
|
+
def stop(svc, action)
|
47
|
+
cond = ConditionalWait.new { |cond|
|
48
|
+
cond.wait_event(Wakame::Event::ServiceOffline) { |event|
|
49
|
+
event.instance_id == svc.id
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
action.actor_request(svc.cloud_host.agent_id,
|
54
|
+
'/daemon/stop', 'nginx_passenger', 'init.d/nginx-passenger'){ |req|
|
55
|
+
req.wait
|
56
|
+
Wakame.log.debug("#{self.class} process stopped")
|
57
|
+
}
|
58
|
+
|
59
|
+
cond.wait
|
60
|
+
end
|
61
|
+
|
62
|
+
def reload(svc, action)
|
63
|
+
action.actor_request(svc.cloud_host.agent_id,
|
64
|
+
'/daemon/reload', "nginx_passenger", 'init.d/nginx-passenger'){ |req|
|
65
|
+
req.wait
|
66
|
+
Wakame.log.debug("#{self.class} process reloaded")
|
67
|
+
}
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class S3fs < Wakame::Service::Resource
|
2
|
+
|
3
|
+
property :s3fs_bucket
|
4
|
+
property :s3fs_path
|
5
|
+
property :s3fs_mount_option, {:default=>'-o use_cache=/tmp'}
|
6
|
+
|
7
|
+
def start(svc, action)
|
8
|
+
action.actor_request(svc.cloud_host.agent_id,
|
9
|
+
'/s3fs/mount', self.s3fs_bucket, self.s3fs_path, self.s3fs_mount_option) { |req|
|
10
|
+
req.wait
|
11
|
+
Wakame.log.debug("s3fs mount: #{self.s3fs_bucket} on #{self.s3fs_path}")
|
12
|
+
}
|
13
|
+
svc.update_monitor_status(Wakame::Service::STATUS_ONLINE)
|
14
|
+
end
|
15
|
+
|
16
|
+
def stop(svc, action)
|
17
|
+
action.actor_request(svc.cloud_host.agent_id,
|
18
|
+
'/s3fs/umount', self.s3fs_path) { |req|
|
19
|
+
req.wait
|
20
|
+
Wakame.log.debug("s3fs umount: #{self.s3fs_bucket} on #{self.s3fs_path}")
|
21
|
+
}
|
22
|
+
svc.update_monitor_status(Wakame::Service::STATUS_OFFLINE)
|
23
|
+
end
|
24
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wakame
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 5
|
8
|
+
- 1
|
9
|
+
version: 0.5.1
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- axsh co.,Ltd.
|
@@ -10,139 +15,219 @@ autorequire:
|
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
17
|
|
13
|
-
date:
|
18
|
+
date: 2010-07-30 00:00:00 +09:00
|
14
19
|
default_executable: wakame
|
15
20
|
dependencies:
|
16
21
|
- !ruby/object:Gem::Dependency
|
17
22
|
name: amqp
|
18
|
-
|
19
|
-
|
20
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
21
25
|
requirements:
|
22
|
-
- - "
|
26
|
+
- - "="
|
23
27
|
- !ruby/object:Gem::Version
|
24
|
-
|
25
|
-
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
- 6
|
31
|
+
- 5
|
32
|
+
version: 0.6.5
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
26
35
|
- !ruby/object:Gem::Dependency
|
27
36
|
name: right_aws
|
28
|
-
|
29
|
-
|
30
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
39
|
requirements:
|
32
40
|
- - ">="
|
33
41
|
- !ruby/object:Gem::Version
|
34
|
-
|
35
|
-
|
42
|
+
segments:
|
43
|
+
- 2
|
44
|
+
- 0
|
45
|
+
- 0
|
46
|
+
version: 2.0.0
|
47
|
+
type: :runtime
|
48
|
+
version_requirements: *id002
|
36
49
|
- !ruby/object:Gem::Dependency
|
37
50
|
name: eventmachine
|
38
|
-
|
39
|
-
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
41
53
|
requirements:
|
42
54
|
- - ">="
|
43
55
|
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
|
56
|
+
segments:
|
57
|
+
- 0
|
58
|
+
- 12
|
59
|
+
- 10
|
60
|
+
version: 0.12.10
|
61
|
+
type: :runtime
|
62
|
+
version_requirements: *id003
|
46
63
|
- !ruby/object:Gem::Dependency
|
47
64
|
name: rake
|
48
|
-
|
49
|
-
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
prerelease: false
|
66
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
51
67
|
requirements:
|
52
68
|
- - ">="
|
53
69
|
- !ruby/object:Gem::Version
|
70
|
+
segments:
|
71
|
+
- 0
|
72
|
+
- 8
|
73
|
+
- 7
|
54
74
|
version: 0.8.7
|
55
|
-
|
75
|
+
type: :runtime
|
76
|
+
version_requirements: *id004
|
56
77
|
- !ruby/object:Gem::Dependency
|
57
78
|
name: log4r
|
58
|
-
|
59
|
-
|
60
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
prerelease: false
|
80
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
81
|
requirements:
|
62
82
|
- - ">="
|
63
83
|
- !ruby/object:Gem::Version
|
64
|
-
|
65
|
-
|
84
|
+
segments:
|
85
|
+
- 1
|
86
|
+
- 1
|
87
|
+
- 2
|
88
|
+
version: 1.1.2
|
89
|
+
type: :runtime
|
90
|
+
version_requirements: *id005
|
66
91
|
- !ruby/object:Gem::Dependency
|
67
92
|
name: daemons
|
68
|
-
|
69
|
-
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
prerelease: false
|
94
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
71
95
|
requirements:
|
72
96
|
- - ">="
|
73
97
|
- !ruby/object:Gem::Version
|
98
|
+
segments:
|
99
|
+
- 1
|
100
|
+
- 0
|
101
|
+
- 10
|
74
102
|
version: 1.0.10
|
75
|
-
|
103
|
+
type: :runtime
|
104
|
+
version_requirements: *id006
|
76
105
|
- !ruby/object:Gem::Dependency
|
77
106
|
name: rubigen
|
78
|
-
|
79
|
-
|
80
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
prerelease: false
|
108
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
81
109
|
requirements:
|
82
110
|
- - ">="
|
83
111
|
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
|
112
|
+
segments:
|
113
|
+
- 1
|
114
|
+
- 5
|
115
|
+
- 5
|
116
|
+
version: 1.5.5
|
117
|
+
type: :runtime
|
118
|
+
version_requirements: *id007
|
86
119
|
- !ruby/object:Gem::Dependency
|
87
120
|
name: open4
|
88
|
-
|
89
|
-
|
90
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
prerelease: false
|
122
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
91
123
|
requirements:
|
92
124
|
- - ">="
|
93
125
|
- !ruby/object:Gem::Version
|
126
|
+
segments:
|
127
|
+
- 0
|
128
|
+
- 9
|
129
|
+
- 6
|
94
130
|
version: 0.9.6
|
95
|
-
|
131
|
+
type: :runtime
|
132
|
+
version_requirements: *id008
|
96
133
|
- !ruby/object:Gem::Dependency
|
97
134
|
name: jeweler
|
98
|
-
|
99
|
-
|
100
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
prerelease: false
|
136
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
101
137
|
requirements:
|
102
138
|
- - ">="
|
103
139
|
- !ruby/object:Gem::Version
|
104
|
-
|
105
|
-
|
140
|
+
segments:
|
141
|
+
- 1
|
142
|
+
- 4
|
143
|
+
- 0
|
144
|
+
version: 1.4.0
|
145
|
+
type: :runtime
|
146
|
+
version_requirements: *id009
|
106
147
|
- !ruby/object:Gem::Dependency
|
107
148
|
name: rack
|
108
|
-
|
109
|
-
|
110
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
prerelease: false
|
150
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
111
151
|
requirements:
|
112
|
-
- - "
|
152
|
+
- - "="
|
113
153
|
- !ruby/object:Gem::Version
|
114
|
-
|
115
|
-
|
154
|
+
segments:
|
155
|
+
- 1
|
156
|
+
- 1
|
157
|
+
- 0
|
158
|
+
version: 1.1.0
|
159
|
+
type: :runtime
|
160
|
+
version_requirements: *id010
|
116
161
|
- !ruby/object:Gem::Dependency
|
117
162
|
name: thin
|
118
|
-
|
119
|
-
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
prerelease: false
|
164
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
121
165
|
requirements:
|
122
166
|
- - ">="
|
123
167
|
- !ruby/object:Gem::Version
|
124
|
-
|
125
|
-
|
126
|
-
-
|
127
|
-
|
168
|
+
segments:
|
169
|
+
- 1
|
170
|
+
- 2
|
171
|
+
- 5
|
172
|
+
version: 1.2.5
|
128
173
|
type: :runtime
|
129
|
-
|
130
|
-
|
174
|
+
version_requirements: *id011
|
175
|
+
- !ruby/object:Gem::Dependency
|
176
|
+
name: json_pure
|
177
|
+
prerelease: false
|
178
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
131
179
|
requirements:
|
132
180
|
- - ">="
|
133
181
|
- !ruby/object:Gem::Version
|
134
|
-
|
135
|
-
|
182
|
+
segments:
|
183
|
+
- 1
|
184
|
+
- 4
|
185
|
+
- 3
|
186
|
+
version: 1.4.3
|
187
|
+
type: :runtime
|
188
|
+
version_requirements: *id012
|
136
189
|
- !ruby/object:Gem::Dependency
|
137
190
|
name: sequel
|
191
|
+
prerelease: false
|
192
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
193
|
+
requirements:
|
194
|
+
- - "="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
segments:
|
197
|
+
- 3
|
198
|
+
- 7
|
199
|
+
- 0
|
200
|
+
version: 3.7.0
|
138
201
|
type: :runtime
|
139
|
-
|
140
|
-
|
202
|
+
version_requirements: *id013
|
203
|
+
- !ruby/object:Gem::Dependency
|
204
|
+
name: ruby-hmac
|
205
|
+
prerelease: false
|
206
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
141
207
|
requirements:
|
142
|
-
- - "
|
208
|
+
- - "="
|
143
209
|
- !ruby/object:Gem::Version
|
144
|
-
|
145
|
-
|
210
|
+
segments:
|
211
|
+
- 0
|
212
|
+
- 3
|
213
|
+
- 2
|
214
|
+
version: 0.3.2
|
215
|
+
type: :runtime
|
216
|
+
version_requirements: *id014
|
217
|
+
- !ruby/object:Gem::Dependency
|
218
|
+
name: sqlite3-ruby
|
219
|
+
prerelease: false
|
220
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
221
|
+
requirements:
|
222
|
+
- - "="
|
223
|
+
- !ruby/object:Gem::Version
|
224
|
+
segments:
|
225
|
+
- 1
|
226
|
+
- 2
|
227
|
+
- 5
|
228
|
+
version: 1.2.5
|
229
|
+
type: :runtime
|
230
|
+
version_requirements: *id015
|
146
231
|
description: ""
|
147
232
|
email:
|
148
233
|
- m-fujiwara@axsh.net
|
@@ -154,6 +239,7 @@ extra_rdoc_files:
|
|
154
239
|
- README.rdoc
|
155
240
|
files:
|
156
241
|
- History.txt
|
242
|
+
- LICENSE
|
157
243
|
- README.rdoc
|
158
244
|
- Rakefile
|
159
245
|
- VERSION
|
@@ -170,6 +256,8 @@ files:
|
|
170
256
|
- app_generators/wakame/templates/config/environments/common.rb
|
171
257
|
- app_generators/wakame/templates/config/environments/ec2.rb
|
172
258
|
- app_generators/wakame/templates/config/environments/stand_alone.rb
|
259
|
+
- app_generators/wakame/templates/config/init.d/centos/wakame-agent
|
260
|
+
- app_generators/wakame/templates/config/init.d/centos/wakame-master
|
173
261
|
- app_generators/wakame/templates/config/init.d/wakame-agent
|
174
262
|
- app_generators/wakame/templates/config/init.d/wakame-master
|
175
263
|
- app_generators/wakame/wakame_generator.rb
|
@@ -180,9 +268,10 @@ files:
|
|
180
268
|
- lib/ext/uri.rb
|
181
269
|
- lib/wakame.rb
|
182
270
|
- lib/wakame/action.rb
|
183
|
-
- lib/wakame/
|
271
|
+
- lib/wakame/actions/deploy_application.rb
|
184
272
|
- lib/wakame/actions/deploy_config.rb
|
185
273
|
- lib/wakame/actions/destroy_instances.rb
|
274
|
+
- lib/wakame/actions/freeze_cluster.rb
|
186
275
|
- lib/wakame/actions/launch_cluster.rb
|
187
276
|
- lib/wakame/actions/launch_vm.rb
|
188
277
|
- lib/wakame/actions/migrate_service.rb
|
@@ -190,25 +279,35 @@ files:
|
|
190
279
|
- lib/wakame/actions/notify_parent_changed.rb
|
191
280
|
- lib/wakame/actions/propagate_resource.rb
|
192
281
|
- lib/wakame/actions/propagate_service.rb
|
282
|
+
- lib/wakame/actions/register_agent.rb
|
193
283
|
- lib/wakame/actions/reload_service.rb
|
194
284
|
- lib/wakame/actions/scaleout_when_high_load.rb
|
195
285
|
- lib/wakame/actions/shutdown_cluster.rb
|
196
286
|
- lib/wakame/actions/shutdown_vm.rb
|
197
287
|
- lib/wakame/actions/start_service.rb
|
198
288
|
- lib/wakame/actions/stop_service.rb
|
289
|
+
- lib/wakame/actions/unfreeze_cluster.rb
|
199
290
|
- lib/wakame/actions/util.rb
|
200
291
|
- lib/wakame/actor.rb
|
201
292
|
- lib/wakame/actor/daemon.rb
|
293
|
+
- lib/wakame/actor/deploy.rb
|
294
|
+
- lib/wakame/actor/monitor.rb
|
202
295
|
- lib/wakame/actor/mysql.rb
|
296
|
+
- lib/wakame/actor/s3fs.rb
|
203
297
|
- lib/wakame/actor/service_monitor.rb
|
204
298
|
- lib/wakame/actor/system.rb
|
205
299
|
- lib/wakame/agent.rb
|
300
|
+
- lib/wakame/agent_manager.rb
|
301
|
+
- lib/wakame/agent_managers/actor_manager.rb
|
302
|
+
- lib/wakame/agent_managers/monitor_manager.rb
|
206
303
|
- lib/wakame/amqp_client.rb
|
207
304
|
- lib/wakame/command.rb
|
208
305
|
- lib/wakame/command/action_status.rb
|
209
306
|
- lib/wakame/command/actor.rb
|
210
307
|
- lib/wakame/command/agent_status.rb
|
211
|
-
- lib/wakame/command/
|
308
|
+
- lib/wakame/command/control_service.rb
|
309
|
+
- lib/wakame/command/deploy_application.rb
|
310
|
+
- lib/wakame/command/deploy_config.rb
|
212
311
|
- lib/wakame/command/import_cluster_config.rb
|
213
312
|
- lib/wakame/command/launch_cluster.rb
|
214
313
|
- lib/wakame/command/launch_vm.rb
|
@@ -221,7 +320,6 @@ files:
|
|
221
320
|
- lib/wakame/command/start_service.rb
|
222
321
|
- lib/wakame/command/status.rb
|
223
322
|
- lib/wakame/command/stop_service.rb
|
224
|
-
- lib/wakame/command_queue.rb
|
225
323
|
- lib/wakame/configuration.rb
|
226
324
|
- lib/wakame/daemonize.rb
|
227
325
|
- lib/wakame/event.rb
|
@@ -231,6 +329,15 @@ files:
|
|
231
329
|
- lib/wakame/instance_counter.rb
|
232
330
|
- lib/wakame/logger.rb
|
233
331
|
- lib/wakame/master.rb
|
332
|
+
- lib/wakame/master_manager.rb
|
333
|
+
- lib/wakame/master_managers/action_manager.rb
|
334
|
+
- lib/wakame/master_managers/agent_monitor.rb
|
335
|
+
- lib/wakame/master_managers/cluster_manager.rb
|
336
|
+
- lib/wakame/master_managers/command_queue.rb
|
337
|
+
- lib/wakame/models/agent_pool.rb
|
338
|
+
- lib/wakame/models/application_repository.rb
|
339
|
+
- lib/wakame/models/object_store.rb
|
340
|
+
- lib/wakame/models/service_cluster_pool.rb
|
234
341
|
- lib/wakame/monitor.rb
|
235
342
|
- lib/wakame/monitor/agent.rb
|
236
343
|
- lib/wakame/monitor/service.rb
|
@@ -249,7 +356,6 @@ files:
|
|
249
356
|
- lib/wakame/triggers/maintain_ssh_known_hosts.rb
|
250
357
|
- lib/wakame/triggers/shutdown_unused_vm.rb
|
251
358
|
- lib/wakame/util.rb
|
252
|
-
- lib/wakame/vm_manipulator.rb
|
253
359
|
- tasks/ec2.rake
|
254
360
|
- tests/cluster.json
|
255
361
|
- tests/setup_agent.rb
|
@@ -260,6 +366,7 @@ files:
|
|
260
366
|
- tests/test_amqp_client.rb
|
261
367
|
- tests/test_graph.rb
|
262
368
|
- tests/test_master.rb
|
369
|
+
- tests/test_model_agent_pool.rb
|
263
370
|
- tests/test_monitor.rb
|
264
371
|
- tests/test_scheduler.rb
|
265
372
|
- tests/test_service.rb
|
@@ -291,6 +398,9 @@ files:
|
|
291
398
|
- wakame_generators/resource/templates/memcached/conf/memcached.conf
|
292
399
|
- wakame_generators/resource/templates/memcached/init.d/memcached
|
293
400
|
- wakame_generators/resource/templates/memcached/memcached.rb
|
401
|
+
- wakame_generators/resource/templates/mongodb/conf/mongodb.conf
|
402
|
+
- wakame_generators/resource/templates/mongodb/init.d/mongodb
|
403
|
+
- wakame_generators/resource/templates/mongodb/mongodb.rb
|
294
404
|
- wakame_generators/resource/templates/mysql_master/conf/my.cnf
|
295
405
|
- wakame_generators/resource/templates/mysql_master/init.d/mysql
|
296
406
|
- wakame_generators/resource/templates/mysql_master/mysql_master.rb
|
@@ -299,10 +409,19 @@ files:
|
|
299
409
|
- wakame_generators/resource/templates/mysql_slave/mysql_slave.rb
|
300
410
|
- wakame_generators/resource/templates/nginx/conf/nginx.conf
|
301
411
|
- wakame_generators/resource/templates/nginx/conf/vh/aaa.test.conf
|
412
|
+
- wakame_generators/resource/templates/nginx/conf/vh/ec2_elb_common.conf
|
302
413
|
- wakame_generators/resource/templates/nginx/init.d/nginx
|
414
|
+
- wakame_generators/resource/templates/nginx/init.d/spawn-fcgi
|
303
415
|
- wakame_generators/resource/templates/nginx/nginx.rb
|
416
|
+
- wakame_generators/resource/templates/nginx_passenger/conf/nginx-passenger.conf
|
417
|
+
- wakame_generators/resource/templates/nginx_passenger/conf/vh/ec2_elb_common.conf
|
418
|
+
- wakame_generators/resource/templates/nginx_passenger/init.d/nginx-passenger
|
419
|
+
- wakame_generators/resource/templates/nginx_passenger/nginx_passenger.rb
|
420
|
+
- wakame_generators/resource/templates/s3fs/s3fs.rb
|
304
421
|
has_rdoc: true
|
305
422
|
homepage: http://wakame.rubyforge.org/
|
423
|
+
licenses: []
|
424
|
+
|
306
425
|
post_install_message:
|
307
426
|
rdoc_options:
|
308
427
|
- --charset=UTF-8
|
@@ -312,18 +431,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
312
431
|
requirements:
|
313
432
|
- - ">="
|
314
433
|
- !ruby/object:Gem::Version
|
434
|
+
segments:
|
435
|
+
- 0
|
315
436
|
version: "0"
|
316
|
-
version:
|
317
437
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
318
438
|
requirements:
|
319
439
|
- - ">="
|
320
440
|
- !ruby/object:Gem::Version
|
441
|
+
segments:
|
442
|
+
- 0
|
321
443
|
version: "0"
|
322
|
-
version:
|
323
444
|
requirements: []
|
324
445
|
|
325
446
|
rubyforge_project: wakame
|
326
|
-
rubygems_version: 1.3.
|
447
|
+
rubygems_version: 1.3.6
|
327
448
|
signing_key:
|
328
449
|
specification_version: 2
|
329
450
|
summary: A distributed service framework on top of Cloud environments.
|