kitchen-ec2 1.0.0.beta.1 → 1.0.0

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.
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