neillturner / kitchen-cloudformation

A Test Kitchen Driver for Amazon AWS CloudFormation.
Other
16 stars 5 forks source link

Driver doesn't work with more recent versions of test-kitchen #4

Closed callen-IO closed 7 years ago

callen-IO commented 7 years ago

After installing the gem using the latest version of ChefDK, we get an error message that the driver can't be loaded. There is a an error message about the PATH but the aws-rb executable can be launched via "chef exec"

After installing kitchen-cloudformation, ChefDK has two versions of aws-sdk-v1. tk-cloudformation wants the older version, but ChefDK running test-kitchen is going to load the newer version.

Fixing this is probably going to take an update to the version of the aws-sdk-v1 it requires.

Why is this kitchen driver is loading both aws-sdk-v1 and aws-sdk ~> 2? Does it need to be able to use both v1 and v2 of the AWS SDK?

Would it be possible to update https://github.com/neillturner/kitchen-cloudformation/blob/master/lib/kitchen/driver/aws/cf_client.rb#L40-L44 to the SDK v2 way of "just update the hash.". Migrate from using v1 to v2 of the aws-sdk and drop the dependency on aws-sdk-v1 gem. Looks like kitchen-cloudformation is only using v1 when it comes to setting the AWS configuration (uses AWS.config instead of Aws.config).

neillturner commented 7 years ago

the reason is i used the aws code from the kitchen-ec2 gem https://github.com/test-kitchen/kitchen-ec2/tree/master/lib/kitchen/driver/aws this has now moved on to just "aws-sdk", "~> 2"

so we can copy the code again from https://github.com/test-kitchen/kitchen-ec2/tree/master/lib/kitchen/driver/aws and move it up to "aws-sdk", "~> 2" Its pretty straightforward to do this and test it unless you would like to

neillturner commented 7 years ago

fixed in version 1.3.0

callen-IO commented 7 years ago

Thanks! So far looking good.