From the changelog:
* #10: Deprecate "area" in configuration for "region"
* #11: Fix name length, via @pdunnavant
* #12: Generate instance names that are valid for GCE
The biggest change here is to move away from the concept of “areas” (something I invented myself) to Google’s “regions”. So, instead of putting this in your .kitchen.yml:
you should now start putting this:
However, backwards compatibility with the old “area” key will be maintained, at least until a 1.0 release.
- Support for the Google Compute Engine v1 API; and
- The ability to specify the username and SSH key pair used on the GCE instance (via @someara).
As always, feedback and pull requests are welcome!
Just a quick post to announce: I’ve released kitchen-gce 0.0.6, the latest version of my Google Compute Engine driver for Test Kitchen. This release adds support for specifying the test instance’s network in GCE, and for tagging instances.
Kitchen-gce currently has a dependency on Fog 1.19.0 (only); the next release will support Fog 1.20.0 (and greater), but will likely require changes to .kitchen.yml. More details in the GitHub issue.
Test Kitchen is an integration test framework for, among other things, Chef development. To create its testing environment, it builds on virtualization tools and cloud providers such as Docker, EC2, Rackspace and Vagrant. My own contribution – currently in 0.0.1 release, but undergoing active development – is kitchen-gce, a driver for Google Compute Engine (GCE).
Compared to other cloud providers, for use with Test Kitchen GCE has a couple of advantages, namely:
- (Subjectively) faster instance launch times than other providers; and
- Sub-hour billing.
One brief usage note:
Kitchen-gce uses Fog to interface with GCE. Fog’s GCE provider code has been undergoing development, and until then next releases of Fog and kitchen-gce come out (greater than 1.18.0 and 0.0.1, respectively), I recommend using the development versions of each. For instance, in a Gemfile:
group :integration do gem 'test-kitchen' gem 'kitchen-gce', :git => 'https://github.com/anl/kitchen-gce.git' gem 'fog', :git => 'https://github.com/fog/fog.git', :ref => 'c5e6e2ae868b7fdec8e4fd8ef729fcab3b199b15' end
If you use Test Kitchen, please check out kitchen-gce. Feedback, issues and pull requests welcome.
Acknowledgements: Google has currently given me a free trial plan for GCE, and has, as of this writing, covered about $0.18 of compute time on GCE used in developing kitchen-gce. I spent about $0.55 of my own money before that – sub-hour billing really does make economic sense…