auser-poolparty 0.2.16 → 0.2.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. data/Manifest.txt +72 -7
  2. data/PostInstall.txt +1 -1
  3. data/Rakefile +11 -0
  4. data/bin/cloud-provision +6 -10
  5. data/bin/server-build-messenger +20 -0
  6. data/bin/server-fire-cmd +0 -2
  7. data/bin/server-list-responding +24 -0
  8. data/bin/server-start-master +4 -9
  9. data/bin/server-start-node +7 -6
  10. data/lib/erlang/messenger/Emakefile +1 -0
  11. data/lib/erlang/messenger/Rakefile +29 -20
  12. data/lib/erlang/messenger/ebin/master_app.beam +0 -0
  13. data/lib/erlang/messenger/ebin/node_app.beam +0 -0
  14. data/lib/erlang/messenger/ebin/packager.app +19 -0
  15. data/lib/erlang/messenger/ebin/pm_client.beam +0 -0
  16. data/lib/erlang/messenger/ebin/pm_cluster.beam +0 -0
  17. data/lib/erlang/messenger/ebin/pm_event_handler.beam +0 -0
  18. data/lib/erlang/messenger/ebin/pm_master.beam +0 -0
  19. data/lib/erlang/messenger/ebin/pm_master_rel-0.1.rel +1 -7
  20. data/lib/erlang/messenger/ebin/pm_master_supervisor.beam +0 -0
  21. data/lib/erlang/messenger/ebin/pm_node.beam +0 -0
  22. data/lib/erlang/messenger/ebin/pm_node_rel-0.1.rel +1 -7
  23. data/lib/erlang/messenger/ebin/pm_node_supervisor.beam +0 -0
  24. data/lib/erlang/messenger/ebin/pm_packager.beam +0 -0
  25. data/lib/erlang/messenger/ebin/utils.beam +0 -0
  26. data/lib/erlang/messenger/lib/eunit/AUTHORS +2 -0
  27. data/lib/erlang/messenger/lib/eunit/CHANGELOG +14 -0
  28. data/lib/erlang/messenger/lib/eunit/COPYING +504 -0
  29. data/lib/erlang/messenger/lib/eunit/Makefile +28 -0
  30. data/lib/erlang/messenger/lib/eunit/NOTES +276 -0
  31. data/lib/erlang/messenger/lib/eunit/README +3 -0
  32. data/lib/erlang/messenger/lib/eunit/doc/edoc-info +3 -0
  33. data/lib/erlang/messenger/lib/eunit/doc/erlang.png +0 -0
  34. data/lib/erlang/messenger/lib/eunit/doc/eunit.html +172 -0
  35. data/lib/erlang/messenger/lib/eunit/doc/index.html +17 -0
  36. data/lib/erlang/messenger/lib/eunit/doc/modules-frame.html +12 -0
  37. data/lib/erlang/messenger/lib/eunit/doc/overview-summary.html +984 -0
  38. data/lib/erlang/messenger/lib/eunit/doc/overview.edoc +980 -0
  39. data/lib/erlang/messenger/lib/eunit/doc/packages-frame.html +11 -0
  40. data/lib/erlang/messenger/lib/eunit/doc/stylesheet.css +55 -0
  41. data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
  42. data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
  43. data/lib/erlang/messenger/lib/eunit/ebin/eunit.app +21 -0
  44. data/lib/erlang/messenger/lib/eunit/ebin/eunit.appup +1 -0
  45. data/lib/erlang/messenger/lib/eunit/ebin/eunit.beam +0 -0
  46. data/lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam +0 -0
  47. data/lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam +0 -0
  48. data/lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam +0 -0
  49. data/lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam +0 -0
  50. data/lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam +0 -0
  51. data/lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam +0 -0
  52. data/lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam +0 -0
  53. data/lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam +0 -0
  54. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam +0 -0
  55. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam +0 -0
  56. data/lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam +0 -0
  57. data/lib/erlang/messenger/lib/eunit/examples/eunit_examples.erl +339 -0
  58. data/lib/erlang/messenger/lib/eunit/examples/fib.erl +19 -0
  59. data/lib/erlang/messenger/lib/eunit/examples/tests.txt +1 -0
  60. data/lib/erlang/messenger/lib/eunit/include/eunit.hrl +313 -0
  61. data/lib/erlang/messenger/lib/eunit/src/Makefile +46 -0
  62. data/lib/erlang/messenger/lib/eunit/src/autoload.erl +388 -0
  63. data/lib/erlang/messenger/lib/eunit/src/code_monitor.erl +243 -0
  64. data/lib/erlang/messenger/lib/eunit/src/eunit.app.src +21 -0
  65. data/lib/erlang/messenger/lib/eunit/src/eunit.appup.src +1 -0
  66. data/lib/erlang/messenger/lib/eunit/src/eunit.erl +196 -0
  67. data/lib/erlang/messenger/lib/eunit/src/eunit_autoexport.erl +102 -0
  68. data/lib/erlang/messenger/lib/eunit/src/eunit_data.erl +798 -0
  69. data/lib/erlang/messenger/lib/eunit/src/eunit_internal.hrl +48 -0
  70. data/lib/erlang/messenger/lib/eunit/src/eunit_lib.erl +682 -0
  71. data/lib/erlang/messenger/lib/eunit/src/eunit_proc.erl +552 -0
  72. data/lib/erlang/messenger/lib/eunit/src/eunit_serial.erl +157 -0
  73. data/lib/erlang/messenger/lib/eunit/src/eunit_server.erl +340 -0
  74. data/lib/erlang/messenger/lib/eunit/src/eunit_striptests.erl +64 -0
  75. data/lib/erlang/messenger/lib/eunit/src/eunit_test.erl +334 -0
  76. data/lib/erlang/messenger/lib/eunit/src/eunit_tests.erl +45 -0
  77. data/lib/erlang/messenger/lib/eunit/src/eunit_tty.erl +272 -0
  78. data/lib/erlang/messenger/lib/eunit/src/file_monitor.erl +409 -0
  79. data/lib/erlang/messenger/lib/eunit/sys.config +9 -0
  80. data/lib/erlang/messenger/lib/eunit/vsn.mk +1 -0
  81. data/lib/erlang/messenger/pm_master_rel-0.1.boot +0 -0
  82. data/lib/erlang/messenger/pm_master_rel-0.1.script +75 -2
  83. data/lib/erlang/messenger/pm_node_rel-0.1.boot +0 -0
  84. data/lib/erlang/messenger/pm_node_rel-0.1.script +75 -2
  85. data/lib/erlang/messenger/src/pm_client.erl +8 -3
  86. data/lib/erlang/messenger/src/pm_cluster.erl +32 -9
  87. data/lib/erlang/messenger/src/pm_master.erl +10 -11
  88. data/lib/erlang/messenger/src/pm_node.erl +2 -3
  89. data/lib/erlang/messenger/src/pm_packager.erl +73 -0
  90. data/lib/erlang/messenger/src/utils.erl +3 -10
  91. data/lib/poolparty/base_packages/heartbeat.rb +9 -9
  92. data/lib/poolparty/base_packages/poolparty.rb +16 -10
  93. data/lib/poolparty/config/allowed_commands.yml +1 -0
  94. data/lib/poolparty/core/object.rb +8 -0
  95. data/lib/poolparty/exceptions/UnacceptableCommand.rb +5 -0
  96. data/lib/poolparty/helpers/messenger.rb +29 -0
  97. data/lib/poolparty/helpers/provisioner_base.rb +7 -7
  98. data/lib/poolparty/helpers/provisioners/master.rb +3 -7
  99. data/lib/poolparty/helpers/provisioners/slave.rb +1 -0
  100. data/lib/poolparty/modules/cloud_resourcer.rb +7 -5
  101. data/lib/poolparty/modules/configurable.rb +1 -1
  102. data/lib/poolparty/modules/method_missing_sugar.rb +6 -1
  103. data/lib/poolparty/modules/pretty_printer.rb +1 -0
  104. data/lib/poolparty/modules/resourcing_dsl.rb +2 -1
  105. data/lib/poolparty/monitors/monitors/cpu_monitor.rb +1 -1
  106. data/lib/poolparty/net/remoter.rb +3 -1
  107. data/lib/poolparty/plugins/git.rb +3 -3
  108. data/lib/poolparty/pool/base.rb +7 -2
  109. data/lib/poolparty/pool/cloud.rb +3 -3
  110. data/lib/poolparty/pool/resource.rb +38 -24
  111. data/lib/poolparty/pool/resources/class_package.rb +2 -2
  112. data/lib/poolparty/pool/resources/conditional.rb +8 -4
  113. data/lib/poolparty/pool/resources/{gem.rb → gem_package.rb} +0 -0
  114. data/lib/poolparty/pool/resources/package.rb +8 -1
  115. data/lib/poolparty/version.rb +1 -1
  116. data/lib/poolparty.rb +1 -1
  117. data/poolparty.gemspec +476 -61
  118. data/spec/poolparty/core/object_spec.rb +20 -0
  119. data/spec/poolparty/helpers/messenger_spec.rb +14 -0
  120. data/spec/poolparty/helpers/provisioners/master_spec.rb +2 -2
  121. data/spec/poolparty/net/remoter_spec.rb +1 -1
  122. data/spec/poolparty/plugins/git_spec.rb +26 -19
  123. data/spec/poolparty/pool/base_spec.rb +20 -2
  124. data/spec/poolparty/pool/cloud_spec.rb +256 -249
  125. data/spec/poolparty/pool/custom_resource_spec.rb +6 -1
  126. data/spec/poolparty/pool/plugin_spec.rb +71 -65
  127. data/spec/poolparty/pool/resource_spec.rb +314 -237
  128. data/spec/poolparty/pool/resources/class_package_spec.rb +71 -66
  129. data/spec/poolparty/pool/resources/conditional_spec.rb +30 -26
  130. data/spec/poolparty/pool/resources/gem_spec.rb +18 -14
  131. data/spec/poolparty/pool/resources/variable_spec.rb +1 -1
  132. data/spec/poolparty/pool/script_spec.rb +46 -37
  133. data/spec/poolparty/spec_helper.rb +4 -0
  134. data/tasks/cloud.rake +0 -54
  135. data/tasks/development.rake +11 -14
  136. data/tasks/ec2.rake +10 -17
  137. data/tasks/instance.rake +0 -61
  138. data/website/index.html +1 -1
  139. metadata +83 -10
data/Manifest.txt CHANGED
@@ -25,9 +25,11 @@ bin/pool-list
25
25
  bin/pool-provision
26
26
  bin/pool-spec
27
27
  bin/pool-start
28
+ bin/server-build-messenger
28
29
  bin/server-fire-cmd
29
30
  bin/server-get-load
30
31
  bin/server-list-active
32
+ bin/server-list-responding
31
33
  bin/server-rerun
32
34
  bin/server-start-master
33
35
  bin/server-start-node
@@ -40,6 +42,7 @@ examples/with_apache_plugin.rb
40
42
  generators/poolspec/USAGE
41
43
  generators/poolspec/poolspec_generator.rb
42
44
  generators/poolspec/templates/pool_spec_template.erb
45
+ lib/erlang/messenger/Emakefile
43
46
  lib/erlang/messenger/Makefile
44
47
  lib/erlang/messenger/README
45
48
  lib/erlang/messenger/Rakefile
@@ -48,6 +51,7 @@ lib/erlang/messenger/ebin/master.app
48
51
  lib/erlang/messenger/ebin/master_app.beam
49
52
  lib/erlang/messenger/ebin/node.app
50
53
  lib/erlang/messenger/ebin/node_app.beam
54
+ lib/erlang/messenger/ebin/packager.app
51
55
  lib/erlang/messenger/ebin/pm_client.beam
52
56
  lib/erlang/messenger/ebin/pm_cluster.beam
53
57
  lib/erlang/messenger/ebin/pm_event_handler.beam
@@ -57,8 +61,63 @@ lib/erlang/messenger/ebin/pm_master_supervisor.beam
57
61
  lib/erlang/messenger/ebin/pm_node.beam
58
62
  lib/erlang/messenger/ebin/pm_node_rel-0.1.rel
59
63
  lib/erlang/messenger/ebin/pm_node_supervisor.beam
64
+ lib/erlang/messenger/ebin/pm_packager.beam
60
65
  lib/erlang/messenger/ebin/utils.beam
61
- lib/erlang/messenger/logs/pool_log.log
66
+ lib/erlang/messenger/lib/eunit/AUTHORS
67
+ lib/erlang/messenger/lib/eunit/CHANGELOG
68
+ lib/erlang/messenger/lib/eunit/COPYING
69
+ lib/erlang/messenger/lib/eunit/Makefile
70
+ lib/erlang/messenger/lib/eunit/NOTES
71
+ lib/erlang/messenger/lib/eunit/README
72
+ lib/erlang/messenger/lib/eunit/doc/edoc-info
73
+ lib/erlang/messenger/lib/eunit/doc/erlang.png
74
+ lib/erlang/messenger/lib/eunit/doc/eunit.html
75
+ lib/erlang/messenger/lib/eunit/doc/index.html
76
+ lib/erlang/messenger/lib/eunit/doc/modules-frame.html
77
+ lib/erlang/messenger/lib/eunit/doc/overview-summary.html
78
+ lib/erlang/messenger/lib/eunit/doc/overview.edoc
79
+ lib/erlang/messenger/lib/eunit/doc/packages-frame.html
80
+ lib/erlang/messenger/lib/eunit/doc/stylesheet.css
81
+ lib/erlang/messenger/lib/eunit/ebin/autoload.beam
82
+ lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam
83
+ lib/erlang/messenger/lib/eunit/ebin/eunit.app
84
+ lib/erlang/messenger/lib/eunit/ebin/eunit.appup
85
+ lib/erlang/messenger/lib/eunit/ebin/eunit.beam
86
+ lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam
87
+ lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam
88
+ lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam
89
+ lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam
90
+ lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam
91
+ lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam
92
+ lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam
93
+ lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam
94
+ lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam
95
+ lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam
96
+ lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam
97
+ lib/erlang/messenger/lib/eunit/examples/eunit_examples.erl
98
+ lib/erlang/messenger/lib/eunit/examples/fib.erl
99
+ lib/erlang/messenger/lib/eunit/examples/tests.txt
100
+ lib/erlang/messenger/lib/eunit/include/eunit.hrl
101
+ lib/erlang/messenger/lib/eunit/src/Makefile
102
+ lib/erlang/messenger/lib/eunit/src/autoload.erl
103
+ lib/erlang/messenger/lib/eunit/src/code_monitor.erl
104
+ lib/erlang/messenger/lib/eunit/src/eunit.app.src
105
+ lib/erlang/messenger/lib/eunit/src/eunit.appup.src
106
+ lib/erlang/messenger/lib/eunit/src/eunit.erl
107
+ lib/erlang/messenger/lib/eunit/src/eunit_autoexport.erl
108
+ lib/erlang/messenger/lib/eunit/src/eunit_data.erl
109
+ lib/erlang/messenger/lib/eunit/src/eunit_internal.hrl
110
+ lib/erlang/messenger/lib/eunit/src/eunit_lib.erl
111
+ lib/erlang/messenger/lib/eunit/src/eunit_proc.erl
112
+ lib/erlang/messenger/lib/eunit/src/eunit_serial.erl
113
+ lib/erlang/messenger/lib/eunit/src/eunit_server.erl
114
+ lib/erlang/messenger/lib/eunit/src/eunit_striptests.erl
115
+ lib/erlang/messenger/lib/eunit/src/eunit_test.erl
116
+ lib/erlang/messenger/lib/eunit/src/eunit_tests.erl
117
+ lib/erlang/messenger/lib/eunit/src/eunit_tty.erl
118
+ lib/erlang/messenger/lib/eunit/src/file_monitor.erl
119
+ lib/erlang/messenger/lib/eunit/sys.config
120
+ lib/erlang/messenger/lib/eunit/vsn.mk
62
121
  lib/erlang/messenger/pm_master_rel-0.1.boot
63
122
  lib/erlang/messenger/pm_master_rel-0.1.script
64
123
  lib/erlang/messenger/pm_node_rel-0.1.boot
@@ -72,17 +131,14 @@ lib/erlang/messenger/src/pm_master.erl
72
131
  lib/erlang/messenger/src/pm_master_supervisor.erl
73
132
  lib/erlang/messenger/src/pm_node.erl
74
133
  lib/erlang/messenger/src/pm_node_supervisor.erl
134
+ lib/erlang/messenger/src/pm_packager.erl
75
135
  lib/erlang/messenger/src/utils.erl
76
- lib/erlang/messenger/tmp/templates/apache2.conf
77
- lib/erlang/messenger/tmp/templates/base.conf.erb
78
- lib/erlang/messenger/tmp/templates/browser_fixes.conf.erb
79
- lib/erlang/messenger/tmp/templates/mime-minimal.conf.erb
80
- lib/erlang/messenger/tmp/templates/virtual_host.conf.erb
81
136
  lib/poolparty.rb
82
137
  lib/poolparty/base_packages/haproxy.rb
83
138
  lib/poolparty/base_packages/heartbeat.rb
84
139
  lib/poolparty/base_packages/poolparty.rb
85
140
  lib/poolparty/base_packages/ruby.rb
141
+ lib/poolparty/config/allowed_commands.yml
86
142
  lib/poolparty/core/array.rb
87
143
  lib/poolparty/core/exception.rb
88
144
  lib/poolparty/core/float.rb
@@ -102,9 +158,11 @@ lib/poolparty/exceptions/ResourceException.rb
102
158
  lib/poolparty/exceptions/RuntimeException.rb
103
159
  lib/poolparty/exceptions/SpecException.rb
104
160
  lib/poolparty/exceptions/TemplateNotFound.rb
161
+ lib/poolparty/exceptions/UnacceptableCommand.rb
105
162
  lib/poolparty/helpers/binary.rb
106
163
  lib/poolparty/helpers/console.rb
107
164
  lib/poolparty/helpers/display.rb
165
+ lib/poolparty/helpers/messenger.rb
108
166
  lib/poolparty/helpers/optioner.rb
109
167
  lib/poolparty/helpers/provisioner_base.rb
110
168
  lib/poolparty/helpers/provisioners/master.rb
@@ -144,7 +202,7 @@ lib/poolparty/pool/resources/cron.rb
144
202
  lib/poolparty/pool/resources/directory.rb
145
203
  lib/poolparty/pool/resources/exec.rb
146
204
  lib/poolparty/pool/resources/file.rb
147
- lib/poolparty/pool/resources/gem.rb
205
+ lib/poolparty/pool/resources/gem_package.rb
148
206
  lib/poolparty/pool/resources/host.rb
149
207
  lib/poolparty/pool/resources/package.rb
150
208
  lib/poolparty/pool/resources/remote_file.rb
@@ -153,6 +211,12 @@ lib/poolparty/pool/resources/sshkey.rb
153
211
  lib/poolparty/pool/resources/symlink.rb
154
212
  lib/poolparty/pool/resources/variable.rb
155
213
  lib/poolparty/pool/script.rb
214
+ lib/poolparty/pool/tmp/.ppkeys
215
+ lib/poolparty/pool/tmp/happydayz
216
+ lib/poolparty/pool/tmp/install_master.sh
217
+ lib/poolparty/pool/tmp/pool.spec
218
+ lib/poolparty/pool/tmp/poolparty.pp
219
+ lib/poolparty/pool/tmp/tc-instances.list
156
220
  lib/poolparty/templates/authkeys
157
221
  lib/poolparty/templates/cib.xml
158
222
  lib/poolparty/templates/fileserver.conf
@@ -184,6 +248,7 @@ spec/poolparty/core/time_spec.rb
184
248
  spec/poolparty/dependency_resolutions/base_spec.rb
185
249
  spec/poolparty/helpers/binary_spec.rb
186
250
  spec/poolparty/helpers/display_spec.rb
251
+ spec/poolparty/helpers/messenger_spec.rb
187
252
  spec/poolparty/helpers/optioner_spec.rb
188
253
  spec/poolparty/helpers/provisioner_base_spec.rb
189
254
  spec/poolparty/helpers/provisioners/master_spec.rb
data/PostInstall.txt CHANGED
@@ -1,4 +1,4 @@
1
- Get ready to jump in the pool, you just installed poolpartyrb!
1
+ Get ready to jump in the pool, you just installed PoolParty!
2
2
 
3
3
  To get started, run the generator:
4
4
 
data/Rakefile CHANGED
@@ -22,4 +22,15 @@ task :gemspec => [:spec, :clean_tmp, :"manifest:refresh", :local_deploy, :clean
22
22
  ::File.open("#{GEM_NAME.downcase}.gemspec", "w+") do |f|
23
23
  f << res
24
24
  end
25
+ end
26
+
27
+ desc "Generate gemspec for github"
28
+ task :githubspec => [:gemspec] do
29
+ filepath = ::File.join(::File.dirname(__FILE__), "poolparty.gemspec")
30
+ data = open(filepath).read
31
+ spec = eval("$SAFE = 3\n#{data}")
32
+ yml = YAML.dump spec
33
+ File.open(filepath, "w+") do |f|
34
+ f << yml
35
+ end
25
36
  end
data/bin/cloud-provision CHANGED
@@ -3,30 +3,26 @@ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
3
  require "poolparty"
4
4
  require "poolpartycl"
5
5
  o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
6
- opts.on('-c [master|slaves|all]', '--class [master|slave|all]', 'Provision class (default: all)') { |c| optioner.provision_class c }
6
+ opts.on('-s', '--slave', 'Provision slave (default: false)') { optioner.provision_slave true }
7
7
  opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
8
8
  end
9
9
 
10
10
  load_pool(o.spec || Binary.get_existing_spec_location)
11
11
 
12
- @provision_class = o.provision_class || "all"
13
-
14
12
  include Remote
15
13
 
16
14
  @clouds = o.cloudname ? {:cloud => cloud(o.cloudname.downcase.to_sym)} : clouds
17
15
 
18
16
  @clouds.each do |name, cloud|
19
17
 
20
- with_cloud(cloud, {:testing => o.testing, :location => @location, :provision_class => @provision_class}) do
18
+ with_cloud(cloud, {:testing => o.testing, :location => @location, :provision_slave => o.provision_slave, :provision_master => true}) do
21
19
 
22
20
  provisioning_in_progress
23
21
 
24
- if provision_class == "slave" || provision_class == "all"
25
- Provisioner.provision_slaves(self, testing)
26
- end
27
- if provision_class == "master" || provision_class == "all"
28
- Provisioner.provision_master(self, testing)
29
- end
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
30
26
 
31
27
  provisioning_complete
32
28
 
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+ require "poolpartycl"
5
+
6
+ root_dir = ::File.expand_path( ::File.join(::File.dirname(__FILE__), "..", "lib/erlang/messenger") )
7
+
8
+ INCLUDE = "include"
9
+ ERLC_FLAGS = "-I#{INCLUDE}"
10
+ @version = "0.1"
11
+
12
+ # erl -pa ./ebin/ -run pm_packager recompile_scripts #{@version} -run init stop -noshell
13
+ cmd =<<-EOE
14
+ cd #{root_dir}
15
+ rm ebin/*.beam
16
+ erlc -pa ./ebin -o ebin ./src/*.erl
17
+ erl -pa ./ebin -s pm_packager start -s init stop
18
+ EOE
19
+
20
+ out = %x[#{cmd.runnable}]
data/bin/server-fire-cmd CHANGED
@@ -11,6 +11,4 @@ end
11
11
 
12
12
  @command = o.command if o.command
13
13
 
14
- # TODO: Add a whitelist of commands the
15
- # server can run for SECURITY
16
14
  puts %x[#{@command}].chomp
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+ require "poolpartycl"
5
+
6
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
7
+ opts.on('-n name', '--name name', 'Cloud name') { |c| optioner.cloudname c }
8
+ end
9
+
10
+ load_pool(o.spec || Binary.get_existing_spec_location)
11
+
12
+ @ctype = (o.classname || "name").downcase.to_sym
13
+
14
+ include Remote
15
+
16
+ @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
17
+
18
+ @clouds.each do |name, cloud|
19
+
20
+ with_cloud(cloud, {:location => @location, :ctype => @ctype}) do
21
+ puts "#{list_of_running_instances.map{|a| "#{a.send ctype}" }.join("\t")}"
22
+ end
23
+
24
+ end
@@ -13,19 +13,14 @@ load_pool(o.spec || Binary.get_existing_spec_location)
13
13
  include Remote
14
14
 
15
15
  @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
16
- @hostname = o.hostname ? o.hostname : "master"
17
16
 
18
17
  @clouds.each do |name, cloud|
19
18
 
20
- with_cloud(cloud, {:testing => o.testing, :hostname => @hostname }) do
21
- # TODO: Change this to be app specfic
22
- # SECURITY RISK
23
- append_dir = ::File.join( ::File.dirname(__FILE__), "..", "lib/erlang/messenger" )
24
- command_line_opts = "-pa #{append_dir}/ebin -sname #{hostname} -setcookie poolparty -detached -heart"
25
- boot_file = "#{append_dir}/pm_master_rel-0.1"
26
-
27
- command = "erl -boot #{boot_file} #{command_line_opts}"
19
+ with_cloud(cloud, {:testing => o.testing }) do
28
20
 
21
+ boot_file = "#{Messenger.append_dir}/pm_master_rel-0.1"
22
+ command = Messenger.erl_command("master", "-boot #{boot_file} #{noshell ? "" : "-detached -heart"}")
23
+
29
24
  Kernel.system command
30
25
  end
31
26
 
@@ -6,6 +6,7 @@ require "poolpartycl"
6
6
  available_monitors = PoolParty::Monitors.available_monitors
7
7
  o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
8
8
  opts.on('-n name', '--name name', 'Host name') { |h| optioner.hostname h }
9
+ opts.on('-l', '--no-shell', 'No shell') {optioner.noshell true}
9
10
  end
10
11
 
11
12
  load_pool(o.spec || Binary.get_existing_spec_location)
@@ -13,18 +14,18 @@ load_pool(o.spec || Binary.get_existing_spec_location)
13
14
  include Remote
14
15
 
15
16
  @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
16
- @hostname = o.hostname ? o.hostname : "master"
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
17
20
 
18
21
  @clouds.each do |name, cloud|
19
22
 
20
- with_cloud(cloud, {:testing => o.testing, :hostname => @hostname }) do
23
+ with_cloud(cloud, {:testing => o.testing, :hostname => @hostname, :noshell => o.noshell }) do
21
24
  # TODO: Change this to be app specfic
22
25
  # SECURITY RISK
23
- append_dir = ::File.join( ::File.dirname(__FILE__), "..", "lib/erlang/messenger" )
24
- command_line_opts = "-pa #{append_dir}/ebin -sname #{hostname} -setcookie poolparty -detached -heart"
25
- boot_file = "#{append_dir}/pm_node_rel-0.1"
26
26
 
27
- command = "erl -boot #{boot_file} #{command_line_opts}"
27
+ boot_file = "#{Messenger.append_dir}/pm_node_rel-0.1"
28
+ command = Messenger.erl_command(hostname, "-boot #{boot_file} #{noshell ? "" : "-detached -heart"}")
28
29
 
29
30
  Kernel.system command
30
31
  end
@@ -0,0 +1 @@
1
+ {"src/*", [debug_info, {outdir, "ebin"}, {i,"include"}]}.
@@ -1,46 +1,29 @@
1
1
  require 'rake/clean'
2
2
 
3
3
  INCLUDE = "include"
4
-
5
4
  ERLC_FLAGS = "-I#{INCLUDE} +warn_unused_vars +warn_unused_import"
6
5
 
7
6
  SRC = FileList['src/*.erl']
8
7
  OBJ = SRC.pathmap("%{src,ebin}X.beam")
9
-
10
8
  CLEAN.include("ebin/*.beam")
11
9
 
12
10
  directory 'ebin'
13
11
 
14
- rule ".beam" => ["%{ebin,src}X.erl"] do |t|
15
- sh "erlc -D EUNIT -pa ebin -W #{ERLC_FLAGS} -o ebin #{t.source}"
12
+ rule ".beam" => ["%{ebin,src}X.erl"] do |t|
13
+ sh "erlc -pa ebin -W #{ERLC_FLAGS} -o ebin #{t.source}"
16
14
  end
17
15
 
18
- desc "Recompile the sources"
19
- task :recompile => [:clean, :compile]
20
-
21
- desc "Compile all the sources"
22
16
  task :compile => ['ebin'] + OBJ
23
-
24
- desc "Rebuild the boot scripts"
25
- task :build_boot_scripts => [:recompile] do
26
- puts "Rebuilding boot scripts"
27
- @version = "0.1"
28
- cmd = "erl -pa ./ebin/ -run utils recompile_scripts #{@version} -run init stop -noshell"
29
- Kernel.system cmd
30
- end
31
-
32
17
  task :default => :compile
33
18
 
34
- task :test => [:compile] do
19
+ task :run_tests => [:compile] do
35
20
  puts "Modules under test:"
36
21
  OBJ.each do |obj|
37
22
  obj[%r{.*/(.*).beam}]
38
23
  mod = $1
39
- puts "running #{mod}"
40
24
  test_output = `erl -pa ebin -run #{mod} test -run init stop`
41
25
 
42
26
  if /\*failed\*/ =~ test_output
43
- puts test_output
44
27
  test_output[/(Failed.*Aborted.*Skipped.*Succeeded.*$)/]
45
28
  else
46
29
  test_output[/1>\s*(.*)\n/]
@@ -49,3 +32,29 @@ task :test => [:compile] do
49
32
  puts "#{mod}: #{$1}"
50
33
  end
51
34
  end
35
+
36
+ desc "Recompile the sources"
37
+ task :recompile => [:clean, :compile]
38
+
39
+ desc "Compile all the sources"
40
+ task :compile => ['ebin'] + OBJ
41
+
42
+ desc "Rebuild the boot scripts"
43
+ task :build_boot_scripts => [:recompile] do
44
+ puts "Rebuilding boot scripts"
45
+ @version = "0.1"
46
+ cmd = "erl -pa ./ebin/ -run pm_packager recompile_scripts #{@version} -run init stop -noshell"
47
+ Kernel.system cmd
48
+ end
49
+
50
+ desc "Rebuild and repackage"
51
+ task :repackage => [:build_boot_scripts] do
52
+ cmd = "erl -pa ./ebin -s pm_packager start -s init stop"
53
+ Kernel.system cmd
54
+ end
55
+
56
+ desc "Install messenger"
57
+ task :install_messenger do
58
+ cmd = "erl -pa ./ebin/ -run pm_packager install_messenger #{@version} -run init stop -noshell"
59
+ Kernel.system cmd
60
+ end
@@ -0,0 +1,19 @@
1
+ {application, packager,
2
+ [
3
+ % Quick description of the server
4
+ {description, "Package manager for PoolParty"},
5
+ % Version
6
+ {vsn, "0.1"},
7
+ % All modules used by the application.
8
+ {modules, [packager_app, pm_packager, utils]},
9
+ % All the registered names in the application
10
+ {registered, [pm_packager]},
11
+ % These must be started for application to run
12
+ {applications, [kernel, stdlib]},
13
+ % Environment vars
14
+ {env, []},
15
+ % Module and Args used to start
16
+ {mod, {packager_app, []}},
17
+ {start_phases, []}
18
+ ]
19
+ }.
@@ -1,7 +1 @@
1
- {release, {"pm_master_rel", "0.1"},
2
- {erts, "5.6.3"},
3
- [{kernel, "2.12.2"},
4
- {stdlib, "1.15.2"},
5
- {sasl, "2.1.5.2"},
6
- {master, "0.1"}]
7
- }.
1
+ {release, {"master","0.1"}, {erts,"5.6.2"},[{kernel,"2.12.2"},{stdlib,"1.15.2"},{inets,"5.0.5"},{crypto,"1.5.1.1"},{sasl,"2.1.5.2"},{master,"0.1"}]}.
Binary file
@@ -1,7 +1 @@
1
- {release, {"pm_node_rel", "0.1"},
2
- {erts, "5.6.3"},
3
- [{kernel, "2.12.2"},
4
- {stdlib, "1.15.2"},
5
- {sasl, "2.1.5.2"},
6
- {node, "0.1"}]
7
- }.
1
+ {release, {"node","0.1"}, {erts,"5.6.2"},[{kernel,"2.12.2"},{stdlib,"1.15.2"},{inets,"5.0.5"},{crypto,"1.5.1.1"},{sasl,"2.1.5.2"},{node,"0.1"}]}.
Binary file
@@ -0,0 +1,2 @@
1
+ Richard Carlsson <richardc@it.uu.se>
2
+ Micka�l R�mond <mickael.remond@process-one.net>
@@ -0,0 +1,14 @@
1
+ 2007-04-05 Richard Carlsson <richardc@it.uu.se>
2
+
3
+ * Preparing for Beta release of EUnit 2.0 (after months in alpha)
4
+
5
+ 2005-12-13 Micka�l R�mond <mickael.remond@process-one.net>
6
+
7
+ * doc/NOTES.txt, include/unit.hrl, src/unit.erl, src/test.erl: Added
8
+ Richard Carlsson unit test tool to prepare integration in eunit.
9
+ * AUTHORS: Update
10
+
11
+ 2005-11-26 Micka�l R�mond <mickael.remond@process-one.net>
12
+
13
+ * This version is a complete rewrite of eunit 1.0. Eunit 1.1 is
14
+ simpler and compliant with Aegis development tool.