auser-poolparty 0.2.8 → 0.2.9

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 (34) hide show
  1. data/Manifest.txt +5 -1
  2. data/bin/cloud +1 -1
  3. data/bin/pool +1 -1
  4. data/bin/server-list-active +25 -0
  5. data/lib/poolparty/base_packages/haproxy.rb +2 -2
  6. data/lib/poolparty/base_packages/heartbeat.rb +12 -2
  7. data/lib/poolparty/base_packages/poolparty.rb +4 -2
  8. data/lib/poolparty/core/string.rb +2 -1
  9. data/lib/poolparty/helpers/provisioner_base.rb +2 -2
  10. data/lib/poolparty/helpers/provisioners/master.rb +11 -8
  11. data/lib/poolparty/helpers/provisioners/slave.rb +3 -3
  12. data/lib/poolparty/modules/file_writer.rb +8 -0
  13. data/lib/poolparty/net/remote_instance.rb +1 -1
  14. data/lib/poolparty/pool/base.rb +11 -2
  15. data/lib/poolparty/pool/cloud.rb +11 -1
  16. data/lib/poolparty/pool/loggable.rb +3 -0
  17. data/lib/poolparty/pool/pool.rb +1 -1
  18. data/lib/poolparty/pool/resources/variable.rb +7 -6
  19. data/lib/poolparty/puppet_plugins/poolparty/plugins/puppet/parser/functions/activenodeips.rb +11 -0
  20. data/lib/poolparty/puppet_plugins/poolparty/plugins/puppet/parser/functions/activenodenames.rb +11 -0
  21. data/lib/poolparty/templates/ha.cf +9 -2
  22. data/lib/poolparty/templates/haresources +3 -0
  23. data/lib/poolparty/templates/poolparty.monitor +14 -0
  24. data/lib/poolparty/templates/puppet.conf +3 -4
  25. data/lib/poolparty/version.rb +1 -1
  26. data/poolparty.gemspec +4 -4
  27. data/spec/poolparty/core/string_spec.rb +7 -1
  28. data/spec/poolparty/helpers/provisioners/master_spec.rb +2 -2
  29. data/spec/poolparty/helpers/provisioners/slave_spec.rb +1 -1
  30. data/spec/poolparty/pool/pool_spec.rb +1 -1
  31. data/spec/poolparty/pool/resources/variable_spec.rb +4 -0
  32. data/website/index.html +5 -5
  33. data/website/index.txt +3 -3
  34. metadata +8 -3
@@ -25,6 +25,7 @@ bin/pool-provision
25
25
  bin/pool-spec
26
26
  bin/pool-start
27
27
  bin/pool-start-monitor
28
+ bin/server-list-active
28
29
  config/hoe.rb
29
30
  config/requirements.rb
30
31
  examples/basic.rb
@@ -106,13 +107,17 @@ lib/poolparty/pool/resources/sshkey.rb
106
107
  lib/poolparty/pool/resources/symlink.rb
107
108
  lib/poolparty/pool/resources/variable.rb
108
109
  lib/poolparty/pool/script.rb
110
+ lib/poolparty/puppet_plugins/poolparty/plugins/puppet/parser/functions/activenodeips.rb
111
+ lib/poolparty/puppet_plugins/poolparty/plugins/puppet/parser/functions/activenodenames.rb
109
112
  lib/poolparty/templates/authkeys
110
113
  lib/poolparty/templates/cib.xml
111
114
  lib/poolparty/templates/fileserver.conf
112
115
  lib/poolparty/templates/gem
113
116
  lib/poolparty/templates/ha.cf
114
117
  lib/poolparty/templates/haproxy.conf
118
+ lib/poolparty/templates/haresources
115
119
  lib/poolparty/templates/namespaceauth.conf
120
+ lib/poolparty/templates/poolparty.monitor
116
121
  lib/poolparty/templates/puppet.conf
117
122
  lib/poolparty/version.rb
118
123
  lib/poolpartycl.rb
@@ -143,7 +148,6 @@ spec/poolparty/modules/configurable_spec.rb
143
148
  spec/poolparty/modules/definable_resource.rb
144
149
  spec/poolparty/modules/file_writer_spec.rb
145
150
  spec/poolparty/modules/s3_string_spec.rb
146
- spec/poolparty/modules/tmp/willy/nilly.rb
147
151
  spec/poolparty/net/remote_bases/ec2_spec.rb
148
152
  spec/poolparty/net/remote_instance_spec.rb
149
153
  spec/poolparty/net/remote_spec.rb
data/bin/cloud CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/ruby
1
+ #!/usr/bin/env ruby
2
2
  $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
3
  require "poolparty"
4
4
  require "poolpartycl"
data/bin/pool CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/ruby
1
+ #!/usr/bin/env ruby
2
2
  $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
3
  require "poolparty"
4
4
  require "poolpartycl"
@@ -0,0 +1,25 @@
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('-c name', '--class name', 'Listing for cloud class (valid args: [name|ip])') { |t| optioner.classname t }
8
+ opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
9
+ end
10
+
11
+ load_pool(o.spec || Binary.get_existing_spec_location)
12
+
13
+ @ctype = (o.classname || "name").downcase.to_sym
14
+
15
+ include Remote
16
+
17
+ @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
18
+
19
+ @clouds.each do |name, cloud|
20
+
21
+ with_cloud(cloud, {:location => @location, :ctype => @ctype}) do
22
+ puts "[ #{list_of_running_instances.map{|a| "'#{a.send ctype}'" }.join(", ")} ]"
23
+ end
24
+
25
+ end
@@ -21,8 +21,8 @@ module PoolParty
21
21
 
22
22
  # Tempalte variables
23
23
  variable(:name => "name_haproxy", :value => "#{@parent.name}")
24
- variable(:name => "nodenames_haproxy", :value => list_of_node_names)
25
- variable(:name => "node_ips_haproxy", :value => list_of_node_ips)
24
+ variable(:name => "nodenames_haproxy", :value => 'generate(". /etc/profile && server-list-active -c name")')
25
+ variable(:name => "node_ips_haproxy", :value => 'generate(". /etc/profile && server-list-active -c ip")')
26
26
  variable(:name => "ports_haproxy", :value => ([(self.respond_to?(:port) ? port : Base.port)].flatten))
27
27
  variable(:name => "forwarding_port", :value => (respond_to?(:forwarding_port) ? forwarding_port : Base.forwarding_port))
28
28
  variable(:name => "proxy_mode", :value => (respond_to?(:proxy_mode) ? proxy_mode : Base.proxy_mode))
@@ -12,8 +12,9 @@ module PoolParty
12
12
  has_exec(:name => "heartbeat-update-cib", :command => "/usr/sbin/cibadmin -R -x /etc/ha.d/cib.xml", :refreshonly => true)
13
13
 
14
14
  # variables for the templates
15
- has_variable({:name => "ha_nodenames", :value => list_of_node_names})
16
- has_variable({:name => "ha_node_ips", :value => list_of_node_ips})
15
+ variable(:name => "ha_nodenames", :value => 'generate(". /etc/profile && server-list-active -c name")')
16
+ variable(:name => "ha_node_ips", :value => 'generate(". /etc/profile && server-list-active -c ip")')
17
+
17
18
  has_variable({:name => "ha_timeout", :value => (self.respond_to?(:timeout) ? timeout : "5s")})
18
19
  has_variable({:name => "ha_port", :value => (self.respond_to?(:port) ? port : Base.port)})
19
20
 
@@ -38,6 +39,15 @@ module PoolParty
38
39
  notify 'Exec["heartbeat-update-cib"]'
39
40
  template File.join(File.dirname(__FILE__), "..", "templates/cib.xml")
40
41
  end
42
+
43
+ end
44
+
45
+ execute_if("$hostname", "master") do
46
+ if list_of_node_names.size > 1
47
+ has_exec(:name => "update pem for heartbeat", :refreshonly => true) do
48
+ command "scp /etc/puppet/ssl/ca/ca_crl.pem #{user || Base.user}@#{list_of_node_ips[1]}:/etc/puppet/ssl/ca"
49
+ end
50
+ end
41
51
  end
42
52
 
43
53
  end
@@ -25,8 +25,10 @@ module PoolParty
25
25
  end
26
26
 
27
27
  # -n #{parent.name}
28
- has_cron({:command => ". /etc/profile && which cloud-maintain | /bin/sh"}) do
29
- minute "*/2"
28
+ execute_if("$hostname", "master") do
29
+ has_cron({:command => ". /etc/profile && which cloud-maintain | /bin/sh"}) do
30
+ minute "*/5"
31
+ end
30
32
  end
31
33
  # has_host(:name => "puppet", :ip => (self.respond_to?(:master) ? self : parent).master.ip)
32
34
  end
@@ -35,10 +35,11 @@ class String
35
35
  def to_option_string(ns=[])
36
36
  a_template = (self =~ /template/) == 0
37
37
  a_service = self =~ /^[A-Z][a-zA-Z]*\[[a-zA-Z0-9\-\.\"\'_\$\{\}\/]*\]/
38
+ a_function = self =~/(.)*\((.)*\)(.)*/
38
39
  if is_a?(PoolParty::Resources::Resource)
39
40
  self.to_s
40
41
  else
41
- (a_service || a_template) ? "#{self}" : "'#{self}'"
42
+ (a_service || a_template || a_function) ? self : "'#{self}'"
42
43
  end
43
44
  end
44
45
  # Refactor this guy to get the class if the class is defined, and not always create a new one
@@ -137,7 +137,7 @@ module PoolParty
137
137
  [
138
138
  upgrade_system,
139
139
  fix_rubygems,
140
- install_puppet_master,
140
+ install_puppet,
141
141
  custom_install_tasks
142
142
  ] << install_tasks
143
143
  end
@@ -237,7 +237,7 @@ module PoolParty
237
237
  end
238
238
  end
239
239
 
240
- def install_puppet_master
240
+ def install_puppet
241
241
  "#{installer_for( puppet_packages )}"
242
242
  end
243
243
 
@@ -32,19 +32,13 @@ module PoolParty
32
32
  start_puppetmaster,
33
33
  create_local_node,
34
34
  move_templates,
35
+ move_plugins,
35
36
  create_poolparty_manifest,
36
37
  restart_puppetd
37
38
  ]
38
39
  end
39
40
 
40
- # def install_haproxy
41
- # "#{installer_for( "haproxy" )}"
42
- # end
43
- #
44
- # def install_heartbeat
45
- # "#{installer_for( "heartbeat-2" )}"
46
- # end
47
-
41
+ # If the master is not in the hosts file, then add it to the hosts file
48
42
  def create_local_hosts_entry
49
43
  <<-EOS
50
44
  if [ -z \"$(grep -v '#' /etc/hosts | grep 'master')" ]; then echo '#{@master_ip} puppet master' >> /etc/hosts; fi
@@ -107,6 +101,15 @@ mkdir -p #{Base.template_path}
107
101
  cp #{Base.remote_storage_path}/#{Base.template_directory}/* #{Base.template_path}
108
102
  EOS
109
103
  end
104
+
105
+ def move_plugins
106
+ <<-EOS
107
+ mkdir -p #{Base.module_path}
108
+ cp -R #{Base.remote_storage_path}/#{Base.plugin_directory}/ #{Base.module_path}
109
+ mkdir -p /var/lib/puppet/lib/parser/functions/
110
+ cp -R #{Base.remote_storage_path}/#{Base.plugin_directory}/puppet/* /var/lib/puppet/lib/parser/functions/
111
+ EOS
112
+ end
110
113
 
111
114
  def create_poolparty_manifest
112
115
  <<-EOS
@@ -18,19 +18,19 @@ module PoolParty
18
18
  def setup_puppet
19
19
  <<-EOE
20
20
  if [ -z "$(grep -v '#' /etc/hosts | grep 'master')" ]; then echo "#{master_ip} puppet master" >> /etc/hosts; else echo "host already set"; fi
21
- mv #{Base.remote_storage_path}/#{Base.tmp_path}/namespaceauth.conf /etc/puppet/namespaceauth.conf
21
+ cp #{Base.remote_storage_path}/#{Base.tmp_path}/namespaceauth.conf /etc/puppet/namespaceauth.conf
22
22
  EOE
23
23
  end
24
24
 
25
25
  def setup_configs
26
- <<-EOS
27
- /etc/init.d/puppetmasterd stop
26
+ <<-EOS
28
27
  echo "#{open(File.join(template_directory, "puppet.conf")).read}" > /etc/puppet/puppet.conf
29
28
  EOS
30
29
  end
31
30
 
32
31
  def start_puppet
33
32
  <<-EOS
33
+ /etc/init.d/puppetmasterd stop
34
34
  puppetd --listen --fqdn #{@instance.name}
35
35
  EOS
36
36
  end
@@ -10,6 +10,11 @@ module PoolParty
10
10
  path = ::File.join( Base.template_directory, ::File.basename(file) )
11
11
  FileUtils.cp file, path
12
12
  end
13
+ def copy_plugin_to_storage_directory(file)
14
+ make_plugin_directory
15
+ path = ::File.join( Base.plugin_directory, ::File.basename(file) )
16
+ FileUtils.cp file, path
17
+ end
13
18
  def write_to_file_in_storage_directory(file, str, &block)
14
19
  path = ::File.join( Base.storage_directory, ::File.basename(file) )
15
20
  write_to_file(path, str, &block)
@@ -48,6 +53,9 @@ module PoolParty
48
53
  def make_template_directory
49
54
  FileUtils.mkdir_p Base.template_directory unless ::File.directory?(Base.template_directory)
50
55
  end
56
+ def make_plugin_directory
57
+ FileUtils.mkdir_p Base.plugin_directory unless ::File.directory?(Base.plugin_directory)
58
+ end
51
59
  def clear_base_directory
52
60
  FileUtils::rm_rf "#{Base.storage_directory}"
53
61
  end
@@ -61,7 +61,7 @@ module PoolParty
61
61
  # Printing. This is how we extract the instances into the listing on the
62
62
  # local side into the local listing file
63
63
  def to_s
64
- "#{name} #{ip}"
64
+ "#{name}\t#{ip}"
65
65
  end
66
66
  end
67
67
 
@@ -14,12 +14,13 @@ module PoolParty
14
14
  :user => "root", # This should change here
15
15
  :base_keypair_path => "~/.ec2",
16
16
  :tmp_path => "tmp",
17
- :remote_storage_path => "/var/poolparty",
18
- :storage_directory => File.join(Dir.pwd, "tmp"),
17
+ :remote_storage_path => "/var/poolparty",
19
18
  :fileserver_base => "puppet:///files",
20
19
  :base_config_directory => "/etc/poolparty",
21
20
  :template_directory => "tmp/templates",
21
+ :plugin_directory => "tmp/plugins",
22
22
  :template_path => "/var/lib/puppet/templates",
23
+ :module_path => "/etc/puppet/modules/poolparty",
23
24
  :default_specfile_name => "pool.spec",
24
25
  :port => "80",
25
26
  :forwarding_port => "8080",
@@ -68,6 +69,14 @@ module PoolParty
68
69
  "ppkeys"
69
70
  ]
70
71
  end
72
+
73
+ def storage_directory
74
+ [
75
+ "/var/poolparty"
76
+ ].select do |dir|
77
+ dir if ::File.directory?(dir) && ::File.readable?(dir)
78
+ end.first || ::File.join(Dir.pwd, "tmp")
79
+ end
71
80
 
72
81
  def pool_logger_location
73
82
  File.join(Dir.pwd, "logs")
@@ -54,11 +54,14 @@ module PoolParty
54
54
  def keypair(*args)
55
55
  has_keypair? ? options[:keypair] : generate_keypair(*args)
56
56
  end
57
+ # Let's just make sure that the keypair exists on the options
57
58
  def has_keypair?
58
59
  options.has_key?(:keypair) && options[:keypair]
59
60
  end
61
+ # Generate a keypair based on the parent's name (if there is a parent)
62
+ # and the cloud's name
60
63
  def generate_keypair(*args)
61
- options[:keypair] = args.length > 0 ? args[0] : "#{@parent.respond_to?(:name) ? @parent.name : ""}_#{@name}"
64
+ options[:keypair] = args.length > 0 ? args[0] : "#{@parent && @parent.respond_to?(:name) ? @parent.name : ""}_#{@name}"
62
65
  end
63
66
 
64
67
  # Prepare to send the new configuration to the instances
@@ -73,6 +76,7 @@ module PoolParty
73
76
  # clear_base_directory
74
77
  make_base_directory
75
78
  copy_misc_templates
79
+ copy_puppet_functions
76
80
  Base.store_keys_in_file
77
81
  Script.save!
78
82
  copy_ssh_key # not my favorite...
@@ -105,6 +109,12 @@ module PoolParty
105
109
  end
106
110
  end
107
111
 
112
+ # TODO: Fix for windowz
113
+ def copy_puppet_functions
114
+ cmd = "cp -R #{::File.join(::File.dirname(__FILE__), "..", "puppet_plugins/")} #{Base.storage_directory}/plugins"
115
+ %x[#{cmd}]
116
+ end
117
+
108
118
  # Configuration files
109
119
  def build_manifest
110
120
  @build_manifest ||= build_from_existing_file
@@ -1,3 +1,6 @@
1
+ =begin rdoc
2
+ A logging class to allow us to log to locations
3
+ =end
1
4
  class Loggable
2
5
  def initialize
3
6
  Logging.init :debug, :info, :warn, :error, :fatal
@@ -39,7 +39,7 @@ module PoolParty
39
39
  end
40
40
 
41
41
  def plugin_directory(*args)
42
- args.each {|arg| Dir["#{arg}/*.rb"].each {|f| load f }}
42
+ args.each {|arg| Dir["#{arg}/*/*.rb"].each {|f| require f }}
43
43
  end
44
44
 
45
45
  # This is where the entire process starts
@@ -13,12 +13,13 @@ module PoolParty
13
13
  end
14
14
 
15
15
  def value_string
16
- case value.class.to_s
17
- when "Array"
18
- "[ #{value.map{|a| "'#{a}'"}.join(", ")} ]"
19
- else
20
- "'#{value}'"
21
- end
16
+ value.to_option_string
17
+ # case value.class.to_s
18
+ # when "Array"
19
+ # "[ #{value.map{|a| "'#{a}'"}.join(", ")} ]"
20
+ # else
21
+ # "'#{value}'"
22
+ # end
22
23
  end
23
24
 
24
25
  end
@@ -0,0 +1,11 @@
1
+ module Puppet::Parser::Functions
2
+ newfunction(:active_node_ips, :type => :rvalue) do |args|
3
+ output = []
4
+ ret = %x[. /etc/profile && cloud-list]
5
+ active_node_list = ret.split(/\n/).map {|a| a.chomp}.reject {|a| a.nil? || a.empty? || a =~ /\*\*/}
6
+ active_node_list.each do |line|
7
+ output << line.split(/\t/)[1]
8
+ end
9
+ output
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Puppet::Parser::Functions
2
+ newfunction(:active_node_names, :type => :rvalue) do |args|
3
+ output = []
4
+ ret = %x[. /etc/profile && cloud-list]
5
+ active_node_list = ret.split(/\n/).map {|a| a.chomp}.reject {|a| a.nil? || a.empty? || a =~ /\*\*/}
6
+ active_node_list.each do |line|
7
+ output << line.split(/\t/)[0]
8
+ end
9
+ output
10
+ end
11
+ end
@@ -1,4 +1,4 @@
1
- # Haproxy conf
1
+ # Heartbeat
2
2
  keepalive 2 # Time inbetween heartbeats
3
3
  deadtime 32 # wait 32 seconds before declaring dead
4
4
  warntime 16 # issue a warning halfway through
@@ -7,6 +7,13 @@ logfacility daemon # Log to syslog as facility "daemon"
7
7
  auto_failback off
8
8
  use_logd yes
9
9
  bcast eth0
10
- crm respawn
10
+ crm on
11
+ logfile /var/log/ha.log
12
+
13
+ <% ha_node_ips.each_with_index do |ip,index| -%>
14
+ <% if $hostname != ha_nodenames[index] -%>
15
+ ucast eth0 <%= ip %>
16
+ <% end %>
17
+ <% end %>
11
18
 
12
19
  node <%= ha_nodenames.join(" ") %>
@@ -0,0 +1,3 @@
1
+ <% ha_nodenames.each_with_index do |name, index| -%>
2
+ <%= name -%> <%= ha_node_ips[index] -%>/eth0:0
3
+ <% end %>
@@ -0,0 +1,14 @@
1
+ #!/bin/bash
2
+ # Based on puppet High Availability recipe
3
+ #
4
+ # http://reductivelabs.com/trac/puppet/wiki/Recipes/HighAvailability
5
+ # Modified for PoolParty
6
+ #
7
+ exitstatus=0
8
+ processid=`ps aux | grep puppetmasterd | awk '{print $2}'`
9
+
10
+ if [ -z $processid ] || test `netstat -apn | grep "${processid}/ruby" | wc -l` -eq 0 ; then
11
+ exitstatus=1
12
+ fi
13
+
14
+ exit $exitstatus
@@ -1,12 +1,11 @@
1
1
  [main]
2
2
  vardir = /var/lib/puppet
3
3
  logdir = /var/log/puppet
4
- templatepath = /var/lib/puppet/templates
4
+ pluginsync=true
5
+ factsync=false
5
6
 
6
7
  [puppetd]
7
- localconfig = $vardir/localconfig
8
- pluginsync=false
9
- factsync=false
8
+ localconfig = $vardir/localconfig
10
9
  report=true
11
10
  server=master
12
11
 
@@ -2,7 +2,7 @@ module PoolParty
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- TINY = 8
5
+ TINY = 9
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -1,15 +1,15 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{poolparty}
3
- s.version = "0.2.8"
3
+ s.version = "0.2.9"
4
4
 
5
5
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
6
  s.authors = ["Ari Lerner"]
7
- s.date = %q{2008-10-15}
7
+ s.date = %q{2008-10-16}
8
8
  s.description = %q{Self-healing, auto-scaling cloud computing tool}
9
9
  s.email = ["ari.lerner@citrusbyte.com"]
10
- s.executables = ["cloud", "cloud-add-keypair", "cloud-configure", "cloud-contract", "cloud-expand", "cloud-list", "cloud-maintain", "cloud-osxcopy", "cloud-provision", "cloud-refresh", "cloud-ssh", "cloud-start", "cloud-terminate", "pool", "pool-console", "pool-describe", "pool-list", "pool-provision", "pool-spec", "pool-start", "pool-start-monitor"]
10
+ s.executables = ["cloud", "cloud-add-keypair", "cloud-configure", "cloud-contract", "cloud-expand", "cloud-list", "cloud-maintain", "cloud-osxcopy", "cloud-provision", "cloud-refresh", "cloud-ssh", "cloud-start", "cloud-terminate", "pool", "pool-console", "pool-describe", "pool-list", "pool-provision", "pool-spec", "pool-start", "pool-start-monitor", "server-list-active"]
11
11
  s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "PostInstall.txt", "README.txt", "website/index.txt"]
12
- s.files = ["History.txt", "License.txt", "Manifest.txt", "PostInstall.txt", "README.txt", "Rakefile", "bin/cloud", "bin/cloud-add-keypair", "bin/cloud-configure", "bin/cloud-contract", "bin/cloud-expand", "bin/cloud-list", "bin/cloud-maintain", "bin/cloud-osxcopy", "bin/cloud-provision", "bin/cloud-refresh", "bin/cloud-ssh", "bin/cloud-start", "bin/cloud-terminate", "bin/pool", "bin/pool-console", "bin/pool-describe", "bin/pool-list", "bin/pool-provision", "bin/pool-spec", "bin/pool-start", "bin/pool-start-monitor", "config/hoe.rb", "config/requirements.rb", "examples/basic.rb", "examples/plugin_without_plugin_directory.rb", "examples/poolparty.rb", "examples/with_apache_plugin.rb", "generators/poolspec/USAGE", "generators/poolspec/poolspec_generator.rb", "generators/poolspec/templates/pool_spec_template.erb", "lib/erlang/eb_server.erl", "lib/poolparty.rb", "lib/poolparty/base_packages/haproxy.rb", "lib/poolparty/base_packages/heartbeat.rb", "lib/poolparty/base_packages/poolparty.rb", "lib/poolparty/base_packages/ruby.rb", "lib/poolparty/core/array.rb", "lib/poolparty/core/exception.rb", "lib/poolparty/core/float.rb", "lib/poolparty/core/hash.rb", "lib/poolparty/core/kernel.rb", "lib/poolparty/core/module.rb", "lib/poolparty/core/my_open_struct.rb", "lib/poolparty/core/object.rb", "lib/poolparty/core/proc.rb", "lib/poolparty/core/string.rb", "lib/poolparty/core/symbol.rb", "lib/poolparty/core/time.rb", "lib/poolparty/exceptions/RemoteException.rb", "lib/poolparty/exceptions/ResourceException.rb", "lib/poolparty/exceptions/RuntimeException.rb", "lib/poolparty/exceptions/SpecException.rb", "lib/poolparty/exceptions/TemplateNotFound.rb", "lib/poolparty/helpers/binary.rb", "lib/poolparty/helpers/console.rb", "lib/poolparty/helpers/display.rb", "lib/poolparty/helpers/optioner.rb", "lib/poolparty/helpers/provisioner_base.rb", "lib/poolparty/helpers/provisioners/master.rb", "lib/poolparty/helpers/provisioners/slave.rb", "lib/poolparty/modules/cloud_resourcer.rb", "lib/poolparty/modules/configurable.rb", "lib/poolparty/modules/definable_resource.rb", "lib/poolparty/modules/file_writer.rb", "lib/poolparty/modules/method_missing_sugar.rb", "lib/poolparty/modules/output.rb", "lib/poolparty/modules/pretty_printer.rb", "lib/poolparty/modules/s3_string.rb", "lib/poolparty/modules/safe_instance.rb", "lib/poolparty/monitors/base_monitor.rb", "lib/poolparty/net/remote.rb", "lib/poolparty/net/remote_bases/ec2.rb", "lib/poolparty/net/remote_instance.rb", "lib/poolparty/net/remoter.rb", "lib/poolparty/net/remoter_base.rb", "lib/poolparty/plugins/gem_package.rb", "lib/poolparty/plugins/git.rb", "lib/poolparty/plugins/line.rb", "lib/poolparty/plugins/svn.rb", "lib/poolparty/pool/base.rb", "lib/poolparty/pool/cloud.rb", "lib/poolparty/pool/custom_resource.rb", "lib/poolparty/pool/loggable.rb", "lib/poolparty/pool/plugin.rb", "lib/poolparty/pool/plugin_model.rb", "lib/poolparty/pool/pool.rb", "lib/poolparty/pool/resource.rb", "lib/poolparty/pool/resources/class_package.rb", "lib/poolparty/pool/resources/conditional.rb", "lib/poolparty/pool/resources/cron.rb", "lib/poolparty/pool/resources/directory.rb", "lib/poolparty/pool/resources/exec.rb", "lib/poolparty/pool/resources/file.rb", "lib/poolparty/pool/resources/gem.rb", "lib/poolparty/pool/resources/host.rb", "lib/poolparty/pool/resources/package.rb", "lib/poolparty/pool/resources/remote_file.rb", "lib/poolparty/pool/resources/service.rb", "lib/poolparty/pool/resources/sshkey.rb", "lib/poolparty/pool/resources/symlink.rb", "lib/poolparty/pool/resources/variable.rb", "lib/poolparty/pool/script.rb", "lib/poolparty/templates/authkeys", "lib/poolparty/templates/cib.xml", "lib/poolparty/templates/fileserver.conf", "lib/poolparty/templates/gem", "lib/poolparty/templates/ha.cf", "lib/poolparty/templates/haproxy.conf", "lib/poolparty/templates/namespaceauth.conf", "lib/poolparty/templates/puppet.conf", "lib/poolparty/version.rb", "lib/poolpartycl.rb", "poolparty.gemspec", "script/destroy", "script/generate", "script/txt2html", "setup.rb", "spec/poolparty/base_packages/haproxy_spec.rb", "spec/poolparty/base_packages/heartbeat_spec.rb", "spec/poolparty/bin/console_spec.rb", "spec/poolparty/core/array_spec.rb", "spec/poolparty/core/float.rb", "spec/poolparty/core/hash_spec.rb", "spec/poolparty/core/kernel_spec.rb", "spec/poolparty/core/module_spec.rb", "spec/poolparty/core/object_spec.rb", "spec/poolparty/core/string_spec.rb", "spec/poolparty/core/time_spec.rb", "spec/poolparty/helpers/binary_spec.rb", "spec/poolparty/helpers/display_spec.rb", "spec/poolparty/helpers/optioner_spec.rb", "spec/poolparty/helpers/provisioner_base_spec.rb", "spec/poolparty/helpers/provisioners/master_spec.rb", "spec/poolparty/helpers/provisioners/slave_spec.rb", "spec/poolparty/modules/cloud_resourcer_spec.rb", "spec/poolparty/modules/configurable_spec.rb", "spec/poolparty/modules/definable_resource.rb", "spec/poolparty/modules/file_writer_spec.rb", "spec/poolparty/modules/s3_string_spec.rb", "spec/poolparty/modules/tmp/willy/nilly.rb", "spec/poolparty/net/remote_bases/ec2_spec.rb", "spec/poolparty/net/remote_instance_spec.rb", "spec/poolparty/net/remote_spec.rb", "spec/poolparty/net/remoter_base_spec.rb", "spec/poolparty/net/remoter_spec.rb", "spec/poolparty/plugins/git_spec.rb", "spec/poolparty/plugins/line_spec.rb", "spec/poolparty/plugins/svn_spec.rb", "spec/poolparty/pool/base_spec.rb", "spec/poolparty/pool/cloud_spec.rb", "spec/poolparty/pool/configurers/files/ruby_basic.rb", "spec/poolparty/pool/configurers/files/ruby_plugins.rb", "spec/poolparty/pool/configurers/ruby_spec.rb", "spec/poolparty/pool/custom_resource_spec.rb", "spec/poolparty/pool/example_spec.rb", "spec/poolparty/pool/plugin_model_spec.rb", "spec/poolparty/pool/plugin_spec.rb", "spec/poolparty/pool/pool_spec.rb", "spec/poolparty/pool/resource_spec.rb", "spec/poolparty/pool/resources/class_package_spec.rb", "spec/poolparty/pool/resources/conditional_spec.rb", "spec/poolparty/pool/resources/cron_spec.rb", "spec/poolparty/pool/resources/directory_spec.rb", "spec/poolparty/pool/resources/exec_spec.rb", "spec/poolparty/pool/resources/file_spec.rb", "spec/poolparty/pool/resources/gem_spec.rb", "spec/poolparty/pool/resources/host_spec.rb", "spec/poolparty/pool/resources/package_spec.rb", "spec/poolparty/pool/resources/remote_file_spec.rb", "spec/poolparty/pool/resources/service_spec.rb", "spec/poolparty/pool/resources/sshkey_spec.rb", "spec/poolparty/pool/resources/symlink_spec.rb", "spec/poolparty/pool/resources/variable_spec.rb", "spec/poolparty/pool/script_spec.rb", "spec/poolparty/pool/test_plugins/sshkey_test", "spec/poolparty/pool/test_plugins/virtual_host_template.erb", "spec/poolparty/pool/test_plugins/webserver.rb", "spec/poolparty/poolparty_spec.rb", "spec/poolparty/spec_helper.rb", "tasks/cloud.rake", "tasks/deployment.rake", "tasks/development.rake", "tasks/ec2.rake", "tasks/environment.rake", "tasks/instance.rake", "tasks/server.rake", "tasks/spec.rake", "tasks/website.rake", "test/test_generator_helper.rb", "test/test_helper.rb", "test/test_pool_spec_generator.rb", "test/test_poolparty.rb", "test_manifest.pp", "website/index.html", "website/index.txt", "website/javascripts/rounded_corners_lite.inc.js", "website/stylesheets/code.css", "website/stylesheets/screen.css", "website/template.html.erb"]
12
+ s.files = ["History.txt", "License.txt", "Manifest.txt", "PostInstall.txt", "README.txt", "Rakefile", "bin/cloud", "bin/cloud-add-keypair", "bin/cloud-configure", "bin/cloud-contract", "bin/cloud-expand", "bin/cloud-list", "bin/cloud-maintain", "bin/cloud-osxcopy", "bin/cloud-provision", "bin/cloud-refresh", "bin/cloud-ssh", "bin/cloud-start", "bin/cloud-terminate", "bin/pool", "bin/pool-console", "bin/pool-describe", "bin/pool-list", "bin/pool-provision", "bin/pool-spec", "bin/pool-start", "bin/pool-start-monitor", "bin/server-list-active", "config/hoe.rb", "config/requirements.rb", "examples/basic.rb", "examples/plugin_without_plugin_directory.rb", "examples/poolparty.rb", "examples/with_apache_plugin.rb", "generators/poolspec/USAGE", "generators/poolspec/poolspec_generator.rb", "generators/poolspec/templates/pool_spec_template.erb", "lib/erlang/eb_server.erl", "lib/poolparty.rb", "lib/poolparty/base_packages/haproxy.rb", "lib/poolparty/base_packages/heartbeat.rb", "lib/poolparty/base_packages/poolparty.rb", "lib/poolparty/base_packages/ruby.rb", "lib/poolparty/core/array.rb", "lib/poolparty/core/exception.rb", "lib/poolparty/core/float.rb", "lib/poolparty/core/hash.rb", "lib/poolparty/core/kernel.rb", "lib/poolparty/core/module.rb", "lib/poolparty/core/my_open_struct.rb", "lib/poolparty/core/object.rb", "lib/poolparty/core/proc.rb", "lib/poolparty/core/string.rb", "lib/poolparty/core/symbol.rb", "lib/poolparty/core/time.rb", "lib/poolparty/exceptions/RemoteException.rb", "lib/poolparty/exceptions/ResourceException.rb", "lib/poolparty/exceptions/RuntimeException.rb", "lib/poolparty/exceptions/SpecException.rb", "lib/poolparty/exceptions/TemplateNotFound.rb", "lib/poolparty/helpers/binary.rb", "lib/poolparty/helpers/console.rb", "lib/poolparty/helpers/display.rb", "lib/poolparty/helpers/optioner.rb", "lib/poolparty/helpers/provisioner_base.rb", "lib/poolparty/helpers/provisioners/master.rb", "lib/poolparty/helpers/provisioners/slave.rb", "lib/poolparty/modules/cloud_resourcer.rb", "lib/poolparty/modules/configurable.rb", "lib/poolparty/modules/definable_resource.rb", "lib/poolparty/modules/file_writer.rb", "lib/poolparty/modules/method_missing_sugar.rb", "lib/poolparty/modules/output.rb", "lib/poolparty/modules/pretty_printer.rb", "lib/poolparty/modules/s3_string.rb", "lib/poolparty/modules/safe_instance.rb", "lib/poolparty/monitors/base_monitor.rb", "lib/poolparty/net/remote.rb", "lib/poolparty/net/remote_bases/ec2.rb", "lib/poolparty/net/remote_instance.rb", "lib/poolparty/net/remoter.rb", "lib/poolparty/net/remoter_base.rb", "lib/poolparty/plugins/gem_package.rb", "lib/poolparty/plugins/git.rb", "lib/poolparty/plugins/line.rb", "lib/poolparty/plugins/svn.rb", "lib/poolparty/pool/base.rb", "lib/poolparty/pool/cloud.rb", "lib/poolparty/pool/custom_resource.rb", "lib/poolparty/pool/loggable.rb", "lib/poolparty/pool/plugin.rb", "lib/poolparty/pool/plugin_model.rb", "lib/poolparty/pool/pool.rb", "lib/poolparty/pool/resource.rb", "lib/poolparty/pool/resources/class_package.rb", "lib/poolparty/pool/resources/conditional.rb", "lib/poolparty/pool/resources/cron.rb", "lib/poolparty/pool/resources/directory.rb", "lib/poolparty/pool/resources/exec.rb", "lib/poolparty/pool/resources/file.rb", "lib/poolparty/pool/resources/gem.rb", "lib/poolparty/pool/resources/host.rb", "lib/poolparty/pool/resources/package.rb", "lib/poolparty/pool/resources/remote_file.rb", "lib/poolparty/pool/resources/service.rb", "lib/poolparty/pool/resources/sshkey.rb", "lib/poolparty/pool/resources/symlink.rb", "lib/poolparty/pool/resources/variable.rb", "lib/poolparty/pool/script.rb", "lib/poolparty/puppet_plugins/poolparty/plugins/puppet/parser/functions/activenodeips.rb", "lib/poolparty/puppet_plugins/poolparty/plugins/puppet/parser/functions/activenodenames.rb", "lib/poolparty/templates/authkeys", "lib/poolparty/templates/cib.xml", "lib/poolparty/templates/fileserver.conf", "lib/poolparty/templates/gem", "lib/poolparty/templates/ha.cf", "lib/poolparty/templates/haproxy.conf", "lib/poolparty/templates/haresources", "lib/poolparty/templates/namespaceauth.conf", "lib/poolparty/templates/poolparty.monitor", "lib/poolparty/templates/puppet.conf", "lib/poolparty/version.rb", "lib/poolpartycl.rb", "poolparty.gemspec", "script/destroy", "script/generate", "script/txt2html", "setup.rb", "spec/poolparty/base_packages/haproxy_spec.rb", "spec/poolparty/base_packages/heartbeat_spec.rb", "spec/poolparty/bin/console_spec.rb", "spec/poolparty/core/array_spec.rb", "spec/poolparty/core/float.rb", "spec/poolparty/core/hash_spec.rb", "spec/poolparty/core/kernel_spec.rb", "spec/poolparty/core/module_spec.rb", "spec/poolparty/core/object_spec.rb", "spec/poolparty/core/string_spec.rb", "spec/poolparty/core/time_spec.rb", "spec/poolparty/helpers/binary_spec.rb", "spec/poolparty/helpers/display_spec.rb", "spec/poolparty/helpers/optioner_spec.rb", "spec/poolparty/helpers/provisioner_base_spec.rb", "spec/poolparty/helpers/provisioners/master_spec.rb", "spec/poolparty/helpers/provisioners/slave_spec.rb", "spec/poolparty/modules/cloud_resourcer_spec.rb", "spec/poolparty/modules/configurable_spec.rb", "spec/poolparty/modules/definable_resource.rb", "spec/poolparty/modules/file_writer_spec.rb", "spec/poolparty/modules/s3_string_spec.rb", "spec/poolparty/net/remote_bases/ec2_spec.rb", "spec/poolparty/net/remote_instance_spec.rb", "spec/poolparty/net/remote_spec.rb", "spec/poolparty/net/remoter_base_spec.rb", "spec/poolparty/net/remoter_spec.rb", "spec/poolparty/plugins/git_spec.rb", "spec/poolparty/plugins/line_spec.rb", "spec/poolparty/plugins/svn_spec.rb", "spec/poolparty/pool/base_spec.rb", "spec/poolparty/pool/cloud_spec.rb", "spec/poolparty/pool/configurers/files/ruby_basic.rb", "spec/poolparty/pool/configurers/files/ruby_plugins.rb", "spec/poolparty/pool/configurers/ruby_spec.rb", "spec/poolparty/pool/custom_resource_spec.rb", "spec/poolparty/pool/example_spec.rb", "spec/poolparty/pool/plugin_model_spec.rb", "spec/poolparty/pool/plugin_spec.rb", "spec/poolparty/pool/pool_spec.rb", "spec/poolparty/pool/resource_spec.rb", "spec/poolparty/pool/resources/class_package_spec.rb", "spec/poolparty/pool/resources/conditional_spec.rb", "spec/poolparty/pool/resources/cron_spec.rb", "spec/poolparty/pool/resources/directory_spec.rb", "spec/poolparty/pool/resources/exec_spec.rb", "spec/poolparty/pool/resources/file_spec.rb", "spec/poolparty/pool/resources/gem_spec.rb", "spec/poolparty/pool/resources/host_spec.rb", "spec/poolparty/pool/resources/package_spec.rb", "spec/poolparty/pool/resources/remote_file_spec.rb", "spec/poolparty/pool/resources/service_spec.rb", "spec/poolparty/pool/resources/sshkey_spec.rb", "spec/poolparty/pool/resources/symlink_spec.rb", "spec/poolparty/pool/resources/variable_spec.rb", "spec/poolparty/pool/script_spec.rb", "spec/poolparty/pool/test_plugins/sshkey_test", "spec/poolparty/pool/test_plugins/virtual_host_template.erb", "spec/poolparty/pool/test_plugins/webserver.rb", "spec/poolparty/poolparty_spec.rb", "spec/poolparty/spec_helper.rb", "tasks/cloud.rake", "tasks/deployment.rake", "tasks/development.rake", "tasks/ec2.rake", "tasks/environment.rake", "tasks/instance.rake", "tasks/server.rake", "tasks/spec.rake", "tasks/website.rake", "test/test_generator_helper.rb", "test/test_helper.rb", "test/test_pool_spec_generator.rb", "test/test_poolparty.rb", "test_manifest.pp", "website/index.html", "website/index.txt", "website/javascripts/rounded_corners_lite.inc.js", "website/stylesheets/code.css", "website/stylesheets/screen.css", "website/template.html.erb"]
13
13
  s.has_rdoc = true
14
14
  s.homepage = %q{http://poolparty.rubyforge.org}
15
15
  s.post_install_message = %q{Get ready to jump in the pool, you just installed poolpartyrb!
@@ -135,7 +135,13 @@ listen web_proxy 127.0.0.1:3000
135
135
  end
136
136
  @file = @cloud.resource(:file).first
137
137
  @file.to_option_string.should == "File['franke']"
138
- end
138
+ end
139
+ it "should turn a function into a string without quotes" do
140
+ "active_nodes()".to_option_string.should == "active_nodes()"
141
+ end
142
+ it "should turna function into a string outsid ethe quotes with a parameter" do
143
+ "active_nodes(10)".to_option_string.should == "active_nodes(10)"
144
+ end
139
145
  end
140
146
  describe "sanitize" do
141
147
  it "should remove the periods from the string" do
@@ -18,7 +18,7 @@ describe "Master provisioner" do
18
18
  @master.stub!(:cloud).and_return @cloud
19
19
  end
20
20
  it "should call install_puppet_master" do
21
- @master.should_receive(:install_puppet_master)
21
+ @master.should_receive(:install_puppet)
22
22
  end
23
23
  it "should call create_local_hosts_entry" do
24
24
  @master.should_receive(:create_local_hosts_entry)
@@ -37,7 +37,7 @@ describe "Master provisioner" do
37
37
  end
38
38
  end
39
39
  it "should return install_puppet_master as apt-get install puppet factor" do
40
- @master.install_puppet_master.should =~ /apt-get install -y puppet puppetmaster/
40
+ @master.install_puppet.should =~ /apt-get install -y puppet puppetmaster/
41
41
  end
42
42
  it "should return setup basic structure" do
43
43
  @master.setup_basic_structure.should =~ /puppetmasterd --mkusers/
@@ -16,7 +16,7 @@ describe "Slave provisioner" do
16
16
  end
17
17
  describe "install_tasks" do
18
18
  it "should call install_puppet_slave" do
19
- @slave.should_receive(:install_puppet_master)
19
+ @slave.should_receive(:install_puppet)
20
20
  end
21
21
  after do
22
22
  @slave.install
@@ -37,7 +37,7 @@ describe "Pool" do
37
37
  end
38
38
  end
39
39
  it "should call Dir when the plugin directory is set" do
40
- Dir.should_receive(:[]).with("yaway/*.rb").once.and_return []
40
+ Dir.should_receive(:[]).with("yaway/*/*.rb").once.and_return []
41
41
  end
42
42
  end
43
43
  describe "configuration" do
@@ -17,4 +17,8 @@ describe "Variable" do
17
17
  v = variable(:name => "girlfriends", :value => %w(Rachel Erica Michelle))
18
18
  v.to_string.should == "$girlfriends = [ 'Rachel', 'Erica', 'Michelle' ]"
19
19
  end
20
+ it "should set the string to be without a string if it's a function" do
21
+ v = variable(:name => "girlfriends", :value => "lookup_var()")
22
+ v.to_string.should == "$girlfriends = lookup_var()"
23
+ end
20
24
  end
@@ -34,7 +34,7 @@
34
34
  <h1>PoolParty</h1>
35
35
  <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/poolparty"; return false'>
36
36
  <p>Get Version</p>
37
- <a href="http://rubyforge.org/projects/poolparty" class="numbers">0.2.8</a>
37
+ <a href="http://rubyforge.org/projects/poolparty" class="numbers">0.2.9</a>
38
38
  </div>
39
39
  <h1>&#8216;Easy cloud computing&#8217;</h1>
40
40
  <h2>What</h2>
@@ -78,7 +78,7 @@ cloud spec [name]
78
78
  <span class="keyword">end</span>
79
79
  </pre></p>
80
80
  <h2>Forum</h2>
81
- <p><a href="http://groups.google.com/group/PoolParty">http://groups.google.com/group/PoolParty</a></p>
81
+ <p><a href="http://groups.google.com/group/poolpartyrb">http://groups.google.com/group/PoolPartyRb</a></p>
82
82
  <h2>How to submit patches</h2>
83
83
  <p>Read the <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/">8 steps for fixing other people&#8217;s code</a> and for section <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups">8b: Submit patch to Google Groups</a>, use the Google Group above.</p>
84
84
  <p>The trunk repository is <code>http://github.com/auser/poolparty</code> for anonymous access.</p>
@@ -86,17 +86,17 @@ cloud spec [name]
86
86
  <ul>
87
87
  <li>github: <a href="http://github.com/auser/PoolParty/tree/master">http://github.com/auser/PoolParty/tree/master</a></li>
88
88
  </ul>
89
- <pre>git clone git://github.com/auser/PoolParty.git</pre>
89
+ <pre>git clone git://github.com/auser/poolparty.git</pre>
90
90
  <h3>Build and test instructions</h3>
91
91
  <p><pre class='syntax'>cd PoolParty
92
- rake test
92
+ rake spec
93
93
  rake install_gem</pre></p>
94
94
  <h2>License</h2>
95
95
  <p>This code is free to use under the terms of the <span class="caps">MIT</span> license.</p>
96
96
  <h2>Contact</h2>
97
97
  <p>Comments are welcome. Send an email to <a href="mailto:ari.lerner@citrusbyte.com">Ari Lerner</a> email via the <a href="http://groups.google.com/group/PoolParty">forum</a></p>
98
98
  <p class="coda">
99
- <a href="http://blog.citrusbyte.com">Ari Lerner</a> at <a href="http://citrusbyte.com">CitrusByte</a>, 14th October 2008<br>
99
+ <a href="http://blog.citrusbyte.com">Ari Lerner</a> at <a href="http://citrusbyte.com">CitrusByte</a>, 15th October 2008<br>
100
100
  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
101
101
  </p>
102
102
  </div>
@@ -56,7 +56,7 @@ This will create a basic spec for you in the spec directory. Then, write your sp
56
56
 
57
57
  h2. Forum
58
58
 
59
- "http://groups.google.com/group/PoolParty":http://groups.google.com/group/PoolParty
59
+ "http://groups.google.com/group/PoolPartyRb":http://groups.google.com/group/poolpartyrb
60
60
 
61
61
  h2. How to submit patches
62
62
 
@@ -76,12 +76,12 @@ You can fetch the source from either:
76
76
 
77
77
  * github: "http://github.com/auser/PoolParty/tree/master":http://github.com/auser/PoolParty/tree/master
78
78
 
79
- <pre>git clone git://github.com/auser/PoolParty.git</pre>
79
+ <pre>git clone git://github.com/auser/poolparty.git</pre>
80
80
 
81
81
  h3. Build and test instructions
82
82
 
83
83
  <pre syntax="bash">cd PoolParty
84
- rake test
84
+ rake spec
85
85
  rake install_gem</pre>
86
86
 
87
87
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auser-poolparty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ari Lerner
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-10-15 00:00:00 -07:00
12
+ date: 2008-10-16 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -82,6 +82,7 @@ executables:
82
82
  - pool-spec
83
83
  - pool-start
84
84
  - pool-start-monitor
85
+ - server-list-active
85
86
  extensions: []
86
87
 
87
88
  extra_rdoc_files:
@@ -119,6 +120,7 @@ files:
119
120
  - bin/pool-spec
120
121
  - bin/pool-start
121
122
  - bin/pool-start-monitor
123
+ - bin/server-list-active
122
124
  - config/hoe.rb
123
125
  - config/requirements.rb
124
126
  - examples/basic.rb
@@ -200,13 +202,17 @@ files:
200
202
  - lib/poolparty/pool/resources/symlink.rb
201
203
  - lib/poolparty/pool/resources/variable.rb
202
204
  - lib/poolparty/pool/script.rb
205
+ - lib/poolparty/puppet_plugins/poolparty/plugins/puppet/parser/functions/activenodeips.rb
206
+ - lib/poolparty/puppet_plugins/poolparty/plugins/puppet/parser/functions/activenodenames.rb
203
207
  - lib/poolparty/templates/authkeys
204
208
  - lib/poolparty/templates/cib.xml
205
209
  - lib/poolparty/templates/fileserver.conf
206
210
  - lib/poolparty/templates/gem
207
211
  - lib/poolparty/templates/ha.cf
208
212
  - lib/poolparty/templates/haproxy.conf
213
+ - lib/poolparty/templates/haresources
209
214
  - lib/poolparty/templates/namespaceauth.conf
215
+ - lib/poolparty/templates/poolparty.monitor
210
216
  - lib/poolparty/templates/puppet.conf
211
217
  - lib/poolparty/version.rb
212
218
  - lib/poolpartycl.rb
@@ -237,7 +243,6 @@ files:
237
243
  - spec/poolparty/modules/definable_resource.rb
238
244
  - spec/poolparty/modules/file_writer_spec.rb
239
245
  - spec/poolparty/modules/s3_string_spec.rb
240
- - spec/poolparty/modules/tmp/willy/nilly.rb
241
246
  - spec/poolparty/net/remote_bases/ec2_spec.rb
242
247
  - spec/poolparty/net/remote_instance_spec.rb
243
248
  - spec/poolparty/net/remote_spec.rb