Code Monkey home page Code Monkey logo

kitchen-rackspace's Introduction

Gem Version Build Status Code Climate Coverage Status Dependency Status

Kitchen::Rackspace

A Rackspace Cloud Servers driver for Test Kitchen!

Shamelessly copied from Fletcher Nichol's awesome work on an EC2 driver.

Installation

Add this line to your application's Gemfile:

gem 'kitchen-rackspace'

And then execute:

$ bundle

Or install it yourself as:

$ gem install kitchen-rackspace

Usage

Provide, at a minimum, the required driver options in your .kitchen.yml file:

driver:
  name: rackspace
  rackspace_username: [YOUR RACKSPACE CLOUD USERNAME]
  rackspace_api_key: [YOUR RACKSPACE CLOUD API KEY]
  require_chef_omnibus: [e.g. 'true' or a version number if you need Chef]
platforms:
  - name: [A PLATFORM NAME, e.g. 'centos-6']

By default, the driver will spawn a 1GB Performance server on the base image for your specified platform. Additional, optional overrides can be provided:

image_id: [SERVER IMAGE ID]
flavor_id: [SERVER FLAVOR ID]
server_name: [A FRIENDLY SERVER NAME]
public_key_path: [PATH TO YOUR PUBLIC SSH KEY]
rackspace_region: [A VALID RACKSPACE DC/REGION]
wait_for: [NUM OF SECONDS TO WAIT BEFORE TIMING OUT, DEFAULT 600]
no_ssh_tcp_check: [DEFAULTS TO false, SKIPS TCP CHECK WHEN true]
no_ssh_tcp_check_sleep: [NUM OF SECONDS TO SLEEP IF no_ssh_tcp_check IS SET]
networks: [LIST OF RACKSPACE NETWORK UUIDS, DEFAULT PUBLICNET AND SERVICE NET]
rackconnect_wait: ['true' IF USING RACKCONNECT TO WAIT FOR IT TO COMPLETE]
servicenet: ['true' IF USING THE SERVICENET IP ADDRESS TO CONNECT]

You also have the option of providing some configs via environment variables:

export RACKSPACE_USERNAME="user"   # (or OS_USERNAME)
export RACKSPACE_API_KEY="api_key" # (or OS_PASSWORD)

Some configs are also derived based on your .ssh directory, specifically the public_key_path setting is derived by searching for:

  • ~/.ssh/id_rsa.pub
  • ~/.ssh/id_dsa.pub
  • ~/.ssh/identity.pub
  • ~/.ssh/id_ecdsa.pub

Contributing

  1. Fork it
  2. bundle install
  3. Create your feature branch (git checkout -b my-new-feature)
  4. bundle exec rake must pass
  5. Commit your changes (git commit -am 'Add some feature')
  6. Push to the branch (git push origin my-new-feature)
  7. Create new Pull Request

kitchen-rackspace's People

Contributors

hartmantis avatar martinb3 avatar coderanger avatar steve-jansen avatar pezholio avatar marcoamorales avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.