class Souschef::Testkitchen::Docker

Testkitchen Docker configuration

Attributes

config[RW]
cookbook[RW]

Public Class Methods

new(cookbook) click to toggle source
# File lib/souschef/testkitchen/docker.rb, line 7
def initialize(cookbook)
  @cookbook = cookbook
  populate_configuration
end

Public Instance Methods

yaml() click to toggle source

Public - Return YAML formatted data

Returns String

# File lib/souschef/testkitchen/docker.rb, line 15
def yaml
  @config.to_yaml
end

Private Instance Methods

define_centos_5() click to toggle source

Private - Define CentOS 5.10 platforms

Returns Hash

# File lib/souschef/testkitchen/docker.rb, line 62
def define_centos_5
  { 'name' => 'centos-5.10',
    'driver_config' => { 'image' => 'akrasic/centos5',
                         'platform' => 'centos',
                         'use_sudo' => false,
                         'privileged' => true } }
end
define_centos_6() click to toggle source

Private - Define CentOS 6.4 platform

Returns Hash

# File lib/souschef/testkitchen/docker.rb, line 73
def define_centos_6
  { 'name' => 'centos-6.4',
    'driver_config' => { 'image' => 'centos:6.4',
                         'platform' => 'centos',
                         'use_sudo' => false,
                         'privileged' => true } }
end
define_driver() click to toggle source

Private - Define driver section

Returns Hash

# File lib/souschef/testkitchen/docker.rb, line 34
def define_driver
  { 'name' => 'docker',
    'privileged' => true
  }
end
define_platforms() click to toggle source

Private - Define platforms configuration

Returns Array

# File lib/souschef/testkitchen/docker.rb, line 51
def define_platforms
  if define_run_list['run_list'].empty?
    [define_centos_5, define_centos_6]
  else
    [define_centos_5, define_centos_6, define_run_list]
  end
end
define_provisioner() click to toggle source

Private - Define provisioner

Returns Hash

# File lib/souschef/testkitchen/docker.rb, line 43
def define_provisioner
  { 'name' => 'chef_zero',
    'require_chef_omnibus' => 'latest' }
end
define_run_list() click to toggle source

Private - Define Runlist for platforms

Returs Hash

# File lib/souschef/testkitchen/docker.rb, line 84
def define_run_list
  { 'run_list' => '' }
end
define_suits() click to toggle source

Private - Define suits

Returns Hash

# File lib/souschef/testkitchen/docker.rb, line 91
def define_suits
  [{ 'name' => 'default',
     'run_list' => ["recipe[#{@cookbook}::default]"] }]
end
populate_configuration() click to toggle source

Private - Populate @config

Returns nil

# File lib/souschef/testkitchen/docker.rb, line 24
def populate_configuration
  @config = { 'driver' => define_driver,
              'provisioner' => define_provisioner,
              'platforms' => define_platforms,
              'suits' => define_suits }
end