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 +16 -9
- data/VERSION +1 -1
- data/ironfan.gemspec +3 -3
- data/lib/ironfan/dsl/cluster.rb +1 -1
- data/lib/ironfan/dsl/ec2.rb +5 -5
- data/lib/ironfan/dsl/facet.rb +1 -1
- data/lib/ironfan/dsl/server.rb +1 -1
- metadata +12 -12
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.
|
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.
|
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-
|
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/
|
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
|
data/lib/ironfan/dsl/cluster.rb
CHANGED
@@ -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]}
|
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
|
data/lib/ironfan/dsl/ec2.rb
CHANGED
@@ -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,
|
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' },
|
data/lib/ironfan/dsl/facet.rb
CHANGED
@@ -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
|
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
|
data/lib/ironfan/dsl/server.rb
CHANGED
@@ -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}
|
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.
|
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-
|
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: -
|
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/
|
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/
|
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
|