[chef] Re: Re: Re: AWS Spot instances for Integration-Testing Cookbooks on Github


Chronological Thread 
  • From: Jeff Byrnes < >
  • To:
  • Subject: [chef] Re: Re: Re: AWS Spot instances for Integration-Testing Cookbooks on Github
  • Date: Tue, 28 Oct 2014 13:12:32 -0400

Ok! Sorry this took so long to get back to. Here’s the slides from our presentation back in Sept: http://evertrue.github.io/test-kitchen-travis-slides/

You can refer to these two cookbooks (one was done live during the preso) to guide you on how we set this up using EC2 & Travis:
Most pertinent is the .travis.yml & .kitchen.cloud.yml (which we force Test Kitchen to use by way of a Rake task).

Tara’s config, below, is very similar to ours, though clearly Jenkins-centric.

Bear in mind that kitchen-ec2, you’ll need to use the current HEAD of the Git repo (see this changeset for details on what’s missing from the current published release, v0.8.0). Hopefully they’ll cut a new version soon, but we use the bleeding edge version right now & it’s solid.

Tara, I’m curious, how did you get around the need for the AWS API keypair in your Test Kitchen config?

-- 
Jeff Byrnes
@berkleebassist
Lead DevOps Engineer
704.516.4628

On October 28, 2014 at 12:28:13 PM, Tara Hernandez ( "> ) wrote:

Here’s a sample of kitchen files we use for ec2 provisioning, now that you’ve found that driver (we have wrapper automation that fills in those env vars, obviously)

driver:

  name: ec2

  ssh_key: <%= ENV['SSH_KEY_FILE'] %>

  aws_ssh_key_id: <%= ENV['AWS_SSH_KEY_ID'] %>

  region: us-west-1

  availability_zone: <%= ENV['AWS_ZONE'] %>

  require_chef_omnibus: true

  subnet_id: <%= ENV['AWS_SUBNET'] %>

  security_group_ids: ‘<%= ENV[‘AWS_SEC_GROUP'] %>'

  flavor_id: 't1.micro'


provisioner:

  name: chef_solo


platforms:

  - name: centos-6.4


suites:

  - name: default

    run_list:

      - recipe[ci-jenkins::default]

    attributes: {

      "ci-jenkins": {

        "enable_cookbook_testing": true

      }

    }



Weeeee, just found there is a kitchen-ec2 driver, and it has support for spot instances... neat! :-)

Am 28.10.2014 08:24 schrieb "Torben Knerr" < "> >:
Hi everybody,

having some cookbooks hosted on Github and using kitchen-ci for
integration-testing them, I would like to have the kitchen-ci tests
run on every commit / push.

With travis-ci (which I'm using for foodcritic / chefspec) this does
not work unfortunately, since it prohibits creation of nested
containers.

So I'm now considering to spin up an AWS spot instance during the
travis-ci build to run the integration tests on.

Anyone doing this already?

Any pointers or suggestions to get me kick-started are heartily welcome :-)

Cheers,
Torben



Archive powered by MHonArc 2.6.16.

§