auser-poolparty 0.2.26 → 0.2.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. data/Manifest.txt +13 -2
  2. data/PostInstall.txt +2 -1
  3. data/Rakefile +8 -2
  4. data/bin/cloud-contract +1 -6
  5. data/bin/cloud-ensure-provisioning +33 -0
  6. data/bin/cloud-expand +1 -6
  7. data/bin/cloud-provision +22 -14
  8. data/bin/cloud-start +1 -0
  9. data/bin/messenger-get-load +26 -0
  10. data/bin/server-build-messenger +9 -2
  11. data/bin/server-fire-cmd +1 -1
  12. data/bin/server-get-load +4 -4
  13. data/bin/server-list-active +2 -2
  14. data/bin/server-rerun +4 -4
  15. data/bin/server-start-master +4 -4
  16. data/bin/server-start-node +4 -4
  17. data/lib/erlang/messenger/Rakefile +6 -0
  18. data/lib/erlang/messenger/ebin/master.app +1 -1
  19. data/lib/erlang/messenger/ebin/master_app.beam +0 -0
  20. data/lib/erlang/messenger/ebin/node.app +1 -1
  21. data/lib/erlang/messenger/ebin/node_app.beam +0 -0
  22. data/lib/erlang/messenger/ebin/pm_client.beam +0 -0
  23. data/lib/erlang/messenger/ebin/pm_cluster.beam +0 -0
  24. data/lib/erlang/messenger/ebin/pm_event_manager.beam +0 -0
  25. data/lib/erlang/messenger/ebin/pm_master_event_handler.beam +0 -0
  26. data/lib/erlang/messenger/ebin/pm_master_supervisor.beam +0 -0
  27. data/lib/erlang/messenger/ebin/pm_node_supervisor.beam +0 -0
  28. data/lib/erlang/messenger/ebin/pm_packager.beam +0 -0
  29. data/lib/erlang/messenger/include/defines.hrl +16 -0
  30. data/lib/erlang/messenger/pm_master.beam +0 -0
  31. data/lib/erlang/messenger/pm_node.beam +0 -0
  32. data/lib/erlang/messenger/src/pm_client.erl +35 -7
  33. data/lib/erlang/messenger/src/pm_cluster.erl +15 -12
  34. data/lib/erlang/messenger/src/pm_event_manager.erl +27 -0
  35. data/lib/erlang/messenger/src/pm_master.erl +44 -32
  36. data/lib/erlang/messenger/src/pm_master_event_handler.erl +72 -0
  37. data/lib/erlang/messenger/src/pm_master_supervisor.erl +9 -10
  38. data/lib/erlang/messenger/src/pm_node.erl +47 -27
  39. data/lib/erlang/messenger/src/pm_node_supervisor.erl +7 -9
  40. data/lib/erlang/messenger/src/utils.erl +20 -1
  41. data/lib/erlang/messenger/useful_snippets +6 -0
  42. data/lib/erlang/messenger/utils.beam +0 -0
  43. data/lib/poolparty/base_packages/haproxy.rb +6 -6
  44. data/lib/poolparty/base_packages/poolparty.rb +22 -43
  45. data/lib/poolparty/core/object.rb +3 -0
  46. data/lib/poolparty/helpers/console.rb +4 -0
  47. data/lib/poolparty/helpers/messenger.rb +14 -5
  48. data/lib/poolparty/helpers/optioner.rb +1 -1
  49. data/lib/poolparty/helpers/provisioner_base.rb +54 -15
  50. data/lib/poolparty/helpers/provisioners/master.rb +36 -8
  51. data/lib/poolparty/helpers/provisioners/slave.rb +5 -6
  52. data/lib/poolparty/net/remote_bases/ec2.rb +16 -18
  53. data/lib/poolparty/net/remote_instance.rb +4 -1
  54. data/lib/poolparty/net/remoter.rb +29 -10
  55. data/lib/poolparty/net/remoter_base.rb +2 -1
  56. data/lib/poolparty/plugins/git.rb +5 -6
  57. data/lib/poolparty/pool/base.rb +3 -2
  58. data/lib/poolparty/pool/cloud.rb +22 -14
  59. data/lib/poolparty/pool/plugin.rb +9 -0
  60. data/lib/poolparty/pool/pool.rb +2 -2
  61. data/lib/poolparty/pool/resources/class_package.rb +1 -1
  62. data/lib/poolparty/pool/resources/gem_package.rb +6 -4
  63. data/lib/poolparty/templates/puppetcleaner +6 -0
  64. data/lib/poolparty/version.rb +1 -1
  65. data/poolparty.gemspec +20 -6
  66. data/spec/poolparty/helpers/messenger_spec.rb +1 -1
  67. data/spec/poolparty/helpers/provisioner_base_spec.rb +3 -0
  68. data/spec/poolparty/net/remote_spec.rb +1 -0
  69. data/spec/poolparty/net/remoter_spec.rb +4 -1
  70. data/spec/poolparty/pool/cloud_spec.rb +2 -2
  71. data/spec/poolparty/pool/plugin_spec.rb +8 -1
  72. data/spec/poolparty/pool/resources/class_package_spec.rb +4 -4
  73. data/spec/poolparty/pool/resources/remote_file_spec.rb +1 -1
  74. data/website/index.html +1 -1
  75. metadata +20 -6
  76. data/lib/erlang/messenger/ebin/pm_event_handler.beam +0 -0
  77. data/lib/erlang/messenger/ebin/pm_master.beam +0 -0
  78. data/lib/erlang/messenger/ebin/pm_node.beam +0 -0
  79. data/lib/erlang/messenger/ebin/utils.beam +0 -0
  80. data/lib/erlang/messenger/src/pm_event_handler.erl +0 -21
@@ -8,6 +8,7 @@ bin/cloud
8
8
  bin/cloud-add-keypair
9
9
  bin/cloud-configure
10
10
  bin/cloud-contract
11
+ bin/cloud-ensure-provisioning
11
12
  bin/cloud-expand
12
13
  bin/cloud-list
13
14
  bin/cloud-maintain
@@ -18,6 +19,7 @@ bin/cloud-run
18
19
  bin/cloud-ssh
19
20
  bin/cloud-start
20
21
  bin/cloud-terminate
22
+ bin/messenger-get-load
21
23
  bin/pool
22
24
  bin/pool-console
23
25
  bin/pool-describe
@@ -47,6 +49,7 @@ lib/erlang/messenger/Makefile
47
49
  lib/erlang/messenger/README
48
50
  lib/erlang/messenger/Rakefile
49
51
  lib/erlang/messenger/control
52
+ lib/erlang/messenger/ebin/erl_crash.dump
50
53
  lib/erlang/messenger/ebin/master.app
51
54
  lib/erlang/messenger/ebin/master_app.beam
52
55
  lib/erlang/messenger/ebin/node.app
@@ -54,8 +57,9 @@ lib/erlang/messenger/ebin/node_app.beam
54
57
  lib/erlang/messenger/ebin/packager.app
55
58
  lib/erlang/messenger/ebin/pm_client.beam
56
59
  lib/erlang/messenger/ebin/pm_cluster.beam
57
- lib/erlang/messenger/ebin/pm_event_handler.beam
60
+ lib/erlang/messenger/ebin/pm_event_manager.beam
58
61
  lib/erlang/messenger/ebin/pm_master.beam
62
+ lib/erlang/messenger/ebin/pm_master_event_handler.beam
59
63
  lib/erlang/messenger/ebin/pm_master_rel-0.1.rel
60
64
  lib/erlang/messenger/ebin/pm_master_supervisor.beam
61
65
  lib/erlang/messenger/ebin/pm_node.beam
@@ -64,6 +68,7 @@ lib/erlang/messenger/ebin/pm_node_supervisor.beam
64
68
  lib/erlang/messenger/ebin/pm_packager.beam
65
69
  lib/erlang/messenger/ebin/utils.beam
66
70
  lib/erlang/messenger/erl_crash.dump
71
+ lib/erlang/messenger/include/defines.hrl
67
72
  lib/erlang/messenger/lib/eunit/AUTHORS
68
73
  lib/erlang/messenger/lib/eunit/CHANGELOG
69
74
  lib/erlang/messenger/lib/eunit/COPYING
@@ -119,21 +124,26 @@ lib/erlang/messenger/lib/eunit/src/eunit_tty.erl
119
124
  lib/erlang/messenger/lib/eunit/src/file_monitor.erl
120
125
  lib/erlang/messenger/lib/eunit/sys.config
121
126
  lib/erlang/messenger/lib/eunit/vsn.mk
127
+ lib/erlang/messenger/pm_master.beam
122
128
  lib/erlang/messenger/pm_master_rel-0.1.boot
123
129
  lib/erlang/messenger/pm_master_rel-0.1.script
130
+ lib/erlang/messenger/pm_node.beam
124
131
  lib/erlang/messenger/pm_node_rel-0.1.boot
125
132
  lib/erlang/messenger/pm_node_rel-0.1.script
126
133
  lib/erlang/messenger/src/master_app.erl
127
134
  lib/erlang/messenger/src/node_app.erl
128
135
  lib/erlang/messenger/src/pm_client.erl
129
136
  lib/erlang/messenger/src/pm_cluster.erl
130
- lib/erlang/messenger/src/pm_event_handler.erl
137
+ lib/erlang/messenger/src/pm_event_manager.erl
131
138
  lib/erlang/messenger/src/pm_master.erl
139
+ lib/erlang/messenger/src/pm_master_event_handler.erl
132
140
  lib/erlang/messenger/src/pm_master_supervisor.erl
133
141
  lib/erlang/messenger/src/pm_node.erl
134
142
  lib/erlang/messenger/src/pm_node_supervisor.erl
135
143
  lib/erlang/messenger/src/pm_packager.erl
136
144
  lib/erlang/messenger/src/utils.erl
145
+ lib/erlang/messenger/useful_snippets
146
+ lib/erlang/messenger/utils.beam
137
147
  lib/poolparty.rb
138
148
  lib/poolparty/base_packages/haproxy.rb
139
149
  lib/poolparty/base_packages/heartbeat.rb
@@ -230,6 +240,7 @@ lib/poolparty/templates/haresources
230
240
  lib/poolparty/templates/namespaceauth.conf
231
241
  lib/poolparty/templates/poolparty.monitor
232
242
  lib/poolparty/templates/puppet.conf
243
+ lib/poolparty/templates/puppetcleaner
233
244
  lib/poolparty/version.rb
234
245
  lib/poolpartycl.rb
235
246
  poolparty.gemspec
@@ -7,7 +7,8 @@ To get started, run the generator:
7
7
  Please check out the documentation for any questions or check out the google groups at
8
8
  http://groups.google.com/group/poolpartyrb
9
9
 
10
- Tutorials are at http://poolpartyrb.com
10
+ More tutorials can be found at
11
+ http://poolpartyrb.com
11
12
 
12
13
  Don't forget to check out the plugin tutorial @ http://poolpartyrb.com to extend PoolParty for your needs!
13
14
 
data/Rakefile CHANGED
@@ -16,7 +16,7 @@ task :clean_pkg do |t|
16
16
  end
17
17
  end
18
18
  desc "Generate gemspec"
19
- task :gemspec => [:spec, :clean_tmp, :"manifest:refresh", :local_deploy, :clean_pkg] do |t|
19
+ task :gemspec => [:spec, :clean_tmp, :"manifest:refresh", :local_deploy] do |t|
20
20
  res = %x[rake debug_gem]
21
21
  res = res.split("\n")[1..-1].join("\n")
22
22
  ::File.open("#{GEM_NAME.downcase}.gemspec", "w+") do |f|
@@ -25,7 +25,7 @@ task :gemspec => [:spec, :clean_tmp, :"manifest:refresh", :local_deploy, :clean
25
25
  end
26
26
 
27
27
  desc "Generate gemspec for github"
28
- task :gh => [:gemspec] do
28
+ task :gh => [:gemspec, :ghgem] do
29
29
  filepath = ::File.join(::File.dirname(__FILE__), "poolparty.gemspec")
30
30
  data = open(filepath).read
31
31
  spec = eval("$SAFE = 3\n#{data}")
@@ -33,4 +33,10 @@ task :gh => [:gemspec] do
33
33
  File.open(filepath, "w+") do |f|
34
34
  f << yml
35
35
  end
36
+ end
37
+
38
+ desc "Generate github gemspec and latest gem"
39
+ task :ghgem => [:local_deploy] do
40
+ `mv #{::File.expand_path(::File.dirname(__FILE__))}/pkg/*.gem #{::File.expand_path(::File.dirname(__FILE__))}/pkg/poolparty-latest.gem`
41
+ `git add pkg/poolparty-latest.gem -f`
36
42
  end
@@ -12,12 +12,7 @@ load_pool(o.spec || Binary.get_existing_spec_location)
12
12
 
13
13
  include Remote
14
14
 
15
- begin
16
- @cloud = cloud(o.cloudname.downcase.to_sym)
17
- rescue
18
- puts "Cloud name required. Please specify it with -n name"
19
- exit(0)
20
- end
15
+ @cloud = extract_cloud_from_options(o).first
21
16
 
22
17
  with_cloud(@cloud, {:testing => @testing}) do
23
18
  puts header("Contracting cloud #{name}")
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+ require "poolpartycl"
5
+
6
+ available_monitors = PoolParty::Monitors.available_monitors
7
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
8
+ opts.on('-n name', '--name name', 'Host name') { |h| optioner.hostname h }
9
+ opts.on('-l', '--no-shell', 'No shell') {optioner.noshell true}
10
+ end
11
+
12
+ load_pool(o.spec || Binary.get_existing_spec_location)
13
+
14
+ include Remote
15
+
16
+ @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
17
+ @hostname = o.hostname ? o.hostname : `hostname`.chomp
18
+
19
+ @hostname = "node0" if @hostname == "master" # Quick fix to make sure we have a node running on the master as well
20
+
21
+ @clouds.each do |name, cloud|
22
+
23
+ with_cloud(cloud, {:testing => o.testing, :hostname => @hostname, :noshell => o.noshell }) do
24
+ # TODO: Change this to be app specfic
25
+ # SECURITY RISK
26
+
27
+ boot_file = "#{Messenger.append_dir}/pm_node_rel-0.1"
28
+ command = Messenger.erl_command(hostname, "-boot #{boot_file} #{noshell ? "" : "-detached -heart"}")
29
+
30
+ Kernel.system command
31
+ end
32
+
33
+ end
@@ -12,12 +12,7 @@ load_pool(o.spec || Binary.get_existing_spec_location)
12
12
 
13
13
  include Remote
14
14
 
15
- begin
16
- @cloud = cloud(o.cloudname.downcase.to_sym)
17
- rescue
18
- puts "Cloud name required. Please specify it with -n name"
19
- exit(0)
20
- end
15
+ @cloud = extract_cloud_from_options(o).first
21
16
 
22
17
  with_cloud(@cloud, {:testing => @testing}) do
23
18
  puts header("Expanding cloud #{name}")
@@ -4,28 +4,36 @@ require "poolparty"
4
4
  require "poolpartycl"
5
5
  o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
6
6
  opts.on('-s', '--slave', 'Provision slave (default: false)') { optioner.provision_slave true }
7
- opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
7
+ opts.on('-i num', '--id num', 'Instance num to provision') { |i| optioner.num i }
8
8
  end
9
9
 
10
10
  load_pool(o.spec || Binary.get_existing_spec_location)
11
11
 
12
12
  include Remote
13
13
 
14
- @clouds = o.cloudname ? {:cloud => cloud(o.cloudname.downcase.to_sym)} : clouds
14
+ @clouds = extract_cloud_from_options o
15
+ @instance_num = o.num.to_i || nil
15
16
 
16
- @clouds.each do |name, cloud|
17
-
18
- with_cloud(cloud, {:testing => o.testing, :location => @location, :provision_slave => o.provision_slave, :provision_master => true}) do
19
-
20
- provisioning_in_progress
17
+ @clouds.each do |cloud|
18
+
19
+ with_cloud(cloud, {:verbose => o.verbose, :testing => o.testing, :provision_slave => (o.provision_slave || false), :instance_num => @instance_num}) do
21
20
 
22
- Provisioner.provision_master(self, testing) if provision_master
23
- Provisioner.provision_slaves(self, testing) if provision_slave
24
- # if provision_class == "master" || provision_class == "all"
25
- # end
21
+ if instance_num
22
+ @instance = get_instance_by_number( instance_num )
23
+ vputs "Provisioning instance: #{@instance.name} (#{instance_num})"
24
+ Provisioner.provision_slave(@instance, self, testing)
25
+ else
26
+ if provision_slave
27
+ vputs "Provisioning slaves"
28
+ Provisioner.provision_slaves(self, testing)
29
+ else
30
+ vputs "Provisioning master"
31
+ provisioning_in_progress
32
+ verbose ? Provisioner.provision_master(self, testing) : hide_output { Provisioner.provision_master(self, testing) }
33
+ provisioning_complete
34
+ end
35
+ end
26
36
 
27
- provisioning_complete
37
+ end
28
38
 
29
- clear_base_directory unless testing
30
- end
31
39
  end
@@ -23,6 +23,7 @@ load_pool(o.spec || Binary.get_existing_spec_location)
23
23
  puts("\tNot launching while in testing mode")
24
24
  else
25
25
  provisioning_in_progress
26
+ vputs "Launching and configuring the master"
26
27
  launch_and_configure_master!
27
28
  provisioning_complete
28
29
  end
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+ require "poolpartycl"
5
+
6
+ available_monitors = PoolParty::Monitors.available_monitors
7
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
8
+ opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
9
+ opts.on('-m name', '--monitor monitor_name', "Monitor name (default: cpu) (Available monitors: #{available_monitors.join(", ")})") {|c| optioner.monitorname c}
10
+ end
11
+
12
+ load_pool(o.spec || Binary.get_existing_spec_location)
13
+
14
+ include Remote
15
+
16
+ @clouds = extract_cloud_from_options o
17
+ @monitor = o.monitorname || "cpu"
18
+
19
+ @clouds.each do |cl|
20
+
21
+ with_cloud(cl, {:testing => o.testing, :monitorname => @monitor }) do
22
+ vputs "Getting #{monitorname} load through the messenger"
23
+ print PoolParty::Messenger.messenger_send!("get_load #{monitorname}", testing)
24
+ end
25
+
26
+ end
@@ -5,15 +5,22 @@ require "poolpartycl"
5
5
 
6
6
  root_dir = ::File.expand_path( ::File.join(::File.dirname(__FILE__), "..", "lib/erlang/messenger") )
7
7
 
8
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
9
+ end
10
+
8
11
  INCLUDE = "include"
9
12
  ERLC_FLAGS = "-I#{INCLUDE}"
10
13
  @version = "0.1"
11
14
 
12
15
  # erl -pa ./ebin/ -run pm_packager recompile_scripts #{@version} -run init stop -noshell
16
+ # erlc -pa ./ebin -o ebin ./src/*.erl
17
+ # erl -pa ./ebin -s pm_packager start -s init stop
13
18
  cmd =<<-EOE
14
19
  cd #{root_dir}
15
- erlc -pa ./ebin -o ebin ./src/*.erl
16
- erl -pa ./ebin -s pm_packager start -s init stop
20
+ rake build_boot_scripts
17
21
  EOE
18
22
 
23
+ vputs "** Building messenger **", o
24
+ vputs "Running command #{cmd.runnable}", o
25
+
19
26
  out = %x[#{cmd.runnable}]
@@ -11,4 +11,4 @@ end
11
11
 
12
12
  @command = o.command if o.command
13
13
 
14
- puts %x[#{@command}].chomp
14
+ print %x[#{@command}].chomp
@@ -13,17 +13,17 @@ load_pool(o.spec || Binary.get_existing_spec_location)
13
13
 
14
14
  include Remote
15
15
 
16
- @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
16
+ @clouds = extract_cloud_from_options o
17
17
  @monitor = o.monitorname ? o.monitorname : "cpu"
18
18
 
19
- @clouds.each do |name, cloud|
19
+ @clouds.each do |cl|
20
20
 
21
- with_cloud(cloud, {:testing => o.testing, :monitorname => @monitor }) do
21
+ with_cloud(cl, {:testing => o.testing, :monitorname => @monitor }) do
22
22
  if PoolParty::Monitors.available_monitors.include?(monitorname.downcase.to_sym)
23
23
  print "PoolParty::Monitors::#{monitorname.capitalize}Monitor".constantize.run
24
24
  else
25
25
  puts "Unknown monitor"
26
26
  end
27
- end
27
+ end
28
28
 
29
29
  end
@@ -14,9 +14,9 @@ load_pool(o.spec || Binary.get_existing_spec_location)
14
14
 
15
15
  include Remote
16
16
 
17
- @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
17
+ @clouds = extract_cloud_from_options o
18
18
 
19
- @clouds.each do |name, cloud|
19
+ @clouds.each do |cloud|
20
20
 
21
21
  with_cloud(cloud, {:location => @location, :ctype => @ctype}) do
22
22
  puts "#{list_of_running_instances.map{|a| "#{a.send ctype}" }.join("\t")}"
@@ -11,12 +11,12 @@ load_pool(o.spec || Binary.get_existing_spec_location)
11
11
 
12
12
  include Remote
13
13
 
14
- @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
14
+ @clouds = extract_cloud_from_options o
15
15
 
16
- @clouds.each do |name, cloud|
16
+ @clouds.each do |cl|
17
17
 
18
- with_cloud(cloud, {:testing => o.testing}) do
19
- cmd = master.puppet_runner_command
18
+ with_cloud(cl, {:testing => o.testing}) do
19
+ cmd = PoolParty::Remote::RemoteInstance.puppet_runner_command
20
20
  %x[#{cmd}] unless testing
21
21
  puts cmd
22
22
  end
@@ -12,18 +12,18 @@ load_pool(o.spec || Binary.get_existing_spec_location)
12
12
 
13
13
  include Remote
14
14
 
15
- @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
15
+ @clouds = extract_cloud_from_options o
16
16
 
17
- @clouds.each do |name, cloud|
17
+ @clouds.each do |cloud|
18
18
 
19
19
  with_cloud(cloud, {:testing => o.testing, :verbose => o.verbose }) do
20
20
 
21
21
  boot_file = "#{Messenger.append_dir}/pm_master_rel-0.1"
22
22
  command = Messenger.erl_command("master", "-boot #{boot_file} #{noshell ? "" : "-detached -heart"}")
23
23
 
24
- puts "Running #{command}" if verbose
24
+ vputs "Running #{command}"
25
25
 
26
- Kernel.system command
26
+ Kernel.system "exec #{command}" unless testing
27
27
  end
28
28
 
29
29
  end
@@ -13,12 +13,12 @@ load_pool(o.spec || Binary.get_existing_spec_location)
13
13
 
14
14
  include Remote
15
15
 
16
- @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
17
16
  @hostname = o.hostname ? o.hostname : `hostname`.chomp
18
-
19
17
  @hostname = "node0" if @hostname == "master" # Quick fix to make sure we have a node running on the master as well
20
18
 
21
- @clouds.each do |name, cloud|
19
+ @clouds = extract_cloud_from_options o
20
+
21
+ @clouds.each do |cloud|
22
22
 
23
23
  with_cloud(cloud, {:testing => o.testing, :hostname => @hostname, :noshell => o.noshell }) do
24
24
  # TODO: Change this to be app specfic
@@ -27,7 +27,7 @@ include Remote
27
27
  boot_file = "#{Messenger.append_dir}/pm_node_rel-0.1"
28
28
  command = Messenger.erl_command(hostname, "-boot #{boot_file} #{noshell ? "" : "-detached -heart"}")
29
29
 
30
- Kernel.system command
30
+ Kernel.system "exec #{command}" unless testing
31
31
  end
32
32
 
33
33
  end
@@ -14,6 +14,12 @@ rule ".beam" => ["%{ebin,src}X.erl"] do |t|
14
14
  end
15
15
 
16
16
  task :compile => ['ebin'] + OBJ
17
+ task :dcompile do
18
+ Dir["#{::File.dirname(__FILE__)}/src/*.erl"].each do |t|
19
+ Kernel.system "erlc -pa ebin -W #{ERLC_FLAGS} -Ddebug -o ebin #{t}"
20
+ end
21
+ end
22
+
17
23
  task :default => :compile
18
24
 
19
25
  task :run_tests => [:compile] do
@@ -5,7 +5,7 @@
5
5
  % Version
6
6
  {vsn, "0.1"},
7
7
  % All modules used by the application.
8
- {modules, [master_app, pm_master, pm_master_supervisor, utils]},
8
+ {modules, [master_app, pm_master, pm_master_supervisor, utils, pm_event_manager, pm_master_event_handler]},
9
9
  % All the registered names in the application
10
10
  {registered, [pm_master, pm_master_supervisor]},
11
11
  % These must be started for application to run
@@ -5,7 +5,7 @@
5
5
  % Version
6
6
  {vsn, "0.1"},
7
7
  % All modules used by the application.
8
- {modules, [node_app, pm_node, pm_node_supervisor, utils]},
8
+ {modules, [node_app, pm_node, pm_node_supervisor, utils, pm_event_manager]},
9
9
  % All the registered names in the application
10
10
  {registered, [pm_node, pm_node_supervisor]},
11
11
  % These must be started for application to run