auser-poolparty 0.2.26 → 0.2.35

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.
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