wakame 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. data/History.txt +4 -0
  2. data/LICENSE +202 -0
  3. data/Rakefile +11 -12
  4. data/VERSION +1 -1
  5. data/app_generators/wakame/templates/bin/wakame-agent +1 -1
  6. data/app_generators/wakame/templates/bin/wakame-master +1 -1
  7. data/app_generators/wakame/templates/config/cluster.rb +32 -24
  8. data/app_generators/wakame/templates/config/init.d/centos/wakame-agent +40 -0
  9. data/app_generators/wakame/templates/config/init.d/centos/wakame-master +40 -0
  10. data/app_generators/wakame/templates/config/init.d/wakame-master +1 -1
  11. data/lib/ext/eventmachine.rb +5 -5
  12. data/lib/wakame.rb +12 -0
  13. data/lib/wakame/action.rb +10 -11
  14. data/lib/wakame/actions/deploy_application.rb +61 -0
  15. data/lib/wakame/actions/deploy_config.rb +1 -3
  16. data/lib/wakame/actions/freeze_cluster.rb +15 -0
  17. data/lib/wakame/actions/launch_cluster.rb +1 -3
  18. data/lib/wakame/actions/launch_vm.rb +1 -1
  19. data/lib/wakame/actions/migrate_service.rb +4 -3
  20. data/lib/wakame/actions/notify_child_changed.rb +3 -6
  21. data/lib/wakame/actions/notify_parent_changed.rb +4 -7
  22. data/lib/wakame/actions/propagate_resource.rb +1 -3
  23. data/lib/wakame/actions/propagate_service.rb +1 -3
  24. data/lib/wakame/actions/register_agent.rb +43 -0
  25. data/lib/wakame/actions/reload_service.rb +2 -2
  26. data/lib/wakame/actions/shutdown_cluster.rb +4 -6
  27. data/lib/wakame/actions/shutdown_vm.rb +27 -6
  28. data/lib/wakame/actions/start_service.rb +40 -32
  29. data/lib/wakame/actions/stop_service.rb +8 -10
  30. data/lib/wakame/actions/unfreeze_cluster.rb +15 -0
  31. data/lib/wakame/actor.rb +2 -5
  32. data/lib/wakame/actor/deploy.rb +110 -0
  33. data/lib/wakame/actor/monitor.rb +14 -0
  34. data/lib/wakame/actor/s3fs.rb +45 -0
  35. data/lib/wakame/actor/service_monitor.rb +0 -17
  36. data/lib/wakame/actor/system.rb +5 -1
  37. data/lib/wakame/agent.rb +29 -179
  38. data/lib/wakame/agent_manager.rb +11 -0
  39. data/lib/wakame/agent_managers/actor_manager.rb +101 -0
  40. data/lib/wakame/agent_managers/monitor_manager.rb +48 -0
  41. data/lib/wakame/command.rb +4 -7
  42. data/lib/wakame/command/actor.rb +9 -12
  43. data/lib/wakame/command/agent_status.rb +2 -2
  44. data/lib/wakame/command/control_service.rb +66 -0
  45. data/lib/wakame/command/deploy_application.rb +18 -0
  46. data/lib/wakame/command/deploy_config.rb +16 -0
  47. data/lib/wakame/command/launch_cluster.rb +1 -1
  48. data/lib/wakame/command/launch_vm.rb +1 -1
  49. data/lib/wakame/command/propagate_resource.rb +1 -1
  50. data/lib/wakame/command/propagate_service.rb +5 -3
  51. data/lib/wakame/command/reload_service.rb +1 -1
  52. data/lib/wakame/command/shutdown_cluster.rb +1 -1
  53. data/lib/wakame/command/shutdown_vm.rb +37 -11
  54. data/lib/wakame/command/start_service.rb +1 -1
  55. data/lib/wakame/command/status.rb +6 -4
  56. data/lib/wakame/command/stop_service.rb +1 -1
  57. data/lib/wakame/configuration.rb +5 -0
  58. data/lib/wakame/event.rb +85 -33
  59. data/lib/wakame/event_dispatcher.rb +2 -2
  60. data/lib/wakame/initializer.rb +97 -31
  61. data/lib/wakame/master.rb +23 -346
  62. data/lib/wakame/master_manager.rb +11 -0
  63. data/lib/wakame/master_managers/action_manager.rb +321 -0
  64. data/lib/wakame/master_managers/agent_monitor.rb +166 -0
  65. data/lib/wakame/master_managers/cluster_manager.rb +176 -0
  66. data/lib/wakame/master_managers/command_queue.rb +133 -0
  67. data/lib/wakame/models/agent_pool.rb +113 -0
  68. data/lib/wakame/models/application_repository.rb +34 -0
  69. data/lib/wakame/models/object_store.rb +32 -0
  70. data/lib/wakame/models/service_cluster_pool.rb +36 -0
  71. data/lib/wakame/monitor.rb +3 -6
  72. data/lib/wakame/monitor/agent.rb +9 -6
  73. data/lib/wakame/monitor/service.rb +56 -29
  74. data/lib/wakame/runner/administrator_command.rb +210 -24
  75. data/lib/wakame/runner/agent.rb +2 -0
  76. data/lib/wakame/runner/master.rb +2 -1
  77. data/lib/wakame/service.rb +140 -130
  78. data/lib/wakame/status_db.rb +101 -121
  79. data/lib/wakame/util.rb +26 -15
  80. data/tests/setup_master.rb +1 -0
  81. data/tests/test_master.rb +0 -2
  82. data/tests/test_model_agent_pool.rb +21 -0
  83. data/tests/test_service.rb +14 -8
  84. data/tests/test_status_db.rb +2 -0
  85. data/tests/test_util.rb +12 -1
  86. data/wakame_generators/resource/templates/apache_app/apache_app.rb +20 -11
  87. data/wakame_generators/resource/templates/apache_app/conf/vh/aaa.test.conf +1 -1
  88. data/wakame_generators/resource/templates/apache_lb/apache_lb.rb +7 -7
  89. data/wakame_generators/resource/templates/apache_lb/conf/system-lb.conf +6 -4
  90. data/wakame_generators/resource/templates/apache_www/apache_www.rb +15 -13
  91. data/wakame_generators/resource/templates/ec2_elastic_ip/ec2_elastic_ip.rb +17 -17
  92. data/wakame_generators/resource/templates/ec2_elb/ec2_elb.rb +22 -15
  93. data/wakame_generators/resource/templates/mongodb/conf/mongodb.conf +95 -0
  94. data/wakame_generators/resource/templates/mongodb/init.d/mongodb +244 -0
  95. data/wakame_generators/resource/templates/mongodb/mongodb.rb +64 -0
  96. data/wakame_generators/resource/templates/mysql_master/mysql_master.rb +17 -21
  97. data/wakame_generators/resource/templates/nginx/conf/nginx.conf +4 -0
  98. data/wakame_generators/resource/templates/nginx/conf/vh/ec2_elb_common.conf +19 -0
  99. data/wakame_generators/resource/templates/nginx/init.d/nginx +6 -0
  100. data/wakame_generators/resource/templates/nginx/init.d/spawn-fcgi +46 -0
  101. data/wakame_generators/resource/templates/nginx/nginx.rb +15 -10
  102. data/wakame_generators/resource/templates/nginx_passenger/conf/nginx-passenger.conf +39 -0
  103. data/wakame_generators/resource/templates/nginx_passenger/conf/vh/ec2_elb_common.conf +10 -0
  104. data/wakame_generators/resource/templates/nginx_passenger/init.d/nginx-passenger +70 -0
  105. data/wakame_generators/resource/templates/nginx_passenger/nginx_passenger.rb +71 -0
  106. data/wakame_generators/resource/templates/s3fs/s3fs.rb +24 -0
  107. metadata +195 -74
  108. data/lib/wakame/action_manager.rb +0 -303
  109. data/lib/wakame/command/clone_service.rb +0 -12
  110. data/lib/wakame/command_queue.rb +0 -135
  111. 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 :listen_port, {:default=>80}
5
- property :listen_port_https, {:default=>443}
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
- template.cp('init.d/nginx')
12
- template.chmod("init.d/nginx", 0755)
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
- version: 0.5.0
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: 2009-09-18 00:00:00 +09:00
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
- type: :runtime
19
- version_requirement:
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
- version: 0.6.0
25
- version:
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
- type: :runtime
29
- version_requirement:
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
- version: 1.10.0
35
- version:
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
- type: :runtime
39
- version_requirement:
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
- version: 0.12.8
45
- version:
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
- type: :runtime
49
- version_requirement:
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
- version:
75
+ type: :runtime
76
+ version_requirements: *id004
56
77
  - !ruby/object:Gem::Dependency
57
78
  name: log4r
58
- type: :runtime
59
- version_requirement:
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
- version: 1.0.5
65
- version:
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
- type: :runtime
69
- version_requirement:
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
- version:
103
+ type: :runtime
104
+ version_requirements: *id006
76
105
  - !ruby/object:Gem::Dependency
77
106
  name: rubigen
78
- type: :runtime
79
- version_requirement:
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
- version: 1.5.2
85
- version:
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
- type: :runtime
89
- version_requirement:
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
- version:
131
+ type: :runtime
132
+ version_requirements: *id008
96
133
  - !ruby/object:Gem::Dependency
97
134
  name: jeweler
98
- type: :runtime
99
- version_requirement:
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
- version: 1.0.0
105
- version:
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
- type: :runtime
109
- version_requirement:
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
- version: 1.0.0
115
- version:
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
- type: :runtime
119
- version_requirement:
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
- version: 1.2.2
125
- version:
126
- - !ruby/object:Gem::Dependency
127
- name: json
168
+ segments:
169
+ - 1
170
+ - 2
171
+ - 5
172
+ version: 1.2.5
128
173
  type: :runtime
129
- version_requirement:
130
- version_requirements: !ruby/object:Gem::Requirement
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
- version: 1.1.7
135
- version:
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
- version_requirement:
140
- version_requirements: !ruby/object:Gem::Requirement
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
- version: 3.2.0
145
- version:
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/action_manager.rb
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/clone_service.rb
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.1
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.