ironfan 6.0.8 → 6.0.9

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.
@@ -329,19 +329,19 @@ Chef::Config[:ec2_flavor_info].merge!({
329
329
  'm2.4xlarge' => { :price => 1.640, :bits => 64, :ram => 70042, :cores => 8, :core_size => 3.25, :inst_disks => 2, :inst_disk_size => 840, :ephemeral_volumes => 2, :ebs_optimizable => 1000, },
330
330
  'cc2.8xlarge' => { :price => 2.400, :bits => 64, :ram => 61952, :cores =>32, :core_size => 2.75, :inst_disks => 4, :inst_disk_size => 840, :ephemeral_volumes => 4, :placement_groupable => true, :virtualization => 'hvm' },
331
331
  'cg1.4xlarge' => { :price => 2.100, :bits => 64, :ram => 23040, :cores =>16, :core_size => 2.09375, :inst_disks => 2, :inst_disk_size => 840, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm' },
332
- 'c3.large' => { :price => 0.150, :bits => 64, :ram => 3840, :cores => 2, :core_size => 3.5, :inst_disks => 2, :inst_disk_size => 16, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_opizable => 1000 },
333
- 'c3.xlarge' => { :price => 0.300, :bits => 64, :ram => 7680, :cores => 4, :core_size => 3.5, :inst_disks => 2, :inst_disk_size => 40, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_opizable => 1000 },
334
- 'c3.2xlarge' => { :price => 0.600, :bits => 64, :ram => 15360, :cores => 8, :core_size => 3.5, :inst_disks => 2, :inst_disk_size => 80, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_opizable => 1000 },
335
- 'c3.4xlarge' => { :price => 1.200, :bits => 64, :ram => 30720, :cores => 16, :core_size => 3.4375, :inst_disks => 2, :inst_disk_size => 160, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_opizable => 1000 },
332
+ 'c3.large' => { :price => 0.150, :bits => 64, :ram => 3840, :cores => 2, :core_size => 3.5, :inst_disks => 2, :inst_disk_size => 16, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimizable => 1000 },
333
+ 'c3.xlarge' => { :price => 0.300, :bits => 64, :ram => 7680, :cores => 4, :core_size => 3.5, :inst_disks => 2, :inst_disk_size => 40, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimizable => 1000 },
334
+ 'c3.2xlarge' => { :price => 0.600, :bits => 64, :ram => 15360, :cores => 8, :core_size => 3.5, :inst_disks => 2, :inst_disk_size => 80, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimizable => 1000 },
335
+ 'c3.4xlarge' => { :price => 1.200, :bits => 64, :ram => 30720, :cores => 16, :core_size => 3.4375, :inst_disks => 2, :inst_disk_size => 160, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimizable => 1000 },
336
336
  'c3.8xlarge' => { :price => 2.400, :bits => 64, :ram => 61440, :cores => 32, :core_size => 3.375, :inst_disks => 2, :inst_disk_size => 320, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm' },
337
337
  'hs1.8xlarge' => { :price => 4.600, :bits => 64, :ram => 119808, :cores => 16, :core_size => 2.1875, :inst_disks => 24, :inst_disk_size => 2048, :ephemeral_volumes => 24, :placement_groupable => true, :virtualization => 'hvm' },
338
338
  'cr1.8xlarge' => { :price => 3.500, :bits => 64, :ram => 249856, :cores => 32, :core_size => 2.75, :inst_disks => 2, :inst_disk_size => 120, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm' },
339
- 'i2.xlarge' => { :price => 0.853, :bits => 64, :ram => 31232, :cores => 4, :core_size => 3.5, :inst_disks => 1, :inst_disk_size => 800, :ephemeral_volumes => 1, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimized => 500 },
340
- 'i2.2xlarge' => { :price => 1.705, :bits => 64, :ram => 62464, :cores => 8, :core_size => 3.375, :inst_disks => 2, :inst_disk_size => 800, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimized => 1000 },
341
- 'i2.4xlarge' => { :price => 3.410, :bits => 64, :ram => 124928, :cores => 16, :core_size => 3.3125, :inst_disks => 4, :inst_disk_size => 800, :ephemeral_volumes => 4, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimized => 1000 },
339
+ 'i2.xlarge' => { :price => 0.853, :bits => 64, :ram => 31232, :cores => 4, :core_size => 3.5, :inst_disks => 1, :inst_disk_size => 800, :ephemeral_volumes => 1, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimizable => 500 },
340
+ 'i2.2xlarge' => { :price => 1.705, :bits => 64, :ram => 62464, :cores => 8, :core_size => 3.375, :inst_disks => 2, :inst_disk_size => 800, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimizable => 1000 },
341
+ 'i2.4xlarge' => { :price => 3.410, :bits => 64, :ram => 124928, :cores => 16, :core_size => 3.3125, :inst_disks => 4, :inst_disk_size => 800, :ephemeral_volumes => 4, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimizable => 1000 },
342
342
  'i2.8xlarge' => { :price => 6.820, :bits => 64, :ram => 249856, :cores => 32, :core_size => 3.25, :inst_disks => 8, :inst_disk_size => 800, :ephemeral_volumes => 8, :placement_groupable => true, :virtualization => 'hvm' },
343
- 'g2.2xlarge' => { :price => 0.650, :bits => 64, :ram => 15360, :cores => 8, :core_size => 3.25, :inst_disks => 1, :inst_disk_size => 60, :ephemeral_volumes => 1, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimized => 1000 },
344
- 'hi1.4xlarge' => { :price => 3.100, :bits => 64, :ram => 61952, :cores => 16, :core_size => 2.1875, :inst_disks => 2, :inst_disk_size => 1024, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimized => 1000 },
343
+ 'g2.2xlarge' => { :price => 0.650, :bits => 64, :ram => 15360, :cores => 8, :core_size => 3.25, :inst_disks => 1, :inst_disk_size => 60, :ephemeral_volumes => 1, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimizable => 1000 },
344
+ 'hi1.4xlarge' => { :price => 3.100, :bits => 64, :ram => 61952, :cores => 16, :core_size => 2.1875, :inst_disks => 2, :inst_disk_size => 1024, :ephemeral_volumes => 2, :placement_groupable => true, :virtualization => 'hvm', :ebs_optimizable => 1000 },
345
345
  })
346
346
 
347
347
  Chef::Config[:ec2_image_info] ||= {}
@@ -11,6 +11,13 @@ module Ironfan
11
11
  magic :formattable, :boolean, :default => false
12
12
  magic :fstype, String, :default => 'xfs'
13
13
  magic :in_raid, String
14
+
15
+ # The number of I/O operations per second (IOPS) that the volume supports.
16
+ # valid range: 500-4000
17
+ # Only Provisioned IOPS (SSD, type io1) drives support
18
+ # this. These volumes should be with EBS-optimized machines.
19
+ magic :iops, Integer
20
+
14
21
  magic :keep, :boolean, :default => true
15
22
  magic :mount_dump, String
16
23
  magic :mount_pass, String
@@ -24,6 +31,12 @@ module Ironfan
24
31
  magic :snapshot_name, String
25
32
  magic :tags, Hash, :default => {}
26
33
 
34
+ # valid types:
35
+ # gp2 = General Purpose 2
36
+ # io1 = Provisioned IOPS
37
+ # standard = Magnetic volumes
38
+ magic :type, String
39
+
27
40
  VOLUME_IDS ||= {}
28
41
  VOLUME_IDS.merge!({
29
42
  :blank_xfs => 'snap-d9c1edb1',
@@ -8,11 +8,11 @@ module Ironfan
8
8
  :connection, :connection=, :created_at, :created_at=,
9
9
  :delete_on_termination, :delete_on_termination=, :destroy, :device,
10
10
  :device=, :dup_attributes!, :force_detach, :id, :id=, :identity,
11
- :identity=, :merge_attributes, :missing_attributes, :new_record?,
11
+ :identity=, :iops, :merge_attributes, :missing_attributes, :new_record?,
12
12
  :ready?, :reload, :requires, :requires_one, :save, :server,
13
13
  :server=, :server_id, :server_id=, :size, :size=, :snapshot,
14
14
  :snapshot_id, :snapshot_id=, :snapshots, :state, :state=,
15
- :symbolize_keys, :tags, :tags=, :wait_for,
15
+ :symbolize_keys, :tags, :tags=, :type, :wait_for,
16
16
  :to => :adaptee
17
17
  field :dsl_volume, Ironfan::Dsl::Volume
18
18
 
@@ -265,11 +265,14 @@ module Ironfan
265
265
  end.compact.map(&:name)
266
266
 
267
267
  if cloud.flavor_info[:placement_groupable]
268
- 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"
269
- description[:placement] = { 'groupName' => cloud.placement_group.to_s }
268
+ description[:placement_group] = cloud.placement_group.to_s
269
+ elsif cloud.placement_group
270
+ Chef::Application.fatal!("A placement group was set but #{cloud.flavor} does not support placement!")
270
271
  end
271
272
  if cloud.flavor_info[:ebs_optimizable]
272
273
  description[:ebs_optimized] = cloud.ebs_optimized
274
+ elsif cloud.ebs_optimized
275
+ Chef::Application.fatal!("ebs_optimized set but #{cloud.flavor} does not support ebs optimization!")
273
276
  end
274
277
  description
275
278
  end
@@ -290,6 +293,8 @@ module Ironfan
290
293
  end
291
294
  hsh['Ebs.SnapshotId'] = volume.snapshot_id if volume.snapshot_id.present?
292
295
  hsh['Ebs.VolumeSize'] = volume.size.to_s if volume.size.present?
296
+ hsh['Ebs.VolumeType'] = volume.type if volume.type.present?
297
+ hsh['Ebs.Iops'] = volume.iops if volume.type == 'io1'
293
298
  hsh['Ebs.DeleteOnTermination'] = (not volume.keep).to_s
294
299
  else next
295
300
  end
@@ -1,3 +1,3 @@
1
1
  module Ironfan
2
- VERSION = '6.0.8'
2
+ VERSION = '6.0.9'
3
3
  end
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: 6.0.8
4
+ version: 6.0.9
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: 2014-04-24 00:00:00.000000000 Z
12
+ date: 2014-07-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: chef
@@ -332,18 +332,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
332
332
  - - ! '>='
333
333
  - !ruby/object:Gem::Version
334
334
  version: '0'
335
- segments:
336
- - 0
337
- hash: 770393223121845941
338
335
  required_rubygems_version: !ruby/object:Gem::Requirement
339
336
  none: false
340
337
  requirements:
341
338
  - - ! '>='
342
339
  - !ruby/object:Gem::Version
343
340
  version: '0'
344
- segments:
345
- - 0
346
- hash: 770393223121845941
347
341
  requirements: []
348
342
  rubyforge_project:
349
343
  rubygems_version: 1.8.25