kitchen-ec2 0.10.0.rc.1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82b5ac63e0a8fc23d1cd9d82558ef5367e295231
4
- data.tar.gz: cdcb4408ce27f225cee44fe99ba53de0567e24b8
3
+ metadata.gz: b7d28f5952b83630a3d5da24788ff269318ddb78
4
+ data.tar.gz: ad437ab4aee9027473f8ce896f1816cc49fd334f
5
5
  SHA512:
6
- metadata.gz: eecccf10147af42de15fe269e2f4253b26b222713b8b6c46d88cc3898fd7a6285a41575b513048794a46715fcdb4c0b2f94b8629b8320532fc342aa3d22db0fb
7
- data.tar.gz: 7d8b1ff3d188c2bb608dfc3d1106a0f9cd6488a043210b0e5f33fbdae1c7e88d743952909626ed01b4d43c1ae9c9248f04c076dc1ce776a848539f92fa2216cd
6
+ metadata.gz: 555b1c421bfbb295e47ea4bd37ce152e43c0524395a47bcedd0f7c6ca184c377d6fea0004dcd641ad7a714f9f0fc39923fb8c6fefbeff06481e71e1d5ffe3ca4
7
+ data.tar.gz: 8b4ba45abccbcc9a499e2603f055ad6447a04dab4ff9f72a0c5acb1f4c1a4520d4a0ba60fedb29eb6dd81cb55016e800df9ed13db6784ff2df2e8f2d06960d1f
@@ -1,7 +1,11 @@
1
- ## 0.10.0 / TBD
1
+ ## 0.10.0 / 2016-06-24
2
2
 
3
3
  ### Bug Fixes
4
4
 
5
+ * Pull Request [#165][]: Added `ebs_iops` parameter to block_device_mappings, necessary when specifying volume type of `io1` ([@tyler-ball][])
6
+ * Pull Request [#161][]: Fixing UTF error in hints file on Windows ([@zl4bv][])
7
+ * Pull Request [#166][]: If `security_group_ids` is specified as a string instead of an array we coerce it to an array automatically ([@fnichol][])
8
+
5
9
  ### New Features
6
10
 
7
11
  * Pull Request [#150][]: Added support for managing Windows hosts in AWS
@@ -193,9 +197,13 @@
193
197
  [#142]: https://github.com/test-kitchen/kitchen-ec2/issues/142
194
198
  [#150]: https://github.com/test-kitchen/kitchen-ec2/issues/150
195
199
  [#151]: https://github.com/test-kitchen/kitchen-ec2/issues/151
200
+ [#161]: https://github.com/test-kitchen/kitchen-ec2/issues/161
201
+ [#165]: https://github.com/test-kitchen/kitchen-ec2/issues/165
202
+ [#166]: https://github.com/test-kitchen/kitchen-ec2/issues/166
196
203
  [@Atalanta]: https://github.com/Atalanta
197
204
  [@Igorshp]: https://github.com/Igorshp
198
205
  [@JamesAwesome]: https://github.com/JamesAwesome
206
+ [@afiune]: https://github.com/afiune
199
207
  [@anl]: https://github.com/anl
200
208
  [@arangamani]: https://github.com/arangamani
201
209
  [@bozinsky]: https://github.com/bozinsky
@@ -213,7 +221,6 @@
213
221
  [@mattray]: https://github.com/mattray
214
222
  [@mumoshu]: https://github.com/mumoshu
215
223
  [@nicgrayson]: https://github.com/nicgrayson
216
- [@afiune]: https://github.com/afiune
217
224
  [@scarolan]: https://github.com/scarolan
218
225
  [@sebbrandt87]: https://github.com/sebbrandt87
219
226
  [@sethvargo]: https://github.com/sethvargo
data/README.md CHANGED
@@ -12,7 +12,7 @@ instances. Use Amazon's cloud for your infrastructure testing!
12
12
  ## Requirements
13
13
 
14
14
  There are **no** external system requirements for this driver. However you
15
- will need access to an [AWS][aws_site] account.
15
+ will need access to an [AWS][aws_site] account. [IAM][iam_site] users should have, at a minimum, permission to manage the lifecycle of an EC2 instance along with modifying components specified in kitchen driver configs. Consider using a permissive managed IAM policy like ``arn:aws:iam::aws:policy/AmazonEC2FullAccess`` or tailor one specific to your security requirements.
16
16
 
17
17
  ## Installation and Setup
18
18
 
@@ -234,7 +234,7 @@ The default is `nil`.
234
234
 
235
235
  Specify a proxy to send AWS requests through. Should be of the format `http://<host>:<port>`.
236
236
 
237
- The default is `ENV['HTTP_PROXY']`
237
+ The default is `ENV["HTTPS_PROXY"] || ENV["HTTP_PROXY"]`. If you have these environment variables set and do not want to use a proxy when contacting aws set `http_proxy: nil`.
238
238
 
239
239
  **Note** - The AWS command line utility allow you to specify [two proxies](http://docs.aws.amazon.com/cli/latest/userguide/cli-http-proxy.html), one for HTTP and one for HTTPS. The AWS Ruby SDK only allows you to specify 1 proxy and because all requests are `https://` this proxy needs to support HTTPS.
240
240
 
@@ -272,6 +272,11 @@ block_device_mappings:
272
272
  ebs_volume_size: 15
273
273
  ebs_delete_on_termination: true
274
274
  ebs_snapshot_id: snap-0015d0bc
275
+ - ebs_device_name: /dev/sdc
276
+ ebs_volume_size: 100
277
+ ebs_delete_on_termination: true
278
+ ebs_volume_type: io1
279
+ ebs_iops: 100
275
280
  ```
276
281
 
277
282
  The keys `ebs_device_name`, `ebs_volume_size` and `ebs_delete_on_termination` are required for every mapping.
@@ -280,7 +285,8 @@ storage config keys are present.
280
285
 
281
286
  The keys `ebs_volume_type`, `ebs_virtual_name` and `ebs_snapshot_id` are optional. See
282
287
  [Amazon EBS Volume Types](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) to find out more about
283
- volume types. `ebs_volume_type` defaults to `standard` but can also be `gp2` or `io1`.
288
+ volume types. `ebs_volume_type` defaults to `standard` but can also be `gp2` or `io1`. If you specify `io1` you must
289
+ also specify `ebs_iops`.
284
290
 
285
291
  If you have a block device mapping with a `ebs_device_name` equal to the root storage device name on your
286
292
  [image](#config-image-id) then the provided mapping will replace the settings in the image.
@@ -474,6 +480,7 @@ Apache 2.0 (see [LICENSE][license])
474
480
  [amis_json]: https://github.com/test-kitchen/kitchen-ec2/blob/master/data/amis.json
475
481
  [ami_docs]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html
476
482
  [aws_site]: http://aws.amazon.com/
483
+ [iam_site]: http://aws.amazon.com/iam
477
484
  [credentials_docs]: http://blogs.aws.amazon.com/security/post/Tx3D6U6WSFGOK2H/A-New-and-Standardized-Way-to-Manage-Credentials-in-the-AWS-SDKs
478
485
  [aws_sdk_gem]: http://docs.aws.amazon.com/sdkforruby/api/index.html
479
486
  [group_docs]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
@@ -52,7 +52,7 @@ module Kitchen
52
52
  :private_ip_address => config[:private_ip_address]
53
53
  }
54
54
  i[:block_device_mappings] = block_device_mappings unless block_device_mappings.empty?
55
- i[:security_group_ids] = config[:security_group_ids] if config[:security_group_ids]
55
+ i[:security_group_ids] = Array(config[:security_group_ids]) if config[:security_group_ids]
56
56
  i[:user_data] = prepared_user_data if prepared_user_data
57
57
  if config[:iam_profile_name]
58
58
  i[:iam_instance_profile] = { :name => config[:iam_profile_name] }
@@ -110,6 +110,7 @@ module Kitchen
110
110
  :device_name => bdm[:ebs_device_name]
111
111
  }
112
112
  b[:ebs][:volume_type] = bdm[:ebs_volume_type] if bdm[:ebs_volume_type]
113
+ b[:ebs][:iops] = bdm[:ebs_iops] if bdm[:ebs_iops]
113
114
  b[:ebs][:snapshot_id] = bdm[:ebs_snapshot_id] if bdm[:ebs_snapshot_id]
114
115
  b[:virtual_name] = bdm[:ebs_virtual_name] if bdm[:ebs_virtual_name]
115
116
  b
@@ -178,7 +178,6 @@ module Kitchen
178
178
  return if state[:server_id]
179
179
 
180
180
  info(Kitchen::Util.outdent!(<<-END))
181
- Creating <#{state[:server_id]}>...
182
181
  If you are not using an account that qualifies under the AWS
183
182
  free-tier, you may be charged to run these suites. The charge
184
183
  should be minimal, but neither Test Kitchen nor its maintainers
@@ -427,7 +426,7 @@ module Kitchen
427
426
 
428
427
  def create_ec2_json(state)
429
428
  if windows_os?
430
- cmd = "mkdir \\etc\\chef\\ohai\\hints; echo $null >> \\etc\\chef\\ohai\\hints\\ec2.json"
429
+ cmd = "New-Item -Force C:\\chef\\ohai\\hints\\ec2.json -ItemType File"
431
430
  else
432
431
  cmd = "sudo mkdir -p /etc/chef/ohai/hints;sudo touch /etc/chef/ohai/hints/ec2.json"
433
432
  end
@@ -21,6 +21,6 @@ module Kitchen
21
21
  module Driver
22
22
 
23
23
  # Version string for EC2 Test Kitchen driver
24
- EC2_VERSION = "0.10.0.rc.1"
24
+ EC2_VERSION = "0.10.0"
25
25
  end
26
26
  end
@@ -114,6 +114,13 @@ describe Kitchen::Driver::Aws::InstanceGenerator do
114
114
  :ebs_volume_type => "gp2",
115
115
  :ebs_snapshot_id => "id",
116
116
  :ebs_virtual_name => "test"
117
+ },
118
+ {
119
+ :ebs_volume_size => 100,
120
+ :ebs_delete_on_termination => true,
121
+ :ebs_device_name => "/dev/sda3",
122
+ :ebs_volume_type => "io1",
123
+ :ebs_iops => 100
117
124
  }
118
125
  ] }
119
126
  end
@@ -137,6 +144,15 @@ describe Kitchen::Driver::Aws::InstanceGenerator do
137
144
  },
138
145
  :device_name => "/dev/sda2",
139
146
  :virtual_name => "test"
147
+ },
148
+ {
149
+ :ebs => {
150
+ :volume_size => 100,
151
+ :volume_type => "io1",
152
+ :iops => 100,
153
+ :delete_on_termination => true
154
+ },
155
+ :device_name => "/dev/sda3"
140
156
  }
141
157
  ]
142
158
  )
@@ -347,6 +363,19 @@ describe Kitchen::Driver::Aws::InstanceGenerator do
347
363
  }]
348
364
  )
349
365
  end
366
+
367
+ it "accepts a single string value" do
368
+ config[:security_group_ids] = "only-one"
369
+
370
+ expect(generator.ec2_instance_data).to include(
371
+ :network_interfaces => [{
372
+ :device_index => 0,
373
+ :associate_public_ip_address => true,
374
+ :delete_on_termination => true,
375
+ :groups => ["only-one"]
376
+ }]
377
+ )
378
+ end
350
379
  end
351
380
 
352
381
  context "and private_ip_address is provided" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0.rc.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fletcher Nichol
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-19 00:00:00.000000000 Z
11
+ date: 2015-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-kitchen
@@ -212,9 +212,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
212
212
  version: '0'
213
213
  required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  requirements:
215
- - - ">"
215
+ - - ">="
216
216
  - !ruby/object:Gem::Version
217
- version: 1.3.1
217
+ version: '0'
218
218
  requirements: []
219
219
  rubyforge_project:
220
220
  rubygems_version: 2.4.7