ironfan 4.8.1 → 4.8.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +3 -0
- data/VERSION +1 -1
- data/ironfan.gemspec +2 -2
- data/lib/ironfan/dsl/ec2.rb +4 -3
- data/lib/ironfan/provider/ec2/machine.rb +12 -7
- metadata +3 -3
data/CHANGELOG.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.8.
|
1
|
+
4.8.2
|
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.
|
8
|
+
s.version = "4.8.2"
|
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-02-
|
12
|
+
s.date = "2013-02-21"
|
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 = [
|
data/lib/ironfan/dsl/ec2.rb
CHANGED
@@ -15,6 +15,7 @@ module Ironfan
|
|
15
15
|
magic :chef_client_script, String
|
16
16
|
magic :default_availability_zone, String, :default => ->{ availability_zones.first }
|
17
17
|
collection :elastic_load_balancers, Ironfan::Dsl::Ec2::ElasticLoadBalancer, :key_method => :name
|
18
|
+
magic :ebs_optimized, :boolean, :default => false
|
18
19
|
magic :flavor, String, :default => 't1.micro'
|
19
20
|
collection :iam_server_certificates, Ironfan::Dsl::Ec2::IamServerCertificate, :key_method => :name
|
20
21
|
magic :image_id, String
|
@@ -290,12 +291,12 @@ Chef::Config[:ec2_flavor_info].merge!({
|
|
290
291
|
'm1.medium' => { :price => 0.165, :bits => 64, :ram => 3840, :cores => 2, :core_size => 1, :inst_disks => 1, :inst_disk_size => 410, :ephemeral_volumes => 1 },
|
291
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 },
|
292
293
|
#
|
293
|
-
'm1.large' => { :price => 0.32, :bits => 64, :ram => 7680, :cores => 2, :core_size => 2, :inst_disks => 2, :inst_disk_size => 850, :ephemeral_volumes => 2 },
|
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, },
|
294
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 },
|
295
296
|
'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 },
|
296
|
-
'm1.xlarge' => { :price => 0.66, :bits => 64, :ram => 15360, :cores => 4, :core_size => 2, :inst_disks => 4, :inst_disk_size => 1690, :ephemeral_volumes => 4 },
|
297
|
+
'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, },
|
297
298
|
'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 },
|
298
|
-
'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 },
|
299
|
+
'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, },
|
299
300
|
'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' },
|
300
301
|
'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' },
|
301
302
|
'cg1.4xlarge' => { :price => 2.10, :bits => 64, :ram => 22528, :cores => 8, :core_size => 4.19, :inst_disks => 4, :inst_disk_size => 1690, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm' },
|
@@ -8,7 +8,8 @@ module Ironfan
|
|
8
8
|
:availability_zone=, :block_device_mapping, :block_device_mapping=,
|
9
9
|
:client_token, :client_token=, :collection, :collection=,
|
10
10
|
:connection, :connection=, :console_output, :created_at,
|
11
|
-
:created_at=, :destroy, :dns_name, :dns_name=,
|
11
|
+
:created_at=, :destroy, :dns_name, :dns_name=,
|
12
|
+
:ebs_optimized, :flavor, :flavor=,
|
12
13
|
:flavor_id, :flavor_id=, :groups, :groups=, :iam_instance_profile,
|
13
14
|
:iam_instance_profile=, :iam_instance_profile_arn=,
|
14
15
|
:iam_instance_profile_name=, :id, :id=, :identity, :identity=,
|
@@ -72,7 +73,7 @@ module Ironfan
|
|
72
73
|
# style == :minimal
|
73
74
|
values["State"] = state.to_sym
|
74
75
|
values["MachineID"] = id
|
75
|
-
values["Public IP"] = public_ip_address
|
76
|
+
values["Public IP"] = public_ip_address
|
76
77
|
values["Private IP"] = private_ip_address
|
77
78
|
values["Created On"] = created_at.to_date
|
78
79
|
return values if style == :minimal
|
@@ -162,14 +163,14 @@ module Ironfan
|
|
162
163
|
remember machine, :id => computer.name
|
163
164
|
|
164
165
|
# AWS sometimes takes too long to respond for this block's liking.
|
165
|
-
# Expand its wait interval, so that it doesn't just bomb out
|
166
|
+
# Expand its wait interval, so that it doesn't just bomb out
|
166
167
|
# after three quick failures in succession.
|
167
168
|
# For more info, see:
|
168
169
|
# - http://rubydoc.info/gems/fog/1.9.0/Fog/Model#wait_for-instance_method
|
169
170
|
# - https://github.com/fog/fog/blob/master/lib/fog/core/wait_for.rb
|
170
171
|
fog_server.wait_for(Fog.timeout, 5) { ready? }
|
171
172
|
end
|
172
|
-
|
173
|
+
|
173
174
|
# tag the computer correctly
|
174
175
|
tags = {
|
175
176
|
'cluster' => computer.server.cluster_name,
|
@@ -230,8 +231,9 @@ module Ironfan
|
|
230
231
|
:client_key => computer.private_key
|
231
232
|
}
|
232
233
|
|
233
|
-
#
|
234
|
-
#
|
234
|
+
# main machine info
|
235
|
+
# note that Fog does not actually create tags when it creates a
|
236
|
+
# server; they and permanence are applied during sync
|
235
237
|
description = {
|
236
238
|
:image_id => cloud.image_id,
|
237
239
|
:flavor_id => cloud.flavor,
|
@@ -241,7 +243,7 @@ module Ironfan
|
|
241
243
|
:user_data => JSON.pretty_generate(user_data_hsh),
|
242
244
|
:block_device_mapping => block_device_mapping(computer),
|
243
245
|
:availability_zone => cloud.default_availability_zone,
|
244
|
-
:monitoring => cloud.monitoring
|
246
|
+
:monitoring => cloud.monitoring,
|
245
247
|
}
|
246
248
|
|
247
249
|
# VPC security_groups can only be addressed by id (not name)
|
@@ -261,6 +263,9 @@ module Ironfan
|
|
261
263
|
ui.warn "1.3.1 and earlier versions of Fog don't correctly support placement groups, so your nodes will land willy-nilly. We're working on a fix"
|
262
264
|
description[:placement] = { 'groupName' => cloud.placement_group.to_s }
|
263
265
|
end
|
266
|
+
if cloud.flavor_info[:ebs_optimizable]
|
267
|
+
description[:ebs_optimized] = cloud.ebs_optimized
|
268
|
+
end
|
264
269
|
description
|
265
270
|
end
|
266
271
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: ironfan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 4.8.
|
5
|
+
version: 4.8.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Infochimps
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2013-02-
|
13
|
+
date: 2013-02-21 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: chef
|
@@ -284,7 +284,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
284
284
|
requirements:
|
285
285
|
- - ">="
|
286
286
|
- !ruby/object:Gem::Version
|
287
|
-
hash:
|
287
|
+
hash: 1631771956177080084
|
288
288
|
segments:
|
289
289
|
- 0
|
290
290
|
version: "0"
|