ironfan 4.9.10 → 4.10.1

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.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # v4.10.1
2
+ * Fixing bug in server role assignment (doesn't use cluster_role for some reason)
3
+
4
+ # v4.10.0
5
+ * Updating automatic roles to "#{name}-cluster" and "#{name}-facet", to avoid name collision with conventional roles (thanks, @jessehu)
6
+ * Added newly-ebs optimizeable instances to approved list (thanks @mrflip)
7
+
1
8
  # v4.9.10
2
9
  * fixing up file permissions (was causing glitch for bundles installed as root)
3
10
 
@@ -180,7 +187,7 @@
180
187
 
181
188
  # v4.1.1: fixing 'rake spec'
182
189
  * Remove all defunct tests and start fresh (fixes #137)
183
- * Failing spec for #158
190
+ * Failing spec for #158
184
191
 
185
192
  # v4.1.0: several bug-fixes and code cleanup
186
193
  * Splat the args to DSL::Volume.snapshot_id so we can call it properly (fixes #161)
@@ -261,9 +268,9 @@ You should reload your chef server:
261
268
  - customize its `knife-org.rb` for your chef server
262
269
  - `knife cluster vagrant up sandbox-simple`
263
270
 
264
- * Deprecated 'knife cluster foo nikko web 0' (many args) in favor of 'knife cluster foo nikko-web-0' (single arg).
271
+ * Deprecated 'knife cluster foo nikko web 0' (many args) in favor of 'knife cluster foo nikko-web-0' (single arg).
265
272
  - the latter still works, it just yells a lot.
266
-
273
+
267
274
  * Am changing `--no-cloud` and `--no-chef` to `--cloud=false` and `--chef=false`, opening up room for a later `--cloud=rackspace` etc.
268
275
 
269
276
  * many doc fixes, thanks @sya!
@@ -272,7 +279,7 @@ You should reload your chef server:
272
279
  __________________________________________________________________________
273
280
  __________________________________________________________________________
274
281
 
275
- ## v3.0.14:
282
+ ## v3.0.14:
276
283
 
277
284
  Big important change:
278
285
 
@@ -290,8 +297,8 @@ Other improvements/fixes:
290
297
  * FIX #76 -- `knife cluster kick` runs chef-client if the service is stopped. Fixes #76 . Also knife ssh will at its end show a bright red list of machines whose commands exited with a non-zero exit code -- useful when 1 out of 30 machines fails a knife cluster kick.
291
298
  * A limited number of commands (ssh, show, kill) now run with no requirement of cloud anything (Relates to #28). Also worked around an annoying incompatibility with chef 0.10.8 (clients have a 'name') vs 0.10.40-and-prev (clients have a 'clientname'.
292
299
  * examples all live in `ironfan-homebase` now.
293
- * When you `knife cluster stop` a node, it sets `node[:state]` to
294
- * the cookbook linter now has its own project: [ironfan-scrubby](https://github.com/infochimps-labs/ironfan-scrubby). Along the way,
300
+ * When you `knife cluster stop` a node, it sets `node[:state]` to
301
+ * the cookbook linter now has its own project: [ironfan-scrubby](https://github.com/infochimps-labs/ironfan-scrubby). Along the way,
295
302
  - some ability to cycle comments from the attributes file into node attribute docs in the `metadata.rb`.
296
303
  - added helpful links to the `README.md` template
297
304
  * minor fix to the new `authorized_by` calls
@@ -344,12 +351,12 @@ Ironfan underwent a major upgrade with the last several commits.
344
351
 
345
352
  The following behaviors have been removed:
346
353
 
347
- * `use` -- **BREAKING** Was supposed to let me import another cluster definition into the one calling use. However, it didn't work as advertised, was clutter-y and was actively unpopular (issue #6).
354
+ * `use` -- **BREAKING** Was supposed to let me import another cluster definition into the one calling use. However, it didn't work as advertised, was clutter-y and was actively unpopular (issue #6).
348
355
  - Until the usage of derived clusters becomes clear, say `merge!` on a hash instead.
349
356
  - We do default settings for you.
350
357
  - We *don't* put in any default roles (as the old `use :defaults` did).
351
358
 
352
- * `cloud` -- **BREAKING** a bare `cloud` statement is meaningless: the *attributes* may be abstract, but the *values* are different for every provider.
359
+ * `cloud` -- **BREAKING** a bare `cloud` statement is meaningless: the *attributes* may be abstract, but the *values* are different for every provider.
353
360
  - Anywhere you used to say `cloud`, say `ec2`: eg `ec2.flavor('t1.micro')` instead of `cloud.flavor('t1.micro')`.
354
361
 
355
362
  * `chef_attributes` -- **BREAKING** replaced by `facet_role.override_attributes`, `facet_role.default_attributes` (or those methods on `cluster_role`.)
@@ -378,7 +385,7 @@ Several knife scripts saw name changes to their params. If you have external scr
378
385
  - bring up the cluster ; by default the service state for all the daemons is [:disable, :stop].
379
386
  - run the `/etc/hadoop/conf/bootstrap_hadoop_namenode.sh` to format your HDFS
380
387
  - move the service state to '[:enable, :start]' and re-run chef client
381
-
388
+
382
389
 
383
390
  #### Deprecated cookbooks
384
391
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.9.10
1
+ 4.10.1
data/ironfan.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "ironfan"
8
- s.version = "4.9.10"
8
+ s.version = "4.10.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Infochimps"]
12
- s.date = "2013-04-22"
12
+ s.date = "2013-05-08"
13
13
  s.description = "Ironfan allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks."
14
14
  s.email = "coders@infochimps.com"
15
15
  s.extra_rdoc_files = [
@@ -155,7 +155,7 @@ Gem::Specification.new do |s|
155
155
  s.require_paths = ["lib"]
156
156
  s.rubygems_version = "1.8.23"
157
157
  s.summary = "Infochimps' lightweight cloud orchestration toolkit, built on top of Chef."
158
- s.test_files = ["spec/spec_helper/dummy_chef.rb", "spec/integration/spec_helper/launch_cluster.rb", "spec/integration/minimal-chef-repo/roles/systemwide.rb", "spec/integration/minimal-chef-repo/environments/_default.json", "spec/integration/minimal-chef-repo/chefignore", "spec/integration/minimal-chef-repo/knife/knife.rb", "spec/integration/minimal-chef-repo/knife/credentials/knife-org.rb", "spec/integration/spec/simple_cluster_spec.rb", "spec/integration/spec/elb_build_spec.rb", "spec/integration/spec_helper.rb", "spec/ironfan/cluster_spec.rb", "spec/ironfan/ec2/cloud_provider_spec.rb", "spec/ironfan/ec2/elb_spec.rb", "spec/ironfan/ec2/security_group_spec.rb", "spec/chef/cluster_launch_spec.rb", "spec/chef/cluster_bootstrap_spec.rb", "spec/fixtures/gunbai_slice.json", "spec/fixtures/ec2/elb/snakeoil.key", "spec/fixtures/ec2/elb/snakeoil.crt", "spec/fixtures/gunbai.rb", "spec/spec_helper.rb", "spec/test_config.rb"]
158
+ s.test_files = ["spec/spec_helper/dummy_chef.rb", "spec/integration/spec_helper/launch_cluster.rb", "spec/integration/minimal-chef-repo/roles/systemwide.rb", "spec/integration/minimal-chef-repo/chefignore", "spec/integration/minimal-chef-repo/knife/credentials/knife-org.rb", "spec/integration/minimal-chef-repo/knife/knife.rb", "spec/integration/minimal-chef-repo/environments/_default.json", "spec/integration/spec/simple_cluster_spec.rb", "spec/integration/spec/elb_build_spec.rb", "spec/integration/spec_helper.rb", "spec/test_config.rb", "spec/chef/cluster_bootstrap_spec.rb", "spec/chef/cluster_launch_spec.rb", "spec/fixtures/gunbai_slice.json", "spec/fixtures/ec2/elb/snakeoil.crt", "spec/fixtures/ec2/elb/snakeoil.key", "spec/fixtures/gunbai.rb", "spec/spec_helper.rb", "spec/ironfan/cluster_spec.rb", "spec/ironfan/ec2/cloud_provider_spec.rb", "spec/ironfan/ec2/elb_spec.rb", "spec/ironfan/ec2/security_group_spec.rb"]
159
159
 
160
160
  if s.respond_to? :specification_version then
161
161
  s.specification_version = 3
@@ -6,7 +6,7 @@ module Ironfan
6
6
 
7
7
  def initialize(attrs={},&block)
8
8
  super
9
- self.cluster_role Ironfan::Dsl::Role.new(:name => "#{attrs[:name]}_cluster")
9
+ self.cluster_role Ironfan::Dsl::Role.new(:name => "#{attrs[:name]}-cluster")
10
10
  end
11
11
 
12
12
  # Utility method to reference all servers from constituent facets
@@ -292,12 +292,12 @@ Chef::Config[:ec2_flavor_info].merge!({
292
292
  'c1.medium' => { :price => 0.17, :bits => 64, :ram => 1740, :cores => 2, :core_size => 2.5, :inst_disks => 1, :inst_disk_size => 350, :ephemeral_volumes => 1 },
293
293
  #
294
294
  'm1.large' => { :price => 0.32, :bits => 64, :ram => 7680, :cores => 2, :core_size => 2, :inst_disks => 2, :inst_disk_size => 850, :ephemeral_volumes => 2, :ebs_optimizable => 500, },
295
- 'm2.xlarge' => { :price => 0.45, :bits => 64, :ram => 18124, :cores => 2, :core_size => 3.25, :inst_disks => 1, :inst_disk_size => 420, :ephemeral_volumes => 1 },
296
- 'm3.xlarge' => { :price => 0.50, :bits => 64, :ram => 15360, :cores => 4, :core_size => 3.25, :inst_disks => 0, :inst_disk_size => 0, :ephemeral_volumes => 0 },
297
- 'c1.xlarge' => { :price => 0.64, :bits => 64, :ram => 7168, :cores => 8, :core_size => 2.5, :inst_disks => 4, :inst_disk_size => 1690, :ephemeral_volumes => 4 },
295
+ 'm2.xlarge' => { :price => 0.45, :bits => 64, :ram => 18124, :cores => 2, :core_size => 3.25, :inst_disks => 1, :inst_disk_size => 420, :ephemeral_volumes => 1, },
296
+ 'm3.xlarge' => { :price => 0.50, :bits => 64, :ram => 15360, :cores => 4, :core_size => 3.25, :inst_disks => 0, :inst_disk_size => 0, :ephemeral_volumes => 0, :ebs_optimizable => 500, },
297
+ 'c1.xlarge' => { :price => 0.64, :bits => 64, :ram => 7168, :cores => 8, :core_size => 2.5, :inst_disks => 4, :inst_disk_size => 1690, :ephemeral_volumes => 4, :ebs_optimizable => 1000, },
298
298
  'm1.xlarge' => { :price => 0.66, :bits => 64, :ram => 15360, :cores => 4, :core_size => 2, :inst_disks => 4, :inst_disk_size => 1690, :ephemeral_volumes => 4, :ebs_optimizable => 1000, },
299
- 'm3.2xlarge' => { :price => 1.00, :bits => 64, :ram => 30720, :cores => 8, :core_size => 3.25, :inst_disks => 0, :inst_disk_size => 0, :ephemeral_volumes => 0 },
300
- 'm2.2xlarge' => { :price => 0.90, :bits => 64, :ram => 35020, :cores => 4, :core_size => 3.25, :inst_disks => 2, :inst_disk_size => 850, :ephemeral_volumes => 2 },
299
+ 'm3.2xlarge' => { :price => 1.00, :bits => 64, :ram => 30720, :cores => 8, :core_size => 3.25, :inst_disks => 0, :inst_disk_size => 0, :ephemeral_volumes => 0, :ebs_optimizable => 1000, },
300
+ 'm2.2xlarge' => { :price => 0.90, :bits => 64, :ram => 35020, :cores => 4, :core_size => 3.25, :inst_disks => 2, :inst_disk_size => 850, :ephemeral_volumes => 2, :ebs_optimizable => 500, },
301
301
  'm2.4xlarge' => { :price => 1.80, :bits => 64, :ram => 70041, :cores => 8, :core_size => 3.25, :inst_disks => 4, :inst_disk_size => 1690, :ephemeral_volumes => 4, :ebs_optimizable => 1000, },
302
302
  'cc1.4xlarge' => { :price => 1.30, :bits => 64, :ram => 23552, :cores => 8, :core_size => 4.19, :inst_disks => 4, :inst_disk_size => 1690, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm' },
303
303
  'cc1.8xlarge' => { :price => 2.40, :bits => 64, :ram => 61952, :cores =>16, :core_size => 5.50, :inst_disks => 8, :inst_disk_size => 3370, :ephemeral_volumes => 4, :placement_groupable => true, :virtualization => 'hvm' },
@@ -9,7 +9,7 @@ module Ironfan
9
9
  def initialize(attrs={},&block)
10
10
  self.cluster_name = attrs[:owner].name unless attrs[:owner].nil?
11
11
  self.name = attrs[:name] unless attrs[:name].nil?
12
- self.facet_role Ironfan::Dsl::Role.new(:name => full_name.sub('-','_'))
12
+ self.facet_role Ironfan::Dsl::Role.new(:name => "#{full_name}-facet")
13
13
  super
14
14
  for i in 0 .. instances-1; server(i); end
15
15
  end
@@ -10,7 +10,7 @@ module Ironfan
10
10
  self.cluster_name = attrs[:owner].cluster_name
11
11
  self.facet_name = attrs[:owner].name
12
12
 
13
- self.role "#{self.cluster_name}_cluster", :last
13
+ self.role "#{self.cluster_name}-cluster", :last
14
14
  self.role attrs[:owner].facet_role.name, :last
15
15
  end
16
16
  super
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ironfan
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.9.10
4
+ version: 4.10.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-22 00:00:00.000000000 Z
12
+ date: 2013-05-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: chef
@@ -359,7 +359,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
359
359
  version: '0'
360
360
  segments:
361
361
  - 0
362
- hash: -951725274984754439
362
+ hash: -3786233878375711747
363
363
  required_rubygems_version: !ruby/object:Gem::Requirement
364
364
  none: false
365
365
  requirements:
@@ -376,22 +376,22 @@ test_files:
376
376
  - spec/spec_helper/dummy_chef.rb
377
377
  - spec/integration/spec_helper/launch_cluster.rb
378
378
  - spec/integration/minimal-chef-repo/roles/systemwide.rb
379
- - spec/integration/minimal-chef-repo/environments/_default.json
380
379
  - spec/integration/minimal-chef-repo/chefignore
381
- - spec/integration/minimal-chef-repo/knife/knife.rb
382
380
  - spec/integration/minimal-chef-repo/knife/credentials/knife-org.rb
381
+ - spec/integration/minimal-chef-repo/knife/knife.rb
382
+ - spec/integration/minimal-chef-repo/environments/_default.json
383
383
  - spec/integration/spec/simple_cluster_spec.rb
384
384
  - spec/integration/spec/elb_build_spec.rb
385
385
  - spec/integration/spec_helper.rb
386
- - spec/ironfan/cluster_spec.rb
387
- - spec/ironfan/ec2/cloud_provider_spec.rb
388
- - spec/ironfan/ec2/elb_spec.rb
389
- - spec/ironfan/ec2/security_group_spec.rb
390
- - spec/chef/cluster_launch_spec.rb
386
+ - spec/test_config.rb
391
387
  - spec/chef/cluster_bootstrap_spec.rb
388
+ - spec/chef/cluster_launch_spec.rb
392
389
  - spec/fixtures/gunbai_slice.json
393
- - spec/fixtures/ec2/elb/snakeoil.key
394
390
  - spec/fixtures/ec2/elb/snakeoil.crt
391
+ - spec/fixtures/ec2/elb/snakeoil.key
395
392
  - spec/fixtures/gunbai.rb
396
393
  - spec/spec_helper.rb
397
- - spec/test_config.rb
394
+ - spec/ironfan/cluster_spec.rb
395
+ - spec/ironfan/ec2/cloud_provider_spec.rb
396
+ - spec/ironfan/ec2/elb_spec.rb
397
+ - spec/ironfan/ec2/security_group_spec.rb