ironfan 4.9.10 → 4.10.1

Sign up to get free protection for your applications and to get access to all the features.
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