[chef] Re: [chef-dev] kitchen-ec2 0.9.0 released


Chronological Thread 
  • From: Luis Cosmes < >
  • To: Tyler Ball < >
  • Cc: ,
  • Subject: [chef] Re: [chef-dev] kitchen-ec2 0.9.0 released
  • Date: Tue, 19 May 2015 16:01:53 -0700

I just upgraded the kitchen-ec2 from 0.8.0 to 0.9.0:

sudo chef gem install kitchen-ec2


Using a previous .kitchen.yml file that worked with version 0.8.0 I started getting a "Could not load the 'ec2' driver from the load path" error.  As another test I decided to use the .kitchen.yml file described in the README file, and got the same results.   Maybe I am missing a new dependency?  (if I uninstall version 0.9.0 and re-install 0.8.0 the errors go away)


luis-cosmes-mbp:ffdc-common lcosmes$ kitchen list

>>>>>> ------Exception-------

>>>>>> Class: Kitchen::ClientError

>>>>>> Message: Could not load the 'ec2' driver from the load path. Please ensure that your driver is installed as a gem or included in your Gemfile if using Bundler.

>>>>>> ----------------------

>>>>>> Please see .kitchen/logs/kitchen.log for more details

>>>>>> Also try running `kitchen diagnose --all` for configuration


luis-cosmes-mbp:ffdc-common lcosmes$ kitchen diagnose --all

---

timestamp: 2015-05-19 22:57:00 UTC

kitchen_version: 1.3.1

loader:

  process_erb: true

  process_local: true

  process_global: true

  global_config: 

  project_config:

    filename: "/Users/lcosmes/branches/cookbooks/cookbooks/ffdc-common/.kitchen.yml"

    raw_data:

      driver:

        name: ec2

        aws_ssh_key_id: id_rsa-aws

        security_group_ids:

        - sg-1a2b3c4d

        region: us-east-1

        availability_zone: b

        require_chef_omnibus: true

        subnet_id: subnet-6d6...

        iam_profile_name: chef-client

        instance_type: t2.micro

        associate_public_ip: true

        private_ip_address: 10.0.0.27

        interface: dns

        block_device_mappings:

        - ebs_device_name: "/dev/sda0"

          ebs_volume_type: gp2

          ebs_virtual_name: test

          ebs_volume_size: 15

          ebs_delete_on_termination: true

      transport:

        ssh_key: "/path/to/id_rsa-aws"

        connection_timeout: 10

        connection_retries: 5

        username: ubuntu

      platforms:

      - name: ubuntu-12.04

        driver:

          image_id: ami-fd20ad94

          username: ubuntu

      - name: centos-6.3

        driver:

          image_id: ami-ef5ff086

          username: ec2-user

      suites:

      - name: default

        run_list:

        - recipe[ffdc-common::aws-scripts-mon]

        attributes: 

  local_config: 

  combined_config:

    filename: 

    raw_data:

      driver:

        name: ec2

        aws_ssh_key_id: id_rsa-aws

        security_group_ids:

        - sg-1a2b3c4d

        region: us-east-1

        availability_zone: b

        require_chef_omnibus: true

        subnet_id: subnet-6d6...

        iam_profile_name: chef-client

        instance_type: t2.micro

        associate_public_ip: true

        private_ip_address: 10.0.0.27

        interface: dns

        block_device_mappings:

        - ebs_device_name: "/dev/sda0"

          ebs_volume_type: gp2

          ebs_virtual_name: test

          ebs_volume_size: 15

          ebs_delete_on_termination: true

      transport:

        ssh_key: "/path/to/id_rsa-aws"

        connection_timeout: 10

        connection_retries: 5

        username: ubuntu

      platforms:

      - name: ubuntu-12.04

        driver:

          image_id: ami-fd20ad94

          username: ubuntu

      - name: centos-6.3

        driver:

          image_id: ami-ef5ff086

          username: ec2-user

      suites:

      - name: default

        run_list:

        - recipe[ffdc-common::aws-scripts-mon]

        attributes: 

instances:

  error:

    exception: "#<Kitchen::ClientError: Could not load the 'ec2' driver from the load

      path. Please ensure that your driver is installed as a gem or included in your

      Gemfile if using Bundler.>"

    message: Could not load the 'ec2' driver from the load path. Please ensure that

      your driver is installed as a gem or included in your Gemfile if using Bundler.

    backtrace:

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/driver.rb:50:in `rescue

      in for_plugin'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/driver.rb:40:in `for_plugin'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/config.rb:226:in `new_driver'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/config.rb:240:in `new_instance'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/config.rb:129:in `block

      in build_instances'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/config.rb:128:in `map'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/config.rb:128:in `with_index'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/config.rb:128:in `build_instances'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/config.rb:104:in `instances'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command.rb:115:in `filtered_instances'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command.rb:145:in `parse_subcommand'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command/diagnose.rb:51:in

      `load_instances'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command/diagnose.rb:35:in

      `block in call'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command/diagnose.rb:75:in

      `record_failure'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command/diagnose.rb:35:in

      `call'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/cli.rb:56:in `perform'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/cli.rb:116:in `diagnose'"

    - "/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in

      `run'"

    - "/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in

      `invoke_command'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/cli.rb:304:in `invoke_task'"

    - "/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in

      `dispatch'"

    - "/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in

      `start'"

    - "/opt/chefdk/embedded/apps/test-kitchen/bin/kitchen:13:in `block in <top (required)>'"

    - "/opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/errors.rb:154:in `with_friendly_errors'"

    - "/opt/chefdk/embedded/apps/test-kitchen/bin/kitchen:13:in `<top (required)>'"

    - "/usr/bin/kitchen:15:in `load'"

    - "/usr/bin/kitchen:15:in `<main>'"





On Tue, May 19, 2015 at 10:28 AM, Tyler Ball < " target="_blank"> > wrote:
Greetings!

After a 15 month hiatius, I just released the latest version of kitchen-ec2.  Quite a lot has changed, so I’ll go over some of it here!

First off, all your existing tests and configuration should continue to work when moving from 0.8.0 to 0.9.0.  However, many configurations have been deprecated in preparation for a 1.0.0 release.  If you are using a deprecated config you should get a warning at the beginning of any kitchen command.  Check the README for deprecated configs and the recommended new value.

I also switched from using the Fog gem to using the AWS SDK gem for communication.  Again, this should not be a visible change for users, just a dependency change.  As part of this I deprecated the concept of storing the AWS secret key and token inside the .kitchen.yml.  Instead it is recommended to use environment variables, a ~/.aws/credentials file or an IAM instance profile if running Test Kitchen from within AWS.  Read more about it here.

This brings the credentials in line with how AWS recommends authenticating.

All deprecated logic will continue to be supported until version 1.0.0.  I’m planning on releasing a 0.10.0 version which adds Windows support, then quickly turning around and releasing 1.0.0 with the deprecated logic removed.  So if you are currently depending on the master branch of kitchen-ec2, please switch to a pinned gem dependency!

See the CHANGELOG for more detail around bug fixes and other small improvements.

Cheers!
-Tyler


Are you creating an ERP FrankenCloud? Watch 2:11 video




Archive powered by MHonArc 2.6.16.

§