1

I am trying to create a kitchen in chef using AWS ec2 as my driver. While doing that, I have come across some peculiar things. They are :

When I type kitchen list command :

Instance          Driver  Provisioner  Verifier  Transport  Last Action

apache-centos-72  Ec2     ChefSolo     Busser    Ssh        <Not Created>

I says the last action is not created.

So, then I tried creating it by : kitchen create apache-centos-72.

Here, I had an error create failed : unexpected token 0, but in my AWS console, EC2 instance got created.

Why did it get created?
I am unable to perform converge command too. Please tell me where I went wrong

.kitchen.yml file

driver:

name: ec2
aws_ssh_key_id: xyz
security_group_ids: ["sg-876932fc"]
region: us-east-1
availability-zone: us-east-1c
iam_instance_profile_name: SaveMe
shared_credentials_profile: default
require_chef_omnibus: true
subnet_id: subnet-5fba1d29
instance_type: t2.micro
transport.ssh_timeout: 10
transport.ssh_retries: 5
transport.ebs_volume_size: 8
transport.ebs_delete_on_termination: 'true'
transport.device_name: '/dev/sda'

provisioner:

name: chef_solo
environments_path: environments
roles_path: roles

transport:

ssh_key: /root/.ec2/xyz.pem

platforms:

- name: centos-7.2
  driver:
      image_id: ami-2051294a
      transport.username: rhel
  attributes:

suites:

- name: apache
  run_list:
     -recipe[apache::default]
  attributes:

Above, xyz is my key pair

SaveMe is my IAM user name

apache is cookbook name

I have saved my credentials in a locaion on my workstation.

This is the result: kitchen create apache-centos-72 -l debug :

Kitchen started and requested instance.

>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>>     Failed to complete #create action: [unexpected token 0] on apache-centos-72
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

D      ------Exception-------
D      Class: Kitchen::ActionFailed
D      Message: 1 actions failed.
>>>>>>     Failed to complete #create action: [unexpected token 0] on apache-centos-72
D      ----------------------
D      ------Backtrace-------
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/command.rb:187:in `report_errors'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/command.rb:178:in `run_action'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/command/action.rb:39:in `block in call'
D      /usr/share/ruby/benchmark.rb:281:in `measure'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/command/action.rb:37:in `call'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/cli.rb:56:in `perform'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/cli.rb:184:in `block (2 levels) in <class:CLI>'
D      /usr/local/share/gems/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
D      /usr/local/share/gems/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/cli.rb:325:in `invoke_task'
D      /usr/local/share/gems/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
D      /usr/local/share/gems/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/bin/kitchen:13:in `block in <top (required)>'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/errors.rb:174:in `with_friendly_errors'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/bin/kitchen:13:in `<top (required)>'
D      /usr/local/bin/kitchen:23:in `load'
D      /usr/local/bin/kitchen:23:in `<main>'
D      ----End Backtrace-----
D      -Composite Exception--
D      Class: Kitchen::ActionFailed
D      Message: Failed to complete #create action: [unexpected token 0] on apache-centos-72
D      ----------------------
D      ------Backtrace-------
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/parser.rb:50:in `method_missing'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/parser.rb:61:in `expr'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/parser.rb:161:in `led_comparator'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/parser.rb:63:in `expr'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/parser.rb:39:in `parse'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/caching_parser.rb:25:in `block in cache_expression'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/caching_parser.rb:23:in `synchronize'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/caching_parser.rb:23:in `cache_expression'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/caching_parser.rb:16:in `parse'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/runtime.rb:56:in `search'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath.rb:47:in `search'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/poller.rb:70:in `matches_path?'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/poller.rb:65:in `acceptor_matches?'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/poller.rb:49:in `block in call'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/poller.rb:48:in `each'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/poller.rb:48:in `call'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:104:in `block in poll'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:101:in `loop'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:101:in `poll'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:91:in `block (2 levels) in wait'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:90:in `catch'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:90:in `block in wait'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:89:in `catch'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:89:in `wait'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/client_waiters.rb:110:in `wait_until'
D      /usr/local/share/gems/gems/aws-sdk-resources-2.3.20/lib/aws-sdk-resources/operations.rb:229:in `call'
D      /usr/local/share/gems/gems/aws-sdk-resources-2.3.20/lib/aws-sdk-resources/operation_methods.rb:19:in `block in add_operation'
D      /usr/local/share/gems/gems/kitchen-ec2-1.0.0/lib/kitchen/driver/ec2.rb:173:in `create'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:449:in `public_send'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:449:in `block in perform_action'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:513:in `call'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:513:in `synchronize_or_call'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:478:in `block in action'
D      /usr/share/ruby/benchmark.rb:281:in `measure'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:477:in `action'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:449:in `perform_action'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:359:in `create_action'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:348:in `block in transition_to'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:347:in `each'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:347:in `transition_to'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:127:in `create'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/command.rb:201:in `public_send'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/command.rb:201:in `run_action_in_thread'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/command.rb:173:in `block (2 levels) in run_action'
D      ----End Backtrace-----
D      ---Nested Exception---
D      Class: Kitchen::ActionFailed
D      Message: Failed to complete #create action: [unexpected token 0]
D      ----------------------
D      ------Backtrace-------
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/parser.rb:50:in `method_missing'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/parser.rb:61:in `expr'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/parser.rb:161:in `led_comparator'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/parser.rb:63:in `expr'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/parser.rb:39:in `parse'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/caching_parser.rb:25:in `block in cache_expression'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/caching_parser.rb:23:in `synchronize'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/caching_parser.rb:23:in `cache_expression'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/caching_parser.rb:16:in `parse'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath/runtime.rb:56:in `search'
D      /usr/local/share/gems/gems/jmespath-1.2.4/lib/jmespath.rb:47:in `search'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/poller.rb:70:in `matches_path?'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/poller.rb:65:in `acceptor_matches?'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/poller.rb:49:in `block in call'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/poller.rb:48:in `each'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/poller.rb:48:in `call'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:104:in `block in poll'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:101:in `loop'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:101:in `poll'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:91:in `block (2 levels) in wait'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:90:in `catch'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:90:in `block in wait'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:89:in `catch'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/waiters/waiter.rb:89:in `wait'
D      /usr/local/share/gems/gems/aws-sdk-core-2.3.20/lib/aws-sdk-core/client_waiters.rb:110:in `wait_until'
D      /usr/local/share/gems/gems/aws-sdk-resources-2.3.20/lib/aws-sdk-resources/operations.rb:229:in `call'
D      /usr/local/share/gems/gems/aws-sdk-resources-2.3.20/lib/aws-sdk-resources/operation_methods.rb:19:in `block in add_operation'
D      /usr/local/share/gems/gems/kitchen-ec2-1.0.0/lib/kitchen/driver/ec2.rb:173:in `create'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:449:in `public_send'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:449:in `block in perform_action'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:513:in `call'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:513:in `synchronize_or_call'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:478:in `block in action'
D      /usr/share/ruby/benchmark.rb:281:in `measure'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:477:in `action'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:449:in `perform_action'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:359:in `create_action'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:348:in `block in transition_to'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:347:in `each'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:347:in `transition_to'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:127:in `create'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/command.rb:201:in `public_send'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/command.rb:201:in `run_action_in_thread'
D      /usr/local/share/gems/gems/test-kitchen-1.10.2/lib/kitchen/command.rb:173:in `block (2 levels) in run_action'
D      ----End Backtrace-----
StephenKing
  • 36,187
  • 11
  • 83
  • 112
prudhvi
  • 1,141
  • 6
  • 23
  • 46
  • 1
    Try running `kitchen` commands with `-l debug` for more error context and post that. Also, please add the contents of your `.kitchen.yml` file (secrets expunged). – Karen B Jul 07 '16 at 19:57
  • The next phase after the low-level instance creation is SSHing to the machine for bootstrapping, it seems likely that some part of the SSH process is failing. – coderanger Jul 08 '16 at 04:13

0 Answers0