Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kitchen crashes when trying to poll instance #262

Closed
brettcave opened this issue Jul 1, 2016 · 4 comments
Closed

Kitchen crashes when trying to poll instance #262

brettcave opened this issue Jul 1, 2016 · 4 comments

Comments

@brettcave
Copy link

I am trying to run Kitchen with the ec2 module. It provisions an instance, and then crashes as soon a it tries to poll.

$ kitchen test default
-----> Starting Kitchen (v1.4.2)
-----> Cleaning up any prior instances of <default-ubuntu-1404>
-----> Destroying <default-ubuntu-1404>...
       Finished destroying <default-ubuntu-1404> (0m2.27s).
-----> Testing <default-ubuntu-1404>
-----> Creating <default-ubuntu-1404>...
       If you are not using an account that qualifies under the AWS free-tier, you may be charged to run these suites. The charge should be minimal, but neither Test Kitchen nor its maintainers 
are responsible for your incurred costs.

       Instance <i-XXXXXX> requested.
       Polling AWS for existence, attempt 0...
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Failed to complete #create action: [unexpected token 0]
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

I have attached the error log. diagnose gives no indication of any errors.

After the error, the instance was already launched, so I am able to get the IP from AWS and manually update the suite status file in .kitchen/default-ubuntu-1404.yml. The failed run results in:

--- {}

Which I then update to:


---
server_id: i-XXXXXXX
hostname: a.b.c.d
last_action: create

After adding this in, I am able to execute kitchen converge default which continues as normal (and I can also kitchen verify default afterwards too which executes my tests).

I have also attached a redacted kitchen configuration file.

kitchen-error-log.txt

redacted-kitchen.txt

@akemner
Copy link

akemner commented Jul 1, 2016

this is affecting us as well

@ronlipke
Copy link

ronlipke commented Jul 1, 2016

We've locked this down to an issue with the jmespath gem pulling in the latest version of json_pure (2.0.0). jmespath has a depencency of json_pure >= 1.8.1, so pinning to the last release of 1.8.3 gets us up and running again.

@jeremymv2
Copy link

jeremymv2 commented Jul 15, 2016

This looks to be resolved in jmespath 1.3.0 here: jmespath/jmespath.rb#29

aws-sdk-core has a dependency on jmespath ~>1.0 so it will pick up the latest jmespath with the fix.

@akemner @ronlipke can you try unpinning and re-testing?

@akemner
Copy link

akemner commented Aug 2, 2016

worked unpinned, but we're leaving all the things pinned now to avoid downstream dependencies from breaking our CI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants