rubber 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,44 @@
1
+ 1.3.0
2
+ -----
3
+
4
+ fix release process <4e1243b> [Matt Conway]
5
+ more tests <6a70bb5> [Matt Conway]
6
+ Merge branch 'master' into zerigo_api_1_1 <9d5fb10> [Matt Conway]
7
+ Merge branch 'master' into canonical_ami <b40f95a> [Matt Conway]
8
+ preserver backwards compatbility with sysklog in older ubuntu images <daf3283> [Matt Conway]
9
+ Bump rubygems version. <60509fb> [Kevin Menard]
10
+ Redis version bump. <89ca8ee> [Kevin Menard]
11
+ Merge branch 'master' into canonical_ami <fc62f2e> [Matt Conway]
12
+ ruby 1.9 fix for to_a (thanks to rlewis) <19fa3c1> [Matt Conway]
13
+ Fixed compatibility issues with Ruby 1.9.x <d037136> [Matt Conway]
14
+ Merge branch 'jrhicks/master' <b28fa6a> [Matt Conway]
15
+ disable debian.cnf copy <fdbbf8c> [Matt Conway]
16
+ prevent backups when generating apparmor config file <2cc50b6> [Matt Conway]
17
+ cleanup remote ruby script execution <86da61e> [Matt Conway]
18
+ fix force flag, add backup flag for disabling backups (e.g. in /etc/*.d directories) <9e749fd> [Matt Conway]
19
+ prevent ubuntu 9.10 ec2-init script from changing hostname <739a495> [Matt Conway]
20
+ fix monit config for new version in ubuntu 9.10 <6df5a33> [Matt Conway]
21
+ move mysql reconfigure to common mysql bootstrap <4ce6255> [Matt Conway]
22
+ fix mysql deploy for new ubuntu <7ef0ae7> [Matt Conway]
23
+ Ubuntu using rsyslog now <904f225> [Matt Conway]
24
+ update to latest rubygems <7722ba6> [Matt Conway]
25
+ use sudo everywhere in case users don't want to run as root <8b19367> [Matt Conway]
26
+ allow root login to canonical amis <d04b7f1> [Matt Conway]
27
+ Switch to canonical AMIs <4cd540e> [Matt Conway]
28
+ fix 404, use zone.id <2219de4> [Matt Conway]
29
+ Merge branch 'zerigo_api_1_1' of github.com:wr0ngway/rubber into zerigo_api_1_1 <23f7b70> [Matt Conway]
30
+ no need for customer id in new zerigo api <e91589a> [Matt Conway]
31
+ using zerigo api v1.1 <1aecee3> [Matt Conway]
32
+ no need for customer id in new zerigo api <45c4258> [Matt Conway]
33
+ using zerigo api v1.1 <8784286> [Matt Conway]
34
+ Only proxy app roles since mongrel may be used by non-app roles. <3dd218d> [Kevin Menard]
35
+ Only proxy app roles since passenger may be used for non-app roles, too. <13a7f49> [Kevin Menard]
36
+ Add capistrano task to move data from deploy client to production server. cap rubber:mysql:local_to_ec2 <628920d> [Jeffrey Hicks]
37
+ Added mysql cap commands rubber:mysql:backup and rubber:mysql:restore_s3 <2f3c535> [Jeffrey Hicks]
38
+ Added mysql client headers to mysql package to allow compilation of mysql <89c5a38> [Jeffrey Hicks]
39
+ Passenger bump. <d09934e> [Kevin Menard]
40
+ Use full path to ruby in case munin's path doesn't work due to non-login shell. <c9ec151> [Kevin Menard]
41
+
1
42
  1.2.1
2
43
  -----
3
44
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.0
1
+ 1.3.1
@@ -29,7 +29,7 @@ namespace :rubber do
29
29
  src="http://rubyforge.org/frs/download.php/68718/ruby-enterprise_#{ver}_i386.deb"
30
30
  fi
31
31
  src_file="${src##*/}"
32
- wget -qP /tmp ${src}
32
+ wget -qNP /tmp ${src}
33
33
  dpkg -i /tmp/${src_file}
34
34
  fi
35
35
  ENDSCRIPT
@@ -140,7 +140,7 @@ ruby_prefix: "#{use_enterprise_ruby ? '/usr/local' : '/usr'}"
140
140
  # OPTIONAL: The packages to install on all instances
141
141
  # You can install a specific version of a package by using a sub-array of pkg, version
142
142
  # For example, packages: [[rake, 0.7.1], irb]
143
- packages: [postfix, build-essential, ruby-full, ruby1.8-dev, rake, irb, git-core]
143
+ packages: [postfix, build-essential, ruby-full, ruby1.8-dev, rake, irb, git-core, ec2-ami-tools]
144
144
 
145
145
  # OPTIONAL: gem sources to setup for rubygems
146
146
  # gemsources: ["http://rubygems.org", "http://gems.github.com"]
@@ -10,7 +10,7 @@ namespace :rubber do
10
10
  task :custom_install, :roles => :jetty do
11
11
  rubber.sudo_script 'install_jetty', <<-ENDSCRIPT
12
12
  if [[ -z `ls #{rubber_env.jetty_prefix}/jetty-hightide-#{rubber_env.jetty_version} 2> /dev/null` ]]; then
13
- wget -q http://dist.codehaus.org/jetty/jetty-hightide-7.0.0/jetty-hightide-#{rubber_env.jetty_version}.tar.gz
13
+ wget -qN http://dist.codehaus.org/jetty/jetty-hightide-7.0.0/jetty-hightide-#{rubber_env.jetty_version}.tar.gz
14
14
  tar -zxf jetty-hightide-#{rubber_env.jetty_version}.tar.gz
15
15
 
16
16
  # Install to appropriate location.
@@ -132,8 +132,8 @@ namespace :rubber do
132
132
  task :custom_install_munin, :roles => [:mysql_master, :mysql_slave] do
133
133
  rubber.sudo_script 'install_munin_mysql', <<-ENDSCRIPT
134
134
  if [ ! -f /usr/share/munin/plugins/mysql_ ]; then
135
- wget -q -O /usr/share/munin/plugins/mysql_ http://github.com/kjellm/munin-mysql/raw/master/mysql_
136
- wget -q -O /etc/munin/plugin-conf.d/mysql_.conf http://github.com/kjellm/munin-mysql/raw/master/mysql_.conf
135
+ wget -qN -O /usr/share/munin/plugins/mysql_ http://github.com/kjellm/munin-mysql/raw/master/mysql_
136
+ wget -qN -O /etc/munin/plugin-conf.d/mysql_.conf http://github.com/kjellm/munin-mysql/raw/master/mysql_.conf
137
137
  fi
138
138
  ENDSCRIPT
139
139
  end
@@ -7,4 +7,29 @@ PassengerRoot <%= rubber_env.passenger_root %>
7
7
  PassengerRuby <%= rubber_env.passenger_ruby %>
8
8
  PassengerUseGlobalQueue on
9
9
 
10
+ # max number of rails instances per appserver
10
11
  PassengerMaxPoolSize <%= rubber_env.max_app_connections %>
12
+
13
+ # Use PassengerMaxPoolSize for limit as we only have 1 app
14
+ PassengerMaxInstancesPerApp 0
15
+
16
+ # For performances sake, never shutdown rails instances when idle
17
+ PassengerPoolIdleTime 0
18
+
19
+ # For performances sake, never shutdown a rails instance after N requests
20
+ PassengerMaxRequests 0
21
+
22
+ # Passenger checks stuff like restart.txt on every request when this is 0
23
+ PassengerStatThrottleRate <%= RUBBER_ENV == 'production' ? '60' : '0' %>
24
+
25
+ # Turning this on breaks mod_rewrite
26
+ PassengerHighPerformance off
27
+
28
+ # Cache framework code per application
29
+ RailsSpawnMethod smart-lv2
30
+
31
+ # For performances sake, don't ever unload framework spawner
32
+ RailsFrameworkSpawnerIdleTime 0
33
+
34
+ # For performances sake, don't ever unload app spawner
35
+ RailsAppSpawnerIdleTime 0
@@ -9,6 +9,7 @@ namespace :rubber do
9
9
  task :bootstrap do
10
10
  link_bash
11
11
  set_timezone
12
+ enable_multiverse
12
13
  upgrade_packages
13
14
  install_packages
14
15
  setup_volumes
@@ -196,7 +197,7 @@ namespace :rubber do
196
197
  # Setup hostname on instance so shell, etcs have nice display
197
198
  sudo "sh -c 'echo $CAPISTRANO:HOST$ > /etc/hostname && hostname $CAPISTRANO:HOST$'"
198
199
  # Newer ubuntus ec2-init script always resets hostname, so prevent it
199
- sudo "sh -c 'echo compat=0 > /etc/ec2-init/is-compat-env'"
200
+ sudo "sh -c 'mkdir -p/etc/ec2-init && echo compat=0 > /etc/ec2-init/is-compat-env'"
200
201
  end
201
202
 
202
203
  # TODO
@@ -348,6 +349,18 @@ namespace :rubber do
348
349
  ENDSCRIPT
349
350
  end
350
351
 
352
+ desc <<-DESC
353
+ Enable the ubuntu multiverse source for getting packages like
354
+ ec2-ami-tools used for bundling images
355
+ DESC
356
+ task :enable_multiverse do
357
+ sudo_script 'enable_multiverse', <<-ENDSCRIPT
358
+ if ! grep -qc multiverse /etc/apt/sources.list /etc/apt/sources.list.d/* &> /dev/null; then
359
+ cat /etc/apt/sources.list | sed 's/main universe/multiverse/' > /etc/apt/sources.list.d/rubber-multiverse-source.list
360
+ fi
361
+ ENDSCRIPT
362
+ end
363
+
351
364
  def update_dyndns(instance_item)
352
365
  env = rubber_cfg.environment.bind(instance_item.role_names, instance_item.name)
353
366
  if env.dns_provider
@@ -395,7 +408,7 @@ namespace :rubber do
395
408
  src="#{url_base}/#{name}_#{ver}_i386.deb"
396
409
  fi
397
410
  src_file="${src##*/}"
398
- wget -qP /tmp ${src}
411
+ wget -qNP /tmp ${src}
399
412
  dpkg -i /tmp/${src_file}
400
413
  fi
401
414
  ENDSCRIPT
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 3
8
- - 0
9
- version: 1.3.0
8
+ - 1
9
+ version: 1.3.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Matt Conway
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-05 00:00:00 -04:00
17
+ date: 2010-04-12 00:00:00 -04:00
18
18
  default_executable: vulcanize
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -82,7 +82,7 @@ dependencies:
82
82
  type: :runtime
83
83
  version_requirements: *id005
84
84
  - !ruby/object:Gem::Dependency
85
- name: httparty
85
+ name: rails
86
86
  prerelease: false
87
87
  requirement: &id006 !ruby/object:Gem::Requirement
88
88
  requirements:
@@ -93,18 +93,6 @@ dependencies:
93
93
  version: "0"
94
94
  type: :runtime
95
95
  version_requirements: *id006
96
- - !ruby/object:Gem::Dependency
97
- name: rails
98
- prerelease: false
99
- requirement: &id007 !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- segments:
104
- - 0
105
- version: "0"
106
- type: :runtime
107
- version_requirements: *id007
108
96
  description: The rubber plugin enables relatively complex multi-instance deployments of RubyOnRails applications to Amazon's Elastic Compute Cloud (EC2). Like capistrano, rubber is role based, so you can define a set of configuration files for a role and then assign that role to as many concrete instances as needed. One can also assign multiple roles to a single instance. This lets one start out with a single ec2 instance (belonging to all roles), and add new instances into the mix as needed to scale specific facets of your deployment, e.g. adding in instances that serve only as an 'app' role to handle increased app server load.
109
97
  email: matt@conwaysplace.com
110
98
  executables: