ironfan 6.1.7 → 6.1.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NTgxYWE4MTFhMDg0NmI0MmY1MTY4MTEwNWU1MjM3M2YyNmU3NDM1MQ==
5
+ data.tar.gz: !binary |-
6
+ NjRhYzdiZjM1NGJmN2Y3MzQ3MTE3NzY1NDQ5MWE2MGY2ZTI4OTFjZg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MDg0YjljYjMyNjM2NGQ3MmZhNzdiZmI4NWYwZTIyNzZjOTE5MTFjOWZlMGE2
10
+ YjBkODViN2E1YWJhNDIyZmVkYjEwMDI1MmI5ODVhMmYxNzMyMDBhODg0OTNh
11
+ ZDUwZDY4MjViZjA4ODMyYWRiY2VjODVkNTYyNDcyMWQ1NWZlOGI=
12
+ data.tar.gz: !binary |-
13
+ OGU3NjdlYjkxYThmODQ3MGI5N2UzNmNiN2ZlNWExMDY4YWI0M2RhNmI1YjFj
14
+ ODcyNGU1MGRmZmVkNTlhY2EzNzJjZDBmNmJjYTQwOGNkYjdhMGVhNDg0YjVi
15
+ YTg4ZTAzZmFkMWY3ZjA3N2VmMDhiNjdiZjY4ZGI1YjIwYjFlOTA=
@@ -329,24 +329,24 @@ 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
  'r3.large' => { :price => 0.175, :bits => 64, :ram => 15360, :cores => 2, :core_size => 3.5, :inst_disks => 1, :inst_disk_size => 32, :ephemeral_volumes => 1, :virtualization => 'hvm' },
338
- 'r3.xlarge' => { :price => 0.350, :bits => 64, :ram => 30720, :cores => 4, :core_size => 3.5, :inst_disks => 1, :inst_disk_size => 80, :ephemeral_volumes => 1, :virtualization => 'hvm', :ebs_opizable => 1000 },
339
- 'r3.2xlarge' => { :price => 0.700, :bits => 64, :ram => 61440, :cores => 8, :core_size => 3.5, :inst_disks => 1, :inst_disk_size => 160, :ephemeral_volumes => 1, :virtualization => 'hvm', :ebs_opizable => 1000 },
340
- 'r3.4xlarge' => { :price => 1.400, :bits => 64, :ram => 124928, :cores => 16, :core_size => 3.5, :inst_disks => 1, :inst_disk_size => 320, :ephemeral_volumes => 1, :virtualization => 'hvm', :ebs_opizable => 1000 },
338
+ 'r3.xlarge' => { :price => 0.350, :bits => 64, :ram => 30720, :cores => 4, :core_size => 3.5, :inst_disks => 1, :inst_disk_size => 80, :ephemeral_volumes => 1, :virtualization => 'hvm', :ebs_optimizable => 1000 },
339
+ 'r3.2xlarge' => { :price => 0.700, :bits => 64, :ram => 61440, :cores => 8, :core_size => 3.5, :inst_disks => 1, :inst_disk_size => 160, :ephemeral_volumes => 1, :virtualization => 'hvm', :ebs_optimizable => 1000 },
340
+ 'r3.4xlarge' => { :price => 1.400, :bits => 64, :ram => 124928, :cores => 16, :core_size => 3.5, :inst_disks => 1, :inst_disk_size => 320, :ephemeral_volumes => 1, :virtualization => 'hvm', :ebs_optimizable => 1000 },
341
341
  'r3.8xlarge' => { :price => 2.800, :bits => 64, :ram => 249856, :cores => 32, :core_size => 3.5, :inst_disks => 2, :inst_disk_size => 320, :ephemeral_volumes => 2, :virtualization => 'hvm' },
342
342
  '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' },
343
343
  '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' },
344
- '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 },
345
- '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 },
346
- '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 },
344
+ '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 },
345
+ '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 },
346
+ '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 },
347
347
  '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' },
348
- '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 },
349
- '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 },
348
+ '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 },
349
+ '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 },
350
350
  })
351
351
 
352
352
  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,11 @@ 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
27
39
  end
28
40
 
29
41
  class RaidGroup < Volume
@@ -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
 
@@ -274,11 +274,14 @@ module Ironfan
274
274
  end.compact.map(&:name)
275
275
 
276
276
  if cloud.flavor_info[:placement_groupable]
277
- 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"
278
- description[:placement] = { 'groupName' => cloud.placement_group.to_s }
277
+ description[:placement_group] = cloud.placement_group.to_s
278
+ elsif cloud.placement_group
279
+ Chef::Application.fatal!("A placement group was set but #{cloud.flavor} does not support placement!")
279
280
  end
280
281
  if cloud.flavor_info[:ebs_optimizable]
281
282
  description[:ebs_optimized] = cloud.ebs_optimized
283
+ elsif cloud.ebs_optimized
284
+ Chef::Application.fatal!("ebs_optimized set but #{cloud.flavor} does not support ebs optimization!")
282
285
  end
283
286
  description
284
287
  end
@@ -299,6 +302,8 @@ module Ironfan
299
302
  end
300
303
  hsh['Ebs.SnapshotId'] = volume.snapshot_id if volume.snapshot_id.present?
301
304
  hsh['Ebs.VolumeSize'] = volume.size.to_s if volume.size.present?
305
+ hsh['Ebs.VolumeType'] = volume.type if volume.type.present?
306
+ hsh['Ebs.Iops'] = volume.iops if volume.type == 'io1'
302
307
  hsh['Ebs.DeleteOnTermination'] = (not volume.keep).to_s
303
308
  else next
304
309
  end
@@ -1,3 +1,3 @@
1
1
  module Ironfan
2
- VERSION = '6.1.7'
2
+ VERSION = '6.1.9'
3
3
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ironfan
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.7
5
- prerelease:
4
+ version: 6.1.9
6
5
  platform: ruby
7
6
  authors:
8
7
  - Infochimps
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-06-19 00:00:00.000000000 Z
11
+ date: 2014-07-29 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: chef
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - '='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - '='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: fog
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - '='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - '='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: unf
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - '='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - '='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: excon
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - '='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - '='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: formatador
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - '='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - '='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: gorillib
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: rbvmomi
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - '='
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - '='
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: diff-lcs
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - '='
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - '='
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: bundler
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ~>
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ~>
156
137
  - !ruby/object:Gem::Version
@@ -310,33 +291,26 @@ files:
310
291
  homepage: http://infochimps.com/labs
311
292
  licenses:
312
293
  - apachev2
294
+ metadata: {}
313
295
  post_install_message:
314
296
  rdoc_options: []
315
297
  require_paths:
316
298
  - lib
317
299
  required_ruby_version: !ruby/object:Gem::Requirement
318
- none: false
319
300
  requirements:
320
301
  - - ! '>='
321
302
  - !ruby/object:Gem::Version
322
303
  version: '0'
323
- segments:
324
- - 0
325
- hash: 159548640143306131
326
304
  required_rubygems_version: !ruby/object:Gem::Requirement
327
- none: false
328
305
  requirements:
329
306
  - - ! '>='
330
307
  - !ruby/object:Gem::Version
331
308
  version: '0'
332
- segments:
333
- - 0
334
- hash: 159548640143306131
335
309
  requirements: []
336
310
  rubyforge_project:
337
- rubygems_version: 1.8.25
311
+ rubygems_version: 2.4.1
338
312
  signing_key:
339
- specification_version: 3
313
+ specification_version: 4
340
314
  summary: Infochimps' lightweight cloud orchestration toolkit, built on top of Chef.
341
315
  test_files:
342
316
  - spec/chef/cluster_bootstrap_spec.rb