kitchen-ec2 1.0.0.beta.1 → 1.0.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: 1de9e6f3ad8a3af4870ff7a4766a1be72d9c0b31
4
- data.tar.gz: 2776133704a238453b242c99bc3390295f522f98
3
+ metadata.gz: e350ede911339522ad0dc496c276aa1d5daca295
4
+ data.tar.gz: 4a8c8f1b0bc410d21a61aacc243b769259c98543
5
5
  SHA512:
6
- metadata.gz: 19a1e7124975185de7cb7b94be6852db2fd3e2381d6214f86229c2eb55d0e4d6d20d67ac1363c7fa357393e1753dd412583f8487ebe12566ed1def4433f2434a
7
- data.tar.gz: a4bcc544a26388e68db518e418d93da07bde5675d7a56aab389197e2fd6dcd6c58bc4921a9383997c93c94a6947d1e33e6b6ae2f70205dbca2195765feb6535f
6
+ metadata.gz: dbcfdeed3b394fe78693363cde0c67fd5cc62027de2101c40e84f3d23f8afa3c1093c5e95a57b9adcf8f2a548603d27e8dfd622a9aaee4842d160855881b5f1d
7
+ data.tar.gz: d2d11880244e3b55190fc1dda81e0310e99e83773fc95a79c1dadab39945646e66d5bf0d678b05b6707bd127784f32c52c50c3e7e055dbfe6663124f14e368f1
@@ -1,231 +1,336 @@
1
- ## 0.10.0 / 2015-06-24
1
+ # Change Log
2
2
 
3
- ### Bug Fixes
3
+ ## [1.0.0](https://github.com/test-kitchen/kitchen-ec2/tree/1.0.0) (2016-03-03)
4
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v1.0.0.beta.1...1.0.0)
4
5
 
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][])
6
+ **Merged pull requests:**
8
7
 
9
- ### New Features
8
+ - Use github\_changelog\_generator for changelog [\#231](https://github.com/test-kitchen/kitchen-ec2/pull/231) ([jkeiser](https://github.com/jkeiser))
9
+ - Rename price -\> spot\_price, fix rubocop [\#229](https://github.com/test-kitchen/kitchen-ec2/pull/229) ([jkeiser](https://github.com/jkeiser))
10
+ - support duration for spot instances [\#214](https://github.com/test-kitchen/kitchen-ec2/pull/214) ([wjordan](https://github.com/wjordan))
11
+ - Add support for looking up Private DNS Name for hostname [\#197](https://github.com/test-kitchen/kitchen-ec2/pull/197) ([mekf](https://github.com/mekf))
10
12
 
11
- * Pull Request [#150][]: Added support for managing Windows hosts in AWS
12
- * Updated `amis.json` to include AMIs for Windows Server 2008 and 2012R2.
13
- * Add default user data which enables winrm. See `ec2.rb` for the exact user data that is uploaded.
14
- * Default user data will add a non-`administrator` user to the Administrator group if `username` and `password` transport options are specified.
15
- * EC2 will automatically generate the `administrator` user password if it is not specified as `password` transport options. This will be stored and used for further kitchen commands.
16
- * Unfortunately this cannot be passed to the RDP client initiated by `kitchen login`. Look at `.kitchen/<name>.yml` for the password in this case.
17
- * A HUGE thanks to [@zl4bv][] and [@afiune][] for the majority of the work on these changes!
13
+ ## [v1.0.0.beta.1](https://github.com/test-kitchen/kitchen-ec2/tree/v1.0.0.beta.1) (2016-02-13)
14
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.10.0...v1.0.0.beta.1)
18
15
 
19
- ### Improvements
16
+ **Implemented enhancements:**
20
17
 
21
- ## 0.9.5 / 2015-06-05
18
+ - Slow file transference [\#93](https://github.com/test-kitchen/kitchen-ec2/issues/93)
19
+ - Dynamically find default images for many platforms [\#221](https://github.com/test-kitchen/kitchen-ec2/pull/221) ([jkeiser](https://github.com/jkeiser))
20
+ - Query Ubuntu AMI IDs [\#169](https://github.com/test-kitchen/kitchen-ec2/pull/169) ([whiteley](https://github.com/whiteley))
22
21
 
23
- ### Bug Fixes
22
+ **Fixed bugs:**
24
23
 
25
- * Pull Request [#151][]: Fixing a regression where we are fetching the hostname from an old server object even after waiting for it to update, causing us to get back an invalid hostname
24
+ - Improve error handling if kitchen instance is destroy out of band [\#210](https://github.com/test-kitchen/kitchen-ec2/issues/210)
25
+ - SSH prompting password for an instance inside VPC [\#129](https://github.com/test-kitchen/kitchen-ec2/issues/129)
26
+ - amis.json out of date [\#117](https://github.com/test-kitchen/kitchen-ec2/issues/117)
27
+ - Fix sudo dependency. Fixes \#204 [\#219](https://github.com/test-kitchen/kitchen-ec2/pull/219) ([alexpop](https://github.com/alexpop))
28
+ - Use ubuntu user for Ubuntu 15.04 and 15.10 [\#196](https://github.com/test-kitchen/kitchen-ec2/pull/196) ([jaym](https://github.com/jaym))
29
+ - Adding better retry logic to creation, fixes \#179 \(hopefully\) [\#184](https://github.com/test-kitchen/kitchen-ec2/pull/184) ([tyler-ball](https://github.com/tyler-ball))
30
+ - Add support for looking up AMIs with the EC2 API [\#177](https://github.com/test-kitchen/kitchen-ec2/pull/177) ([zl4bv](https://github.com/zl4bv))
31
+ - Trying :instance\_running check before tagging [\#171](https://github.com/test-kitchen/kitchen-ec2/pull/171) ([tyler-ball](https://github.com/tyler-ball))
26
32
 
27
- ### New Features
33
+ **Closed issues:**
28
34
 
29
- ### Improvements
35
+ - Requesting to include this plug-in in Chefdk [\#218](https://github.com/test-kitchen/kitchen-ec2/issues/218)
36
+ - Can't ssh to instance after it's created [\#217](https://github.com/test-kitchen/kitchen-ec2/issues/217)
37
+ - No installation instructions [\#216](https://github.com/test-kitchen/kitchen-ec2/issues/216)
38
+ - availability\_zone is always b [\#215](https://github.com/test-kitchen/kitchen-ec2/issues/215)
39
+ - Windows create fails fetching password [\#211](https://github.com/test-kitchen/kitchen-ec2/issues/211)
40
+ - Offering to help maintain this repo [\#209](https://github.com/test-kitchen/kitchen-ec2/issues/209)
41
+ - Support for HVM EC2 instances [\#205](https://github.com/test-kitchen/kitchen-ec2/issues/205)
42
+ - Installation fails due to sudo dependency in test-kitchen [\#204](https://github.com/test-kitchen/kitchen-ec2/issues/204)
43
+ - Not all AMIs in amis.json are public. [\#202](https://github.com/test-kitchen/kitchen-ec2/issues/202)
44
+ - connection\_retries doesn't seem to work? [\#200](https://github.com/test-kitchen/kitchen-ec2/issues/200)
45
+ - kitchen converge needs to be run 2-3 times to work with stock Windows 2012r2 AMI ami-dfccd1ef [\#198](https://github.com/test-kitchen/kitchen-ec2/issues/198)
46
+ - Unable to assign a name to an ec2 instance [\#194](https://github.com/test-kitchen/kitchen-ec2/issues/194)
47
+ - Administrator password not being retrieved on Windows 2008 R2 [\#192](https://github.com/test-kitchen/kitchen-ec2/issues/192)
48
+ - Removing Default Storage when running Kitchen Destroy [\#188](https://github.com/test-kitchen/kitchen-ec2/issues/188)
49
+ - Test Kitchen issues on EC2 using RHEL platform? [\#181](https://github.com/test-kitchen/kitchen-ec2/issues/181)
50
+ - Failure for numeric key name [\#178](https://github.com/test-kitchen/kitchen-ec2/issues/178)
51
+ - Issues under high concurrency [\#176](https://github.com/test-kitchen/kitchen-ec2/issues/176)
52
+ - SSH Connection Expiring Upon Instance Creation [\#173](https://github.com/test-kitchen/kitchen-ec2/issues/173)
53
+ - Throttle requests to EC2 API [\#170](https://github.com/test-kitchen/kitchen-ec2/issues/170)
54
+ - missing aws\_secret\_access\_key causes quiet timeout [\#155](https://github.com/test-kitchen/kitchen-ec2/issues/155)
30
55
 
31
- ## 0.9.4 / 2015-06-03
56
+ **Merged pull requests:**
32
57
 
33
- ### Bug Fixes
58
+ - Bump revision to 1.0.0.beta.1 [\#224](https://github.com/test-kitchen/kitchen-ec2/pull/224) ([jkeiser](https://github.com/jkeiser))
59
+ - Update travis ruby versions and update badges [\#213](https://github.com/test-kitchen/kitchen-ec2/pull/213) ([tas50](https://github.com/tas50))
60
+ - Allow configuring retry\_limit in Aws.config [\#208](https://github.com/test-kitchen/kitchen-ec2/pull/208) ([jlyheden](https://github.com/jlyheden))
61
+ - Default instance type change, and Ubuntu AMI search options to match [\#207](https://github.com/test-kitchen/kitchen-ec2/pull/207) ([vancluever](https://github.com/vancluever))
62
+ - Add support for CentOS 7 [\#199](https://github.com/test-kitchen/kitchen-ec2/pull/199) ([proffalken](https://github.com/proffalken))
63
+ - Update CHANGELOG.md [\#183](https://github.com/test-kitchen/kitchen-ec2/pull/183) ([failshell](https://github.com/failshell))
34
64
 
35
- * Pull Request [#142][]: Fixing NoMethodError, providing logger to instance_generator
65
+ ## [v0.10.0](https://github.com/test-kitchen/kitchen-ec2/tree/v0.10.0) (2015-06-24)
66
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.10.0.rc.1...v0.10.0)
36
67
 
37
- ### New Features
68
+ **Fixed bugs:**
38
69
 
39
- ### Improvements
70
+ - ebs\_volume\_type missing parameters when set to 'io1' [\#157](https://github.com/test-kitchen/kitchen-ec2/issues/157)
71
+ - setting http\_proxy causes no\_proxy to be ignored [\#156](https://github.com/test-kitchen/kitchen-ec2/issues/156)
72
+ - transport configuration options do not work [\#145](https://github.com/test-kitchen/kitchen-ec2/issues/145)
73
+ - expected params\[:network\_interfaces\]\[0\]\[:groups\] to be an array [\#144](https://github.com/test-kitchen/kitchen-ec2/issues/144)
74
+ - Premature timeout when waiting for WinRM for be ready [\#132](https://github.com/test-kitchen/kitchen-ec2/issues/132)
75
+ - Allow `:security\_group\_ids` to accept a string value. [\#166](https://github.com/test-kitchen/kitchen-ec2/pull/166) ([fnichol](https://github.com/fnichol))
76
+ - Adding block\_device\_mapping iops parameter, fixes \#157 [\#165](https://github.com/test-kitchen/kitchen-ec2/pull/165) ([tyler-ball](https://github.com/tyler-ball))
77
+ - Fix 'invalid char in json text' error [\#161](https://github.com/test-kitchen/kitchen-ec2/pull/161) ([zl4bv](https://github.com/zl4bv))
78
+ - Remove useless log message [\#158](https://github.com/test-kitchen/kitchen-ec2/pull/158) ([ustuehler](https://github.com/ustuehler))
79
+ - Remove useless log message [\#158](https://github.com/test-kitchen/kitchen-ec2/pull/158) ([ustuehler](https://github.com/ustuehler))
40
80
 
41
- ## 0.9.3 / 2015-05-29
81
+ **Closed issues:**
42
82
 
43
- ### Bug Fixes
83
+ - efdk bundle update [\#163](https://github.com/test-kitchen/kitchen-ec2/issues/163)
44
84
 
45
- * Pull Request [#140][]: Wait for an instance to pass existence check before tagging it
85
+ **Merged pull requests:**
46
86
 
47
- ### New Features
87
+ - reference to required IAM settings [\#160](https://github.com/test-kitchen/kitchen-ec2/pull/160) ([gmiranda23](https://github.com/gmiranda23))
48
88
 
49
- ### Improvements
89
+ ## [v0.10.0.rc.1](https://github.com/test-kitchen/kitchen-ec2/tree/v0.10.0.rc.1) (2015-06-19)
90
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.10.0.rc.0...v0.10.0.rc.1)
50
91
 
51
- ## 0.9.2 / 2015-05-27
92
+ ## [v0.10.0.rc.0](https://github.com/test-kitchen/kitchen-ec2/tree/v0.10.0.rc.0) (2015-06-18)
93
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.9.5...v0.10.0.rc.0)
52
94
 
53
- ### Bug Fixes
95
+ **Fixed bugs:**
54
96
 
55
- * Pull Request [#131][]: Adding back support for a proxy via config `http_proxy` which defaults to `ENV[‘HTTPS_PROXY’] || ENV['HTTP_PROXY']`
56
- * Pull Request [#128][]:
57
- * Fixes [#121][]: Fixing error `Network interfaces and an instance-level security groups may not be specified on the same request`
58
- * Fixes [#127][]: User Data content should be base64 encoded when passed to aws sdk
97
+ - block device examples updated [\#136](https://github.com/test-kitchen/kitchen-ec2/pull/136) ([gmiranda23](https://github.com/gmiranda23))
59
98
 
60
- ### New Features
99
+ **Closed issues:**
61
100
 
62
- ### Improvements
101
+ - Documentation - IAM policy document [\#159](https://github.com/test-kitchen/kitchen-ec2/issues/159)
102
+ - kitchen-ec2 version 0.9.4 ssh transport is broken [\#154](https://github.com/test-kitchen/kitchen-ec2/issues/154)
103
+ - Setting multiple non-default transport usernames per platform will soon be broken [\#153](https://github.com/test-kitchen/kitchen-ec2/issues/153)
63
104
 
64
- ## 0.9.1 / 2015-05-21
105
+ **Merged pull requests:**
65
106
 
66
- ### Bug Fixes
107
+ - Pulling together existing PRs for windows support [\#150](https://github.com/test-kitchen/kitchen-ec2/pull/150) ([tyler-ball](https://github.com/tyler-ball))
67
108
 
68
- * Pull Request [#124][]: AWS SDK V2 returns `instance.public_dns_name` as empty string instead of nil, and we were only checking for nil. Caused timeouts trying to connect. ([@tyler-ball][])
69
- * Fixed regression: Adding back `interface` config value that I accidently removed, code is now in line with README.
70
- * Pull Request [#125][]: When specifying `associate_public_ip` we must send the subnet (if provided) in the `network_interfaces` section of the payload instead of the main section. ([@tyler-ball][])
71
- * Fixed regression: Accidently renamed config `associate_public_ip` to `associate_public_ip_address`, reverting.
72
- * Fixed regression: Accidently renamed config `iam_profile_name` to `iam_instance_profile`, reverting.
109
+ ## [v0.9.5](https://github.com/test-kitchen/kitchen-ec2/tree/v0.9.5) (2015-06-08)
110
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.9.4...v0.9.5)
73
111
 
74
- ### New Features
112
+ **Fixed bugs:**
75
113
 
76
- ### Improvements
114
+ - You broke Chef's Travis CI tests =\) [\#148](https://github.com/test-kitchen/kitchen-ec2/issues/148)
77
115
 
78
- ## 0.9.0 / 2015-05-18
116
+ **Closed issues:**
79
117
 
80
- ### Bug Fixes
118
+ - Race condition logging into RHEL/CentOS instances [\#149](https://github.com/test-kitchen/kitchen-ec2/issues/149)
81
119
 
82
- * Pull Request [#46][]: Don't create multiple instances if `kitchen create` is called multiple times. ([@anl][])
83
- * Pull Request [#97][], [#69][], [#99][]: Try additional connections to servers which don't have a `public_ip_address`. This helps connect to nodes over VPN. ([@chuckg][], [@tyler-ball][], [@mumoshu][])
120
+ **Merged pull requests:**
84
121
 
85
- ### New Features
122
+ - Query correct instance object for hostname fixes \#148 [\#151](https://github.com/test-kitchen/kitchen-ec2/pull/151) ([tyler-ball](https://github.com/tyler-ball))
86
123
 
87
- * Pull Request [#35][]: Adding support for specifying the IAM profile on created instance. Set `:iam_profile_name` in the driver section of your .kitchen.yml to specify this. ([@nicgrayson][])
88
- * Pull Request [#82][]: Add the ability to specify user data. Set `:user_data` in the driver section of your .kitchen.yml. This can either be the user data or the path to a file which contains the user data. ([@sebbrandt87][])
89
- * Pull Request [#84][]: Add the ability to specify the private ip of the instance. Set `:private_ip_address` in the driver section of your .kitchen.yml. ([@scarolan][])
90
- * Pull Request [#68][], [#104][], [#107][]: If provisioning from an EC2 host and credentials are not set use the local nodes's credentials. If access key & secret are set, do not use local session token - leave it unset. ([@JamesAwesome][], [@Igorshp][], [@daanemanz][])
124
+ ## [v0.9.4](https://github.com/test-kitchen/kitchen-ec2/tree/v0.9.4) (2015-06-03)
125
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.9.3...v0.9.4)
91
126
 
92
- ### Improvements
127
+ **Fixed bugs:**
93
128
 
94
- * Pull Request [#110][]: Updating to use the AWS SDK V2 instead of Fog. ([@tyler-ball][])
95
- * We no longer recommend storing the AWS credentials in the `.kitchen.yml` file. Instead, specify them as environment variables or in the `~/.aws/credentials` file. See the README for more details.
96
- * Pull Request [#112][]: Updating to depend on the latest version of Test Kitchen, 1.4.0. ([@jmundrawala][])
129
+ - undefined local variable or method `logger' on kitchen create [\#142](https://github.com/test-kitchen/kitchen-ec2/issues/142)
130
+ - Kitchen setup on Centos6.4 fails initial ssh auth with valid credentials [\#137](https://github.com/test-kitchen/kitchen-ec2/issues/137)
131
+ - TK Can't Connect to EC2 Instance via SSH [\#135](https://github.com/test-kitchen/kitchen-ec2/issues/135)
132
+ - Providing logger to instance\_generator, fixes \#142 [\#146](https://github.com/test-kitchen/kitchen-ec2/pull/146) ([tyler-ball](https://github.com/tyler-ball))
97
133
 
98
- ## 0.8.0 / 2014-02-11
134
+ **Closed issues:**
99
135
 
100
- ### Bug fixes
136
+ - kitchen destroy bombs trying to destroy non-existent instances [\#143](https://github.com/test-kitchen/kitchen-ec2/issues/143)
137
+ - EC2-Instance terminates while TK waits on it to become ready [\#130](https://github.com/test-kitchen/kitchen-ec2/issues/130)
101
138
 
102
- * Pull request [#29][], pull request [#28][]: Relax Test Kitchen dependency to allow versions 1.0 and up. ([@coderanger][], [@someara][])
139
+ **Merged pull requests:**
103
140
 
104
- ## New features
141
+ - \#66: changed \[driver\_usage\] link to point to GitHub [\#141](https://github.com/test-kitchen/kitchen-ec2/pull/141) ([dsavinkov](https://github.com/dsavinkov))
105
142
 
106
- * Pull request [#29][]: Add `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` fallback environment variable support. ([@coderanger][])
107
- * Pull request [#27][], pull request [#31][]: Make EC2 endpoint configurable for services implementing the AWS APIs. ([@bozinsky][], [@spheromak][])
108
- * Pull request [#34][]: Support AWS session tokens for use with IAM roles. ([@coderanger][])
109
- * Pull request [#22][]: Add ebs_optimized attribute. ([@tiwilliam][])
143
+ ## [v0.9.3](https://github.com/test-kitchen/kitchen-ec2/tree/v0.9.3) (2015-05-29)
144
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.9.2...v0.9.3)
110
145
 
111
- ### Improvements
146
+ **Fixed bugs:**
112
147
 
113
- * Pull request [#20][], pull request [#21][], issue [#14][]: Add configurability around whether to use DNS name, public or private IP addresses when connecting to instances. ([@matheeeny][], [@Atalanta][], [@fnichol][])
114
- * Pull request [#15][]: In VPC groups must be specified by setting :security_group_ids rather than :groups. ([@eherot][])
115
- * Pull request [#23][]: README updates for badges. ([@sethvargo][], [@arangamani][])
148
+ - Error trying to tag instance before it exists [\#138](https://github.com/test-kitchen/kitchen-ec2/issues/138)
149
+ - \[Network interfaces and an instance-level security groups may not be specified on the same request\] [\#127](https://github.com/test-kitchen/kitchen-ec2/issues/127)
116
150
 
151
+ **Closed issues:**
117
152
 
118
- ## 0.7.0 / 2013-08-29
153
+ - Failure to specify username leads to confusing error message [\#113](https://github.com/test-kitchen/kitchen-ec2/issues/113)
154
+ - Kitchen attempts to log in before sshd is ready [\#85](https://github.com/test-kitchen/kitchen-ec2/issues/85)
119
155
 
120
- ### Bug fixes
156
+ **Merged pull requests:**
121
157
 
122
- * Pull request [#13][]: #wait_for_ssh takes 2 arguments. ([@dysinger][])
158
+ - Adding an existence check before tagging server [\#140](https://github.com/test-kitchen/kitchen-ec2/pull/140) ([tyler-ball](https://github.com/tyler-ball))
123
159
 
124
- ### Improvements
160
+ ## [v0.9.2](https://github.com/test-kitchen/kitchen-ec2/tree/v0.9.2) (2015-05-27)
161
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.9.1...v0.9.2)
125
162
 
126
- * Support computed defaults for a select list of pre-determined platforms (see readme for quick example). ([@fnichol][])~
163
+ **Fixed bugs:**
127
164
 
165
+ - Support for proxy? [\#126](https://github.com/test-kitchen/kitchen-ec2/issues/126)
166
+ - Support for proxy? [\#126](https://github.com/test-kitchen/kitchen-ec2/issues/126)
167
+ - User Data content should be base64 encoded when passed to aws sdk [\#121](https://github.com/test-kitchen/kitchen-ec2/issues/121)
128
168
 
129
- ## 0.6.0 / 2013-07-23
169
+ **Closed issues:**
130
170
 
131
- ### Bug fixes
171
+ - kitchen-ec2 fails when setting associate\_public\_ip: false [\#106](https://github.com/test-kitchen/kitchen-ec2/issues/106)
132
172
 
133
- * Pull request [#8][]: Use private ip if the public ip is `nil`. ([@dissonanz][])
173
+ **Merged pull requests:**
134
174
 
135
- ### Improvements
175
+ - Adding proxy support that was present in Fog back [\#131](https://github.com/test-kitchen/kitchen-ec2/pull/131) ([tyler-ball](https://github.com/tyler-ball))
176
+ - Fixing 2 regressions in 0.9.1 [\#128](https://github.com/test-kitchen/kitchen-ec2/pull/128) ([tyler-ball](https://github.com/tyler-ball))
136
177
 
137
- * Pull request [#9][]: Match access and secret key env vars in example kitchen config with CLI tools' env vars. ([@juliandunn][])
178
+ ## [v0.9.1](https://github.com/test-kitchen/kitchen-ec2/tree/v0.9.1) (2015-05-21)
179
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.9.0...v0.9.1)
138
180
 
181
+ **Fixed bugs:**
139
182
 
140
- ## 0.5.1 / 2013-05-23
183
+ - hostname missing when waiting for ssh service in create action [\#122](https://github.com/test-kitchen/kitchen-ec2/issues/122)
184
+ - ebs\_delete\_on\_termination is not working [\#91](https://github.com/test-kitchen/kitchen-ec2/issues/91)
185
+ - Fixing error where aws returns DNS name as empty string [\#124](https://github.com/test-kitchen/kitchen-ec2/pull/124) ([tyler-ball](https://github.com/tyler-ball))
141
186
 
142
- ### New features
187
+ **Closed issues:**
143
188
 
144
- * Pull request [#7][]: Add subnet\_id option for use with VPC. ([@dissonanz][])
189
+ - Limited Permissions - Failed to complete \#create action: \[You are not authorized to perform this operation.\] [\#120](https://github.com/test-kitchen/kitchen-ec2/issues/120)
190
+ - release 0.8.0 doesn't properly honor instance\_type [\#114](https://github.com/test-kitchen/kitchen-ec2/issues/114)
191
+ - tag\_server: tag key needs to be cast to string [\#111](https://github.com/test-kitchen/kitchen-ec2/issues/111)
192
+ - The specified wait\_for timeout \(600 seconds\) was exceeded [\#103](https://github.com/test-kitchen/kitchen-ec2/issues/103)
193
+ - block\_device\_mappings setting is not optional [\#100](https://github.com/test-kitchen/kitchen-ec2/issues/100)
194
+ - kitchen-ec2 - iam\_profile\_name fog not passing through [\#94](https://github.com/test-kitchen/kitchen-ec2/issues/94)
195
+ - Unable to SSH into VPC Instance [\#77](https://github.com/test-kitchen/kitchen-ec2/issues/77)
196
+ - Can't get a public IP [\#72](https://github.com/test-kitchen/kitchen-ec2/issues/72)
197
+ - Why no releases since Feb? [\#65](https://github.com/test-kitchen/kitchen-ec2/issues/65)
145
198
 
199
+ **Merged pull requests:**
146
200
 
147
- ## 0.5.0 / 2013-05-23
201
+ - Fixing :subnet\_id payload placement if :associate\_public\_ip is set [\#125](https://github.com/test-kitchen/kitchen-ec2/pull/125) ([tyler-ball](https://github.com/tyler-ball))
148
202
 
149
- ### New features
203
+ ## [v0.9.0](https://github.com/test-kitchen/kitchen-ec2/tree/v0.9.0) (2015-05-19)
204
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.8.0...v0.9.0)
150
205
 
151
- * Pull request [#5][]: Add the ability to give ec2 instances tags. ([@halcyonCorsair][])
152
- * Add required_config attributes for driver. ([@fnichol][])
206
+ **Implemented enhancements:**
153
207
 
154
- ### Improvements
208
+ - Support HVM based virtualization [\#25](https://github.com/test-kitchen/kitchen-ec2/issues/25)
209
+ - Support spot-instances [\#6](https://github.com/test-kitchen/kitchen-ec2/issues/6)
155
210
 
156
- * Write README. ([@fnichol][])
157
- * Pull request [#2][]: Extra EC2 server creation debugging. ([@mattray][])
158
- * Remove default_config :port in favor of SSHBase default (also 22). ([@fnichol][])
211
+ **Fixed bugs:**
159
212
 
160
- <!--- The following link definition list is generated by PimpMyChangelog --->
161
- [#2]: https://github.com/test-kitchen/kitchen-ec2/issues/2
162
- [#5]: https://github.com/test-kitchen/kitchen-ec2/issues/5
163
- [#7]: https://github.com/test-kitchen/kitchen-ec2/issues/7
164
- [#8]: https://github.com/test-kitchen/kitchen-ec2/issues/8
165
- [#9]: https://github.com/test-kitchen/kitchen-ec2/issues/9
166
- [#13]: https://github.com/test-kitchen/kitchen-ec2/issues/13
167
- [#14]: https://github.com/test-kitchen/kitchen-ec2/issues/14
168
- [#15]: https://github.com/test-kitchen/kitchen-ec2/issues/15
169
- [#20]: https://github.com/test-kitchen/kitchen-ec2/issues/20
170
- [#21]: https://github.com/test-kitchen/kitchen-ec2/issues/21
171
- [#22]: https://github.com/test-kitchen/kitchen-ec2/issues/22
172
- [#23]: https://github.com/test-kitchen/kitchen-ec2/issues/23
173
- [#27]: https://github.com/test-kitchen/kitchen-ec2/issues/27
174
- [#28]: https://github.com/test-kitchen/kitchen-ec2/issues/28
175
- [#29]: https://github.com/test-kitchen/kitchen-ec2/issues/29
176
- [#31]: https://github.com/test-kitchen/kitchen-ec2/issues/31
177
- [#34]: https://github.com/test-kitchen/kitchen-ec2/issues/34
178
- [#35]: https://github.com/test-kitchen/kitchen-ec2/issues/35
179
- [#46]: https://github.com/test-kitchen/kitchen-ec2/issues/46
180
- [#68]: https://github.com/test-kitchen/kitchen-ec2/issues/68
181
- [#69]: https://github.com/test-kitchen/kitchen-ec2/issues/69
182
- [#82]: https://github.com/test-kitchen/kitchen-ec2/issues/82
183
- [#84]: https://github.com/test-kitchen/kitchen-ec2/issues/84
184
- [#97]: https://github.com/test-kitchen/kitchen-ec2/issues/97
185
- [#99]: https://github.com/test-kitchen/kitchen-ec2/issues/99
186
- [#104]: https://github.com/test-kitchen/kitchen-ec2/issues/104
187
- [#107]: https://github.com/test-kitchen/kitchen-ec2/issues/107
188
- [#110]: https://github.com/test-kitchen/kitchen-ec2/issues/110
189
- [#112]: https://github.com/test-kitchen/kitchen-ec2/issues/112
190
- [#121]: https://github.com/test-kitchen/kitchen-ec2/issues/121
191
- [#124]: https://github.com/test-kitchen/kitchen-ec2/issues/124
192
- [#125]: https://github.com/test-kitchen/kitchen-ec2/issues/125
193
- [#127]: https://github.com/test-kitchen/kitchen-ec2/issues/127
194
- [#128]: https://github.com/test-kitchen/kitchen-ec2/issues/128
195
- [#131]: https://github.com/test-kitchen/kitchen-ec2/issues/131
196
- [#140]: https://github.com/test-kitchen/kitchen-ec2/issues/140
197
- [#142]: https://github.com/test-kitchen/kitchen-ec2/issues/142
198
- [#150]: https://github.com/test-kitchen/kitchen-ec2/issues/150
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
203
- [@Atalanta]: https://github.com/Atalanta
204
- [@Igorshp]: https://github.com/Igorshp
205
- [@JamesAwesome]: https://github.com/JamesAwesome
206
- [@afiune]: https://github.com/afiune
207
- [@anl]: https://github.com/anl
208
- [@arangamani]: https://github.com/arangamani
209
- [@bozinsky]: https://github.com/bozinsky
210
- [@chuckg]: https://github.com/chuckg
211
- [@coderanger]: https://github.com/coderanger
212
- [@daanemanz]: https://github.com/daanemanz
213
- [@dissonanz]: https://github.com/dissonanz
214
- [@dysinger]: https://github.com/dysinger
215
- [@eherot]: https://github.com/eherot
216
- [@fnichol]: https://github.com/fnichol
217
- [@halcyonCorsair]: https://github.com/halcyonCorsair
218
- [@jmundrawala]: https://github.com/jmundrawala
219
- [@juliandunn]: https://github.com/juliandunn
220
- [@matheeeny]: https://github.com/matheeeny
221
- [@mattray]: https://github.com/mattray
222
- [@mumoshu]: https://github.com/mumoshu
223
- [@nicgrayson]: https://github.com/nicgrayson
224
- [@scarolan]: https://github.com/scarolan
225
- [@sebbrandt87]: https://github.com/sebbrandt87
226
- [@sethvargo]: https://github.com/sethvargo
227
- [@someara]: https://github.com/someara
228
- [@spheromak]: https://github.com/spheromak
229
- [@tiwilliam]: https://github.com/tiwilliam
230
- [@tyler-ball]: https://github.com/tyler-ball
231
- [@zl4bv]: https://github.com/zl4bv
213
+ - Might be leaving orphaned EBS volumes [\#30](https://github.com/test-kitchen/kitchen-ec2/issues/30)
214
+ - `kitchen login` fails if ssh\_key is a relative path. [\#26](https://github.com/test-kitchen/kitchen-ec2/issues/26)
215
+ - Fix security\_group\_ids parameter for spot requests [\#90](https://github.com/test-kitchen/kitchen-ec2/pull/90) ([gfloyd](https://github.com/gfloyd))
216
+
217
+ **Closed issues:**
218
+
219
+ - Issue with amazon linux 32 bit and SCP failing \>\>\>\>\>\> Message: Failed to complete \#converge action: \[SCP did not finish successfully \(127\): \] [\#88](https://github.com/test-kitchen/kitchen-ec2/issues/88)
220
+ - The plugin does not create /etc/chef/ohai/hints/ec2.json file [\#86](https://github.com/test-kitchen/kitchen-ec2/issues/86)
221
+ - how do you pass user data to the instance? [\#79](https://github.com/test-kitchen/kitchen-ec2/issues/79)
222
+ - Can't find how to set EBS Volume Size [\#71](https://github.com/test-kitchen/kitchen-ec2/issues/71)
223
+ - Instance created but nothing happens from there [\#62](https://github.com/test-kitchen/kitchen-ec2/issues/62)
224
+ - Use IAM role to authenticate with AWS [\#55](https://github.com/test-kitchen/kitchen-ec2/issues/55)
225
+ - iam\_profile\_name not being added to ec2 [\#54](https://github.com/test-kitchen/kitchen-ec2/issues/54)
226
+ - it always invokes tests as root [\#52](https://github.com/test-kitchen/kitchen-ec2/issues/52)
227
+ - Failing authentication for some larger instances. [\#51](https://github.com/test-kitchen/kitchen-ec2/issues/51)
228
+ - allow to hide aws keys from kitchen.yml [\#50](https://github.com/test-kitchen/kitchen-ec2/issues/50)
229
+ - Configuration option for naming EC2 instances? [\#48](https://github.com/test-kitchen/kitchen-ec2/issues/48)
230
+ - Ohai attribute node\[:ec2\] is nil [\#47](https://github.com/test-kitchen/kitchen-ec2/issues/47)
231
+ - Resolving dependencies on ec2 instead upload resolved cookbooks to ec2 [\#40](https://github.com/test-kitchen/kitchen-ec2/issues/40)
232
+ - fails to connect to ec2 if ip/host is not in known\_hosts entry [\#38](https://github.com/test-kitchen/kitchen-ec2/issues/38)
233
+ - doesn't invoke test while using ec2 driver [\#37](https://github.com/test-kitchen/kitchen-ec2/issues/37)
234
+ - Default to IAM Credentials if aws\_access\_key\_id or aws\_secret\_access\_key Not Provided [\#19](https://github.com/test-kitchen/kitchen-ec2/issues/19)
235
+
236
+ **Merged pull requests:**
237
+
238
+ - Test Kitchen 1.4.0 has been released [\#112](https://github.com/test-kitchen/kitchen-ec2/pull/112) ([jaym](https://github.com/jaym))
239
+ - Adding test coverage [\#110](https://github.com/test-kitchen/kitchen-ec2/pull/110) ([tyler-ball](https://github.com/tyler-ball))
240
+ - Updating to depend on TK 1.4 [\#109](https://github.com/test-kitchen/kitchen-ec2/pull/109) ([tyler-ball](https://github.com/tyler-ball))
241
+ - Add explicit option for using iam profile for authentication [\#107](https://github.com/test-kitchen/kitchen-ec2/pull/107) ([JamesAwesome](https://github.com/JamesAwesome))
242
+ - Add support for IAM role credentials [\#104](https://github.com/test-kitchen/kitchen-ec2/pull/104) ([Igorshp](https://github.com/Igorshp))
243
+ - Fix the regression after changes in 23f4d945 [\#99](https://github.com/test-kitchen/kitchen-ec2/pull/99) ([mumoshu](https://github.com/mumoshu))
244
+ - New `block\_device\_mappings` config [\#98](https://github.com/test-kitchen/kitchen-ec2/pull/98) ([tyler-ball](https://github.com/tyler-ball))
245
+ - Fix connection to servers without a "public\_ip\_address" interface \(ie: VPC\) [\#97](https://github.com/test-kitchen/kitchen-ec2/pull/97) ([tyler-ball](https://github.com/tyler-ball))
246
+ - Updating documentation so first-time users have an easier time [\#92](https://github.com/test-kitchen/kitchen-ec2/pull/92) ([tyler-ball](https://github.com/tyler-ball))
247
+ - Added private\_ip\_address support. [\#84](https://github.com/test-kitchen/kitchen-ec2/pull/84) ([scarolan](https://github.com/scarolan))
248
+ - added user\_data for instance preparation [\#82](https://github.com/test-kitchen/kitchen-ec2/pull/82) ([sebbrandt87](https://github.com/sebbrandt87))
249
+ - Fix connection to servers without a "public\_ip\_address" interface \(ie: VPC\) [\#69](https://github.com/test-kitchen/kitchen-ec2/pull/69) ([chuckg](https://github.com/chuckg))
250
+ - Add Ubuntu 13.10 and 14.04 AMIs [\#63](https://github.com/test-kitchen/kitchen-ec2/pull/63) ([justincampbell](https://github.com/justincampbell))
251
+ - Added AWS\_SESSION\_TOKEN parameter to readme [\#60](https://github.com/test-kitchen/kitchen-ec2/pull/60) ([berniedurfee](https://github.com/berniedurfee))
252
+ - Customize ssh\_timeout and ssh\_retries [\#58](https://github.com/test-kitchen/kitchen-ec2/pull/58) ([ekrupnik](https://github.com/ekrupnik))
253
+ - Added .project to .gitignore file [\#57](https://github.com/test-kitchen/kitchen-ec2/pull/57) ([ekrupnik](https://github.com/ekrupnik))
254
+ - Add missing "a" to interface header [\#49](https://github.com/test-kitchen/kitchen-ec2/pull/49) ([eherot](https://github.com/eherot))
255
+ - Don't create multiple instances if "kitchen create" is called multiple t... [\#46](https://github.com/test-kitchen/kitchen-ec2/pull/46) ([anl](https://github.com/anl))
256
+ - Warn about $$$ [\#41](https://github.com/test-kitchen/kitchen-ec2/pull/41) ([sethvargo](https://github.com/sethvargo))
257
+ - IAM Profile Support for Created instance [\#35](https://github.com/test-kitchen/kitchen-ec2/pull/35) ([nicgrayson](https://github.com/nicgrayson))
258
+
259
+ ## [v0.8.0](https://github.com/test-kitchen/kitchen-ec2/tree/v0.8.0) (2014-02-12)
260
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.7.0...v0.8.0)
261
+
262
+ **Fixed bugs:**
263
+
264
+ - AWS ENV vars not honored [\#17](https://github.com/test-kitchen/kitchen-ec2/issues/17)
265
+ - Periodic failures in kitchen-ec2 [\#10](https://github.com/test-kitchen/kitchen-ec2/issues/10)
266
+
267
+ **Closed issues:**
268
+
269
+ - encrypted\_data\_bag\_secret not found [\#24](https://github.com/test-kitchen/kitchen-ec2/issues/24)
270
+ - busser bats tests don't run [\#16](https://github.com/test-kitchen/kitchen-ec2/issues/16)
271
+ - Support for server.dns\_name [\#14](https://github.com/test-kitchen/kitchen-ec2/issues/14)
272
+
273
+ **Merged pull requests:**
274
+
275
+ - Support AWS session tokens for use with IAM roles. [\#34](https://github.com/test-kitchen/kitchen-ec2/pull/34) ([coderanger](https://github.com/coderanger))
276
+ - endpoint should have a trailing slash [\#31](https://github.com/test-kitchen/kitchen-ec2/pull/31) ([spheromak](https://github.com/spheromak))
277
+ - Compat with test-kitchen master. [\#29](https://github.com/test-kitchen/kitchen-ec2/pull/29) ([coderanger](https://github.com/coderanger))
278
+ - Support selection of private ip [\#21](https://github.com/test-kitchen/kitchen-ec2/pull/21) ([Atalanta](https://github.com/Atalanta))
279
+
280
+ ## [v0.7.0](https://github.com/test-kitchen/kitchen-ec2/tree/v0.7.0) (2013-08-29)
281
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.6.0...v0.7.0)
282
+
283
+ **Closed issues:**
284
+
285
+ - Error running kitchen-ec2 0.6.0 [\#12](https://github.com/test-kitchen/kitchen-ec2/issues/12)
286
+ - License missing from gemspec [\#11](https://github.com/test-kitchen/kitchen-ec2/issues/11)
287
+
288
+ **Merged pull requests:**
289
+
290
+ - wait\_for\_ssh takes 2 arguments [\#13](https://github.com/test-kitchen/kitchen-ec2/pull/13) ([dysinger](https://github.com/dysinger))
291
+
292
+ ## [v0.6.0](https://github.com/test-kitchen/kitchen-ec2/tree/v0.6.0) (2013-07-23)
293
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.5.1...v0.6.0)
294
+
295
+ **Closed issues:**
296
+
297
+ - net-scp version is 1.0.4 [\#1](https://github.com/test-kitchen/kitchen-ec2/issues/1)
298
+
299
+ **Merged pull requests:**
300
+
301
+ - Match access and secret key env vars in example kitchen config with CLI tools' env vars. [\#9](https://github.com/test-kitchen/kitchen-ec2/pull/9) ([juliandunn](https://github.com/juliandunn))
302
+ - Use private ip if the public ip is nil [\#8](https://github.com/test-kitchen/kitchen-ec2/pull/8) ([dissonanz](https://github.com/dissonanz))
303
+
304
+ ## [v0.5.1](https://github.com/test-kitchen/kitchen-ec2/tree/v0.5.1) (2013-05-23)
305
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.5.0...v0.5.1)
306
+
307
+ **Merged pull requests:**
308
+
309
+ - Adding subnet\_id option for use with VPCs [\#7](https://github.com/test-kitchen/kitchen-ec2/pull/7) ([dissonanz](https://github.com/dissonanz))
310
+
311
+ ## [v0.5.0](https://github.com/test-kitchen/kitchen-ec2/tree/v0.5.0) (2013-05-23)
312
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.4.0...v0.5.0)
313
+
314
+ **Closed issues:**
315
+
316
+ - We should be able to specify tags for ec2 instances [\#4](https://github.com/test-kitchen/kitchen-ec2/issues/4)
317
+ - SSH private key config value needed [\#3](https://github.com/test-kitchen/kitchen-ec2/issues/3)
318
+
319
+ **Merged pull requests:**
320
+
321
+ - Add the ability to give ec2 instances tags. [\#5](https://github.com/test-kitchen/kitchen-ec2/pull/5) ([halcyonCorsair](https://github.com/halcyonCorsair))
322
+ - additional ec2 debugging [\#2](https://github.com/test-kitchen/kitchen-ec2/pull/2) ([mattray](https://github.com/mattray))
323
+
324
+ ## [v0.4.0](https://github.com/test-kitchen/kitchen-ec2/tree/v0.4.0) (2013-03-02)
325
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.3.0...v0.4.0)
326
+
327
+ ## [v0.3.0](https://github.com/test-kitchen/kitchen-ec2/tree/v0.3.0) (2013-01-09)
328
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.2.0...v0.3.0)
329
+
330
+ ## [v0.2.0](https://github.com/test-kitchen/kitchen-ec2/tree/v0.2.0) (2013-01-03)
331
+ [Full Changelog](https://github.com/test-kitchen/kitchen-ec2/compare/v0.1.0...v0.2.0)
332
+
333
+ ## [v0.1.0](https://github.com/test-kitchen/kitchen-ec2/tree/v0.1.0) (2012-12-27)
334
+
335
+
336
+ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
data/README.md CHANGED
@@ -284,12 +284,19 @@ The EC2 IAM profile name to use.
284
284
 
285
285
  The default is `nil`.
286
286
 
287
- ### `price`
287
+ ### `spot_price`
288
288
 
289
289
  The price you bid in order to submit a spot request. An additional step will be required during the spot request process submission. If no price is set, it will use an on-demand instance.
290
290
 
291
291
  The default is `nil`.
292
292
 
293
+ ### block_duration_minutes
294
+
295
+ The [specified duration](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#fixed-duration-spot-instances) for a spot instance, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).
296
+ If no duration is set, the spot instance will remain active until it is terminated.
297
+
298
+ The default is `nil`.
299
+
293
300
  ### `http_proxy`
294
301
 
295
302
  Specify a proxy to send AWS requests through. Should be of the format `http://<host>:<port>`.
@@ -365,13 +372,21 @@ If you don't set this it will default to whatever DHCP address EC2 hands out.
365
372
 
366
373
  #### `interface`
367
374
 
368
- The place from which to derive the hostname for communicating with the instance. May be `dns`, `public` or `private`. If this is unset, the driver will derive the hostname by failing back in the following order:
375
+ The place from which to derive the hostname for communicating with the instance. May be `dns`, `public`, `private` or `private_dns`. If this is unset, the driver will derive the hostname by failing back in the following order:
369
376
 
370
377
  1. DNS Name
371
378
  2. Public IP Address
372
379
  3. Private IP Address
380
+ 4. Private DNS Name
373
381
 
374
- The default is unset.
382
+ The default is unset. Under normal circumstances, the lookup will return the `Private IP Address`.
383
+
384
+ If the `Private DNS Name` is preferred over the private IP, it must be specified in the `.kitchen.yml` file
385
+
386
+ ```ruby
387
+ driver:
388
+ interface: private_dns
389
+ ```
375
390
 
376
391
  ## Example
377
392
 
data/Rakefile CHANGED
@@ -25,4 +25,19 @@ task :quality => [:style, :stats]
25
25
  require "yard"
26
26
  YARD::Rake::YardocTask.new
27
27
 
28
- task :default => [:test, :quality]
28
+ begin
29
+ task :default => [:test, :quality]
30
+
31
+ require "github_changelog_generator/task"
32
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
33
+ config.future_release = Kitchen::Driver::EC2_VERSION
34
+ config.enhancement_labels = "enhancement,Enhancement,New Feature,Feature".split(",")
35
+ config.bug_labels = "bug,Bug,Improvement".split(",")
36
+ config.exclude_labels = "duplicate,question,invalid,wontfix,no_changelog," \
37
+ ",Exclude From Changelog,Question,Upstream Bug,Discussion".split(",")
38
+ end
39
+ rescue LoadError
40
+ task :changelog do
41
+ raise "github_changelog_generator not installed! gem install github_changelog_generator."
42
+ end
43
+ end
@@ -30,6 +30,9 @@ Gem::Specification.new do |gem|
30
30
  gem.add_development_dependency "simplecov", "~> 0.7"
31
31
  gem.add_development_dependency "yard", "~> 0.8"
32
32
 
33
+ # conflicts with finstyle 1.4.0
34
+ # gem.add_development_dependency "github_changelog_generator", "~> 1.11", ">= 1.11.6"
35
+
33
36
  # style and complexity libraries are tightly version pinned as newer releases
34
37
  # may introduce new and undesireable style choices which would be immediately
35
38
  # enforced in CI
@@ -62,7 +62,8 @@ module Kitchen
62
62
  end
63
63
  default_config :private_ip_address, nil
64
64
  default_config :iam_profile_name, nil
65
- default_config :price, nil
65
+ default_config :spot_price, nil
66
+ default_config :block_duration_minutes, nil
66
67
  default_config :retryable_tries, 60
67
68
  default_config :retryable_sleep, 5
68
69
  default_config :aws_access_key_id, nil
@@ -161,7 +162,7 @@ module Kitchen
161
162
  are responsible for your incurred costs.
162
163
  END
163
164
 
164
- if config[:price]
165
+ if config[:spot_price]
165
166
  # Spot instance when a price is set
166
167
  server = submit_spot(state)
167
168
  else
@@ -320,12 +321,8 @@ module Kitchen
320
321
 
321
322
  def submit_spot(state) # rubocop:disable Metrics/AbcSize
322
323
  debug("Creating EC2 Spot Instance..")
323
- request_data = {}
324
- request_data[:spot_price] = config[:price].to_s
325
- request_data[:launch_specification] = instance_generator.ec2_instance_data
326
324
 
327
- response = ec2.client.request_spot_instances(request_data)
328
- spot_request_id = response[:spot_instance_requests][0][:spot_instance_request_id]
325
+ spot_request_id = create_spot_request
329
326
  # deleting the instance cancels the request, but deleting the request
330
327
  # does not affect the instance
331
328
  state[:spot_request_id] = spot_request_id
@@ -344,6 +341,19 @@ module Kitchen
344
341
  ec2.get_instance_from_spot_request(spot_request_id)
345
342
  end
346
343
 
344
+ def create_spot_request
345
+ request_data = {
346
+ :spot_price => config[:spot_price].to_s,
347
+ :launch_specification => instance_generator.ec2_instance_data
348
+ }
349
+ if config[:block_duration_minutes]
350
+ request_data[:block_duration_minutes] = config[:block_duration_minutes]
351
+ end
352
+
353
+ response = ec2.client.request_spot_instances(request_data)
354
+ response[:spot_instance_requests][0][:spot_instance_request_id]
355
+ end
356
+
347
357
  def tag_server(server)
348
358
  tags = []
349
359
  config[:tags].each do |k, v|
@@ -422,7 +432,8 @@ module Kitchen
422
432
  {
423
433
  "dns" => "public_dns_name",
424
434
  "public" => "public_ip_address",
425
- "private" => "private_ip_address"
435
+ "private" => "private_ip_address",
436
+ "private_dns" => "private_dns_name"
426
437
  }
427
438
 
428
439
  #
@@ -21,6 +21,6 @@ module Kitchen
21
21
  module Driver
22
22
 
23
23
  # Version string for EC2 Test Kitchen driver
24
- EC2_VERSION = "1.0.0.beta.1"
24
+ EC2_VERSION = "1.0.0"
25
25
  end
26
26
  end
@@ -25,7 +25,13 @@ describe Kitchen::Driver::Ec2 do
25
25
 
26
26
  let(:logged_output) { StringIO.new }
27
27
  let(:logger) { Logger.new(logged_output) }
28
- let(:config) { { :aws_ssh_key_id => "key", :image_id => "ami-1234567" } }
28
+ let(:config) do
29
+ {
30
+ :aws_ssh_key_id => "key",
31
+ :image_id => "ami-1234567",
32
+ :block_duration_minutes => 60
33
+ }
34
+ end
29
35
  let(:platform) { Kitchen::Platform.new(:name => "fooos-99") }
30
36
  let(:transport) { Kitchen::Transport::Dummy.new }
31
37
  let(:generator) { instance_double(Kitchen::Driver::Aws::InstanceGenerator) }
@@ -74,11 +80,13 @@ describe Kitchen::Driver::Ec2 do
74
80
 
75
81
  describe "#hostname" do
76
82
  let(:public_dns_name) { nil }
83
+ let(:private_dns_name) { nil }
77
84
  let(:public_ip_address) { nil }
78
85
  let(:private_ip_address) { nil }
79
86
  let(:server) {
80
87
  double("server",
81
88
  :public_dns_name => public_dns_name,
89
+ :private_dns_name => private_dns_name,
82
90
  :public_ip_address => public_ip_address,
83
91
  :private_ip_address => private_ip_address
84
92
  )
@@ -102,9 +110,23 @@ describe Kitchen::Driver::Ec2 do
102
110
  it "returns private_ip_address when requested" do
103
111
  expect(driver.hostname(server, "private")).to eq(private_ip_address)
104
112
  end
113
+ it "returns private_dns_name when requested" do
114
+ expect(driver.hostname(server, "private_dns")).to eq(private_dns_name)
115
+ end
116
+ end
117
+
118
+ context "private_dns_name is populated" do
119
+ let(:private_dns_name) { "private_dns_name" }
120
+
121
+ it "returns the private_dns_name" do
122
+ expect(driver.hostname(server)).to eq(private_dns_name)
123
+ end
124
+
125
+ include_examples "an interface type provided"
105
126
  end
106
127
 
107
128
  context "private_ip_address is populated" do
129
+ let(:private_dns_name) { "private_dns_name" }
108
130
  let(:private_ip_address) { "10.0.0.1" }
109
131
 
110
132
  it "returns the private_ip_address" do
@@ -115,6 +137,7 @@ describe Kitchen::Driver::Ec2 do
115
137
  end
116
138
 
117
139
  context "public_ip_address is populated" do
140
+ let(:private_dns_name) { "private_dns_name" }
118
141
  let(:private_ip_address) { "10.0.0.1" }
119
142
  let(:public_ip_address) { "127.0.0.1" }
120
143
 
@@ -126,6 +149,7 @@ describe Kitchen::Driver::Ec2 do
126
149
  end
127
150
 
128
151
  context "public_dns_name is populated" do
152
+ let(:private_dns_name) { "private_dns_name" }
129
153
  let(:private_ip_address) { "10.0.0.1" }
130
154
  let(:public_ip_address) { "127.0.0.1" }
131
155
  let(:public_dns_name) { "public_dns_name" }
@@ -148,6 +172,13 @@ describe Kitchen::Driver::Ec2 do
148
172
  it "returns the private_ip_address" do
149
173
  expect(driver.hostname(server)).to eq(private_ip_address)
150
174
  end
175
+
176
+ context "and private_dns_name is populated" do
177
+ let(:private_dns_name) { "private_dns_name" }
178
+ it "returns the private_ip_address" do
179
+ expect(driver.hostname(server)).to eq(private_ip_address)
180
+ end
181
+ end
151
182
  end
152
183
  end
153
184
  end
@@ -177,7 +208,7 @@ describe Kitchen::Driver::Ec2 do
177
208
  it "submits the server request" do
178
209
  expect(generator).to receive(:ec2_instance_data).and_return({})
179
210
  expect(actual_client).to receive(:request_spot_instances).with(
180
- :spot_price => "", :launch_specification => {}
211
+ :spot_price => "", :launch_specification => {}, :block_duration_minutes => 60
181
212
  ).and_return(response)
182
213
  expect(actual_client).to receive(:wait_until)
183
214
  expect(client).to receive(:get_instance_from_spot_request).with("id")
@@ -336,7 +367,7 @@ describe Kitchen::Driver::Ec2 do
336
367
 
337
368
  context "config is for a spot instance" do
338
369
  before do
339
- config[:price] = 1
370
+ config[:spot_price] = 1
340
371
  expect(driver).to receive(:submit_spot).with(state).and_return(server)
341
372
  end
342
373
 
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: 1.0.0.beta.1
4
+ version: 1.0.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: 2016-02-13 00:00:00.000000000 Z
11
+ date: 2016-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-kitchen
@@ -234,12 +234,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
234
234
  version: '0'
235
235
  required_rubygems_version: !ruby/object:Gem::Requirement
236
236
  requirements:
237
- - - ">"
237
+ - - ">="
238
238
  - !ruby/object:Gem::Version
239
- version: 1.3.1
239
+ version: '0'
240
240
  requirements: []
241
241
  rubyforge_project:
242
- rubygems_version: 2.4.5.1
242
+ rubygems_version: 2.6.0
243
243
  signing_key:
244
244
  specification_version: 4
245
245
  summary: A Test Kitchen Driver for Amazon EC2