Repository is archived
No commit activity in last 3 years
No release in over 3 years
A Test Kitchen Driver for Zcloudjp
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.9
>= 0
>= 0
>= 0

Runtime

 Project Readme

Kitchen::Zcloudjp A Test Kitchen Driver for Z Cloud(joyent)

Gem Version Code Climate

A Test Kitchen Driver for Z Cloud(JP).

Current_Status => 'developing'

This driver uses the giraffi/zcloudjp gem to provision and destroy SmartMachines.

Requirements

There are no external system requirements for this driver. However you will need access to a Z Cloud(JP) account and api-key.

Installation

Add this line to your application's Gemfile:

gem 'kitchen-zcloudjp'

And then execute:

$ bundle

Or install it yourself as:

$ gem install kitchen-zcloudjp

Configuration

driver_config/api_key

Required The Z Cloud(joyent) apikey to use.

You can see an account section at Z Cloud control panel.

platforms/name/driver_config/dataset

The Z Cloud(joyent) dataset image to use.

The default is SmartOS base64 image sdc:sdc:base64:13.1.0.

platforms/name/driver_config/package

The Z Cloud(joyent) smartmachine size to use.

The default is Small_1GB.

platforms/name/driver_config/metadata_file

The Z Cloud(joyent) smartmachine metadata to use. Metadata are created at provisioning and updated at converging.

The default is empty hash.

platforms/name/driver_config/with_gcc

install_chef_for_smartos with gcc, gmake, auto-conf. Use with require gems which need native extention in cookbooks.

The default is false.

platforms/name/driver_config/require_chef_omnibus

For VirtualMachine only option. Install chef from omnibus installer on boot.

The default is nil.

Other Options

This driver based on Kitchen::Driver::SSHBase. You can set ssh configurations and more.

.kitchen.yml Example

Cookbook test on smartos and ubuntu.

---                                                                                                                                                            
driver_plugin: zcloudjp
driver_config:
  api_key: ZCLOUD_API_KEY

platforms:
- name: smartos-base64
  driver_config:
    metadata_file: foo.json
    require_chef_omnibus: false
  busser:
    ruby_bindir: /opt/local/bin
- name: ubuntu12
  driver_config:
    require_chef_omnibus: true
    dataset: sdc:jpc:ubuntu-12.04:2.4.1

suites:
- name: default
  run_list: ['recipe[dustbox::default]']
  attributes: {}

Example:foo.json(metadata)

Notice: values must be string.

{
  "user-script": "#!/bin/bash\nenv > /tmp/env_out",
  "your_defined_key" : "some_data"
}

Product List (2013-07-09)

name                   os            dataset                     package   
MySQL Small 1          SmartOS       sdc:sdc:mysql:1.4.1         Small_1GB 
MySQL Medium 2         SmartOS       sdc:sdc:mysql:1.4.1         Medium_2GB
MySQL Medium 4         SmartOS       sdc:sdc:mysql:1.4.1         Medium_4GB
MySQL Large 1          SmartOS       sdc:sdc:mysql:1.4.1         Large_8GB 
Fedora Small 1         Fedora 14     sdc:sdc:fedora-14:1.0.1     Small_1GB 
Fedora Medium 2        Fedora 14     sdc:sdc:fedora-14:1.0.1     Medium_2GB
Fedora Medium 4        Fedora 14     sdc:sdc:fedora-14:1.0.1     Medium_4GB
Fedora Large 8         Fedora 14     sdc:sdc:fedora-14:1.0.1     Large_8GB 
CentOS Small 1         CentOS 5.7    sdc:jpc:centos-5.7:1.3.0    Small_1GB 
CentOS Medium 2        CentOS 5.7    sdc:jpc:centos-5.7:1.3.0    Medium_2GB
CentOS Medium 4        CentOS 5.7    sdc:jpc:centos-5.7:1.3.0    Medium_4GB
CentOS Large 8         CentOS 5.7    sdc:jpc:centos-5.7:1.3.0    Large_8GB 
Ubuntu Small 1         Ubuntu 10.04  sdc:sdc:ubuntu10.04:0.1.0   Small_1GB 
Ubuntu Medium 2        Ubuntu 10.04  sdc:sdc:ubuntu10.04:0.1.0   Medium_2GB
Ubuntu Medium 4        Ubuntu 10.04  sdc:sdc:ubuntu10.04:0.1.0   Medium_4GB
Ubuntu Large 8         Ubuntu 10.04  sdc:sdc:ubuntu10.04:0.1.0   Large_8GB 
SmartOS Plus Small 1   SmartOS       sdc:sdc:standard:1.0.7      Small_1GB 
SmartOS Plus Medium 2  SmartOS       sdc:sdc:standard:1.0.7      Medium_2GB
SmartOS Plus Medium 4  SmartOS       sdc:sdc:standard:1.0.7      Medium_4GB
SmartOS Plus Large 8   SmartOS       sdc:sdc:standard:1.0.7      Large_8GB 
Hadoop Small 1         SmartOS       sdc:sdc:hadoop:1.0.0        Small_1GB 
Hadoop Medium 2        SmartOS       sdc:sdc:hadoop:1.0.0        Medium_2GB
Hadoop Medium 4        SmartOS       sdc:sdc:hadoop:1.0.0        Medium_4GB
Hadoop Large 8         SmartOS       sdc:sdc:hadoop:1.0.0        Large_8GB 
Chef Server Small 1    SmartOS       sdc:sdc:chefserver:1.0.0    Small_1GB 
Chef Server Medium 2   SmartOS       sdc:sdc:chefserver:1.0.0    Medium_2GB
Chef Server Medium 4   SmartOS       sdc:sdc:chefserver:1.0.0    Medium_4GB
Chef Server Large 8    SmartOS       sdc:sdc:chefserver:1.0.0    Large_8GB 
Ubuntu Small 1         Ubuntu 12.04  sdc:jpc:ubuntu-12.04:2.4.1  Small_1GB 
Ubuntu Medium 2        Ubuntu 12.04  sdc:jpc:ubuntu-12.04:2.4.1  Medium_2GB
Ubuntu Medium 4        Ubuntu 12.04  sdc:jpc:ubuntu-12.04:2.4.1  Medium_4GB
Ubuntu Medium 8        Ubuntu 12.04  sdc:jpc:ubuntu-12.04:2.4.1  Large_8GB 
Debian Small 1         Debian 6.0.7  sdc:sdc:debian-6.0.7:2.4.1  Small_1GB 
Debian Medium 2        Debian 6.0.7  sdc:sdc:debian-6.0.7:2.4.1  Medium_2GB
Debian Medium 4        Debian 6.0.7  sdc:sdc:debian-6.0.7:2.4.1  Medium_4GB
Debian Large 8         Debian 6.0.7  sdc:sdc:debian-6.0.7:2.4.1  Large_8GB 
SmartOS Small 1        SmartOS       sdc:sdc:base64:13.1.0       Small_1GB 
SmartOS Medium 2       SmartOS       sdc:sdc:base64:13.1.0       Medium_2GB
SmartOS Medium 4       SmartOS       sdc:sdc:base64:13.1.0       Medium_4GB
SmartOS Large 8        SmartOS       sdc:sdc:base64:13.1.0       Large_8GB 
MongoDB Small 1        SmartOS       sdc:sdc:mongodb:1.4.5       Small_1GB 
MongoDB Medium 2       SmartOS       sdc:sdc:mongodb:1.4.5       Medium_2GB
MongoDB Medium 4       SmartOS       sdc:sdc:mongodb:1.4.5       Medium_4GB
MongoDB Large 8        SmartOS       sdc:sdc:mongodb:1.4.5       Large_8GB 
Node.js Small 1        SmartOS       sdc:sdc:nodejs:13.1.0       Small_1GB 
Node.js Medium 2       SmartOS       sdc:sdc:nodejs:13.1.0       Medium_2GB
Node.js Medium 4       SmartOS       sdc:sdc:nodejs:13.1.0       Medium_4GB
Node.js Large 8        SmartOS       sdc:sdc:nodejs:13.1.0       Large_8GB 
Percona Small 1        SmartOS       sdc:sdc:percona:13.1.0      Small_1GB 
Percona Medium 2       SmartOS       sdc:sdc:percona:13.1.0      Medium_2GB
Percona Medium 4       SmartOS       sdc:sdc:percona:13.1.0      Medium_4GB
Percona Large 8        SmartOS       sdc:sdc:percona:13.1.0      Large_8GB 
Riak Small 1           SmartOS       sdc:sdc:riak:13.1.0         Small_1GB 
Riak Medium 2          SmartOS       sdc:sdc:riak:13.1.0         Medium_2GB
Riak Medium 4          SmartOS       sdc:sdc:riak:13.1.0         Medium_4GB
Riak Large 1           SmartOS       sdc:sdc:riak:13.1.0         Large_8GB 
CentOS Small 1         CentOS 6.4    sdc:sdc:centos-6:2.4.1      Small_1GB 
CentOS Medium 2        CentOS 6.4    sdc:sdc:centos-6:2.4.1      Medium_2GB
CentOS Medium 4        CentOS 6.4    sdc:sdc:centos-6:2.4.1      Medium_4GB
CentOS Large 8         CentOS 6.4    sdc:sdc:centos-6:2.4.1      Large_8GB 

Contributing

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

Authors

Created and maintained by Sawanobori Yukihiko (sawanoboriyu@higanworks.com)

License

Apache 2.0 (see LICENSE)