testlab 1.18.0 → 1.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/.gitignore +1 -0
- data/.travis.yml +20 -9
- data/Rakefile +6 -45
- data/features/step_definitions/testlab_steps.rb +2 -1
- data/features/support/{Labfile.local → Labfile.bare-metal} +3 -3
- data/features/support/env.rb +3 -2
- data/lib/testlab/container/actions.rb +4 -1
- data/lib/testlab/container/io.rb +2 -2
- data/lib/testlab/container/status.rb +11 -0
- data/lib/testlab/node.rb +2 -0
- data/lib/testlab/providers/vagrant.rb +2 -1
- data/lib/testlab/provisioners/resolv.rb +2 -1
- data/lib/testlab/provisioners/templates/raring/provision.erb +4 -5
- data/lib/testlab/utility/logger.rb +2 -1
- data/lib/testlab/version.rb +1 -1
- data/scripts/before_install.sh +58 -0
- data/{spec/support/install-lxc.sh → scripts/test.sh} +10 -8
- data/testlab.gemspec +5 -0
- metadata +62 -6
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZTBiNzQ4NzUwY2JlYWVjMTE0NzcwNmMwYzM0OTQ3ZTY2OTQwZDIzOQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
M2RhODk4NGFjYjViYjE2NzEwMTE2Nzg2OGI0NTMyMGY0NGIzMWFhMA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZDBmN2Q5OGQ3OGY4MTgxNGM1MDFmNzY4MzU1MjMwNWFmMzFmYzM4NjM1NTdj
|
10
|
+
OTFlZTYyNTUxMmQ0YTA4ZTM3NWJjMDI2YmMyZWE1MzYxYzZhYjgyMzgwOGJk
|
11
|
+
MTVjOTUwNTgyOGJkOTM4ODk0NTgwYmQ4MDgyNDY1NDc5MGMyODI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OTRiNTBjN2UxMzQzMjAyZGJmNThjN2VkM2I1ZDEzYmZlOTUzMjRhNjdjMjNl
|
14
|
+
NzdkYzIxNTYxMmYzNzkxNTQ3MTcwMGI1MDlmNDI5ZWU5ZTJmMGEyZjFlNDk4
|
15
|
+
ZjIyZmNiM2Y0NThiYmU4M2UxMmUzZGI5ZTE4ZGY1MTQ2OTM0NTE=
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,22 +1,33 @@
|
|
1
1
|
language: ruby
|
2
|
+
env:
|
3
|
+
global:
|
4
|
+
- secure: YbxuFSMIVppYT99C+klcWpzLr0w/sLqjfxbBVorzTLgHhFpUVIdK4tIu5dQDohrVEuMskPzqilFjnW+bqKQ6rfG9pgkN9Gkp5LbxzTRdWPT5u9111fQSjW/hdqN+z0Beqdi1k2ZoPQRTgVPaPq9UHlX8/4LK021gTTbe2EGMcSg=
|
5
|
+
- secure: KMwqbWoqcYmmyNoGHxBUnmWmQ1zzoxpcNggrcU7VeWB1NrUIeeAsvX1zAmb1xiuFZDaIrnto9mmiWVuphGpK5FDOGzFGWCO4vISBUzRkcJQE8rU1K4G3O/meXJ9W1pADHE4b/50uEGQjPMry4lwOiugKMc5x7+364de2YoALx6E=
|
6
|
+
- secure: H4MqaotOXE5aboHmv+udPK8sPKpzpgBaKBj3ZOqfqgmkea4sbyIMptAXvMrdWlaJGhfjxhmjwN7UfpYYxv4zN2a+16uQR1waRSt5ugxGY05riRp1vF8silogj8iSaM6TiDmytdyAbPOg+gFsDJNT50Sa29tDkiOA5L2VFAgkwjU=
|
7
|
+
- secure: QR7/0AU/pC64kfH9tsd5nANsX/S2QMKT2LVGcFfZhdRyisT597s4LzVj6snBrfh+Qd0mqkZZmkVHRNmi5BdO3qVeA/0R8LOm3WD5gFaBNEbCV7B3j2iX6a386nKYd+9LbLO57cfnVePFRsWmPF3pefhNDnQbWLKjUxT2rj3j/RQ=
|
2
8
|
rvm:
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
9
|
+
- ree
|
10
|
+
- 1.9.2
|
11
|
+
- 1.9.3
|
12
|
+
- 2.0.0
|
13
|
+
- 2.1.0
|
8
14
|
branches:
|
9
15
|
only:
|
10
|
-
|
11
|
-
before_install:
|
16
|
+
- master
|
17
|
+
before_install:
|
18
|
+
- "sudo ./scripts/before_install.sh"
|
19
|
+
after_script:
|
20
|
+
- "travis-artifacts upload --path testlab.log"
|
21
|
+
after_test:
|
22
|
+
- "travis-artifacts upload --target-path artifacts/$TRAVIS_BUILD_ID/$TRAVIS_JOB_ID"
|
12
23
|
notifications:
|
13
24
|
email:
|
14
25
|
recipients:
|
15
|
-
|
26
|
+
- "testlab-ci@lookout.com"
|
16
27
|
on_success: always
|
17
28
|
on_failure: always
|
18
29
|
irc:
|
19
30
|
channels:
|
20
|
-
|
31
|
+
- "irc.freenode.net#jovelabs"
|
21
32
|
use_notice: true
|
22
33
|
skip_join: true
|
data/Rakefile
CHANGED
@@ -19,16 +19,11 @@
|
|
19
19
|
################################################################################
|
20
20
|
|
21
21
|
require 'rake/clean'
|
22
|
-
require 'bundler/gem_tasks'
|
23
22
|
|
24
|
-
|
23
|
+
require 'bundler/gem_tasks'
|
25
24
|
|
26
25
|
require 'rspec/core/rake_task'
|
27
26
|
RSpec::Core::RakeTask.new(:spec)
|
28
|
-
task :default => [:spec]
|
29
|
-
task :test => [:spec]
|
30
|
-
|
31
|
-
################################################################################
|
32
27
|
|
33
28
|
require 'cucumber/rake/task'
|
34
29
|
desc 'Run features'
|
@@ -39,49 +34,15 @@ Cucumber::Rake::Task.new(:features) do |t|
|
|
39
34
|
t.fork = false
|
40
35
|
end
|
41
36
|
|
42
|
-
################################################################################
|
43
|
-
|
44
37
|
require 'coveralls/rake/task'
|
45
38
|
Coveralls::RakeTask.new
|
46
|
-
task :coveralls => [:spec, 'coveralls:push']
|
47
|
-
|
48
|
-
################################################################################
|
49
39
|
|
50
|
-
require '
|
51
|
-
require 'yard/rake/yardoc_task'
|
40
|
+
require 'ztk/rake/docs'
|
52
41
|
|
53
|
-
|
54
|
-
DOC_PATH = File.expand_path(File.join("..", "", "#{GEM_NAME}.doc"))
|
55
|
-
|
56
|
-
namespace :doc do
|
57
|
-
YARD::Rake::YardocTask.new(:pages) do |t|
|
58
|
-
|
59
|
-
# t.files = ['lib/**/*.rb']
|
60
|
-
t.options = ['--verbose', '-o', DOC_PATH]
|
61
|
-
end
|
62
|
-
|
63
|
-
namespace :pages do
|
64
|
-
|
65
|
-
desc 'Generate and publish YARD Documentation to GitHub pages'
|
66
|
-
task :publish => ['doc:pages'] do
|
67
|
-
describe = %x(git describe).chomp
|
68
|
-
stats = %x(bundle exec yard stats).chomp
|
69
|
-
|
70
|
-
commit_message = Array.new
|
71
|
-
commit_message << "Generated YARD Documentation for #{GEM_NAME.upcase} #{describe}\n\n"
|
72
|
-
commit_message << stats
|
73
|
-
|
74
|
-
Dir.chdir(DOC_PATH) do
|
75
|
-
puts(%x{git add -Av})
|
76
|
-
puts(%x{git commit -m"#{commit_message.join}"})
|
77
|
-
puts(%x{git push origin gh-pages})
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
end
|
42
|
+
################################################################################
|
82
43
|
|
83
|
-
|
84
|
-
|
85
|
-
task
|
44
|
+
task :coveralls => [:spec, 'coveralls:push']
|
45
|
+
task :default => [:spec]
|
46
|
+
task :test => [:spec]
|
86
47
|
|
87
48
|
################################################################################
|
@@ -32,5 +32,6 @@ end
|
|
32
32
|
|
33
33
|
def testlab_cmd(app_name, *args)
|
34
34
|
args = args.join(' ')
|
35
|
-
|
35
|
+
log_file = File.join(TEST_ROOT, 'testlab.log')
|
36
|
+
step %(I run `#{app_name} --repo=#{TEST_REPO} --labfile=#{TEST_LABFILE} --log=#{log_file} #{args}`)
|
36
37
|
end
|
@@ -5,7 +5,7 @@ version ">= 1.5.1"
|
|
5
5
|
|
6
6
|
node 'vagrant' do
|
7
7
|
|
8
|
-
provider
|
8
|
+
provider TestLab::Provider::BareMetal
|
9
9
|
|
10
10
|
provisioners [
|
11
11
|
TestLab::Provisioner::Raring,
|
@@ -36,8 +36,8 @@ node 'vagrant' do
|
|
36
36
|
user do
|
37
37
|
username 'deployer'
|
38
38
|
password 'deployer'
|
39
|
-
identity File.join(
|
40
|
-
public_identity File.join(
|
39
|
+
identity File.join(Dir.pwd, 'spec', 'support', 'test')
|
40
|
+
public_identity File.join(Dir.pwd, 'spec', 'support', 'test.pub')
|
41
41
|
uid 2600
|
42
42
|
gid 2600
|
43
43
|
end
|
data/features/support/env.rb
CHANGED
@@ -3,10 +3,11 @@ require 'aruba/cucumber'
|
|
3
3
|
ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
|
4
4
|
LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','..','lib')
|
5
5
|
|
6
|
+
TEST_ROOT = File.expand_path(File.join(File.dirname(__FILE__), "..", ".."))
|
6
7
|
TEST_REPO = File.dirname(__FILE__)
|
7
8
|
|
8
|
-
if ENV['USER']
|
9
|
-
TEST_LABFILE = File.join(TEST_REPO, 'Labfile.
|
9
|
+
if %w( vagrant travis ).include?(ENV['USER'])
|
10
|
+
TEST_LABFILE = File.join(TEST_REPO, 'Labfile.bare-metal')
|
10
11
|
else
|
11
12
|
TEST_LABFILE = File.join(TEST_REPO, 'Labfile.vagrant')
|
12
13
|
end
|
@@ -84,7 +84,10 @@ class TestLab
|
|
84
84
|
end
|
85
85
|
|
86
86
|
# Ensure the hostname is set
|
87
|
-
self.
|
87
|
+
self.lxc.attach(%(-- /bin/bash -c 'hostname #{self.id}'))
|
88
|
+
self.lxc.attach(%(-- /bin/bash -c 'echo "#{self.id}" | tee /etc/hostname'))
|
89
|
+
self.lxc.attach(%(-- /bin/bash -c 'sed -i "s/\\(127\\.0\\.1\\.1\\).*/\\1\t#{self.id} #{self.fqdn}/g" /etc/hosts'))
|
90
|
+
self.lxc.attach(%(-- /bin/bash -c '(grep "#{self.id}" /etc/hosts) || (echo "127.0.1.1\t#{self.id} #{self.fqdn}" | tee -a /etc/hosts)'))
|
88
91
|
|
89
92
|
do_provisioner_callbacks(self, :up, @ui)
|
90
93
|
end
|
data/lib/testlab/container/io.rb
CHANGED
@@ -43,9 +43,9 @@ class TestLab
|
|
43
43
|
when :get, :put then
|
44
44
|
elapsed = (Time.now - @start_time)
|
45
45
|
current_size = (args[1] + args[2].length)
|
46
|
-
message = ((action == :get) ? 'downloading from' : 'uploading to')
|
46
|
+
message = ((action == :get) ? 'downloading to local host from' : 'uploading from local host to')
|
47
47
|
|
48
|
-
transfer_message(%(#{message} node:), args[0].local, current_size, @total_size, elapsed)
|
48
|
+
transfer_message(%(#{message} TestLab node #{self.node.id.inspect}:), args[0].local, current_size, @total_size, elapsed)
|
49
49
|
|
50
50
|
when :finish
|
51
51
|
@ui.stdout.puts
|
@@ -124,6 +124,17 @@ class TestLab
|
|
124
124
|
end
|
125
125
|
end
|
126
126
|
|
127
|
+
# Container Importable
|
128
|
+
#
|
129
|
+
# If the container has a non-nil sc_url value, we assume since we can
|
130
|
+
# supposedly download a shipping container image for the container
|
131
|
+
# that it is therefore importable.
|
132
|
+
# @return [Boolean] True if the container has a non-nil sc_url attribute,
|
133
|
+
# False otherwise.
|
134
|
+
def importable?
|
135
|
+
!self.sc_url.nil?
|
136
|
+
end
|
137
|
+
|
127
138
|
end
|
128
139
|
|
129
140
|
end
|
data/lib/testlab/node.rb
CHANGED
@@ -190,7 +190,8 @@ class TestLab
|
|
190
190
|
####################
|
191
191
|
|
192
192
|
def instance_id
|
193
|
-
|
193
|
+
default_id = "#{TestLab.hostname}-#{@config[:node][:id]}-#{File.basename(@config[:vagrant][:file])}"
|
194
|
+
(@config[:vagrant][:id] || default_id.downcase)
|
194
195
|
end
|
195
196
|
|
196
197
|
def user
|
@@ -1,13 +1,13 @@
|
|
1
1
|
export DEBIAN_FRONTEND="noninteractive"
|
2
2
|
|
3
3
|
# Update APT and ensure our required packages are installed
|
4
|
-
apt-get -
|
4
|
+
apt-get -qq update
|
5
5
|
<% %w(lxc apparmor bridge-utils debootstrap yum iptables iptables-persistent ntpdate ntp pbzip2).each do |package| -%>
|
6
|
-
dpkg --status <%= package %> &> /dev/null || apt-get -
|
6
|
+
dpkg --status <%= package %> &> /dev/null || apt-get -qq install <%= package %>
|
7
7
|
<% end -%>
|
8
8
|
|
9
9
|
# Ensure the default lxc networking services are off
|
10
|
-
service lxc-net stop ||
|
10
|
+
service lxc-net stop || true
|
11
11
|
echo "manual" | tee /etc/init/lxc-net.override
|
12
12
|
|
13
13
|
# Ensure NTP services are enabled and running
|
@@ -18,8 +18,7 @@ sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
|
|
18
18
|
sysctl -w net.ipv4.ip_forward=1
|
19
19
|
|
20
20
|
# Install an iptable NAT rule
|
21
|
-
|
22
|
-
if ! iptables -t nat -v --list | grep "MASQUERADE"; then
|
21
|
+
if ! (iptables -t nat -v --list | grep "MASQUERADE"); then
|
23
22
|
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
24
23
|
iptables-save | tee /etc/iptables/rules.v4
|
25
24
|
fi
|
@@ -35,7 +35,8 @@ class TestLab
|
|
35
35
|
"hostname" => "%s (%s)" % [Socket.gethostname.inspect, TestLab.hostname.inspect],
|
36
36
|
"program" => $0.to_s.inspect,
|
37
37
|
"argv" => ARGV.join(' ').inspect,
|
38
|
-
"timezone" => Time.now.zone.inspect
|
38
|
+
"timezone" => Time.now.zone.inspect,
|
39
|
+
"user" => ENV['USER'].inspect
|
39
40
|
}
|
40
41
|
end
|
41
42
|
|
data/lib/testlab/version.rb
CHANGED
@@ -0,0 +1,58 @@
|
|
1
|
+
################################################################################
|
2
|
+
#
|
3
|
+
# Author: Zachary Patten <zachary AT jovelabs DOT com>
|
4
|
+
# Copyright: Copyright (c) Zachary Patten
|
5
|
+
# License: Apache License, Version 2.0
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
################################################################################
|
20
|
+
#!/bin/bash
|
21
|
+
set -x
|
22
|
+
|
23
|
+
cat <<EOF | tee /usr/sbin/policy-rc.d
|
24
|
+
#!/bin/sh
|
25
|
+
exit 101
|
26
|
+
EOF
|
27
|
+
chmod 755 /usr/sbin/policy-rc.d
|
28
|
+
|
29
|
+
mkdir -p /lib/modules/$(uname -r)
|
30
|
+
depmod -a
|
31
|
+
|
32
|
+
apt-get -qq update
|
33
|
+
add-apt-repository -y ppa:serge-hallyn/lxc-backport
|
34
|
+
apt-get -qq update
|
35
|
+
|
36
|
+
apt-get -qq install lxc
|
37
|
+
lxc-version
|
38
|
+
|
39
|
+
apt-get -qq install slirp
|
40
|
+
git clone git://github.com/jpetazzo/sekexe
|
41
|
+
|
42
|
+
(iptables -L -t nat) || true
|
43
|
+
(grep -i iptables /etc/vz/vz.conf) || true
|
44
|
+
(lsmod | grep nat) || true
|
45
|
+
|
46
|
+
mkdir -p $HOME/.ssh
|
47
|
+
ssh-keygen -N '' -f $HOME/.ssh/id_rsa
|
48
|
+
|
49
|
+
cat $HOME/.ssh/id_rsa.pub | tee $HOME/.ssh/authorized_keys
|
50
|
+
cat $HOME/.ssh/id_rsa.pub | tee $HOME/.ssh/authorized_keys2
|
51
|
+
|
52
|
+
chown -R $SUDO_USER:$SUDO_USER $HOME/.ssh
|
53
|
+
|
54
|
+
ls -la $HOME/.ssh
|
55
|
+
|
56
|
+
eval `ssh-agent -s`
|
57
|
+
ssh-add $HOME/.ssh/id_rsa
|
58
|
+
ssh-add -L
|
@@ -18,11 +18,13 @@
|
|
18
18
|
#
|
19
19
|
################################################################################
|
20
20
|
#!/bin/bash
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
21
|
+
set -e
|
22
|
+
set -x
|
23
|
+
|
24
|
+
# For Travis-CI sekexe:
|
25
|
+
#
|
26
|
+
# script:
|
27
|
+
# - sekexe/run "export HOME=$HOME USER=$USER PWD=$(pwd) ; env ; cd $(pwd) ; $(pwd)/scripts/test.sh"
|
28
|
+
|
29
|
+
|
30
|
+
/home/$USER/.rvm/bin/rvm $(cat $PWD/.ruby-version)@$(cat $PWD/.ruby-gemset) do bundle exec rake
|
data/testlab.gemspec
CHANGED
@@ -49,4 +49,9 @@ Gem::Specification.new do |spec|
|
|
49
49
|
spec.add_development_dependency("rspec")
|
50
50
|
spec.add_development_dependency("yard")
|
51
51
|
spec.add_development_dependency("coveralls")
|
52
|
+
|
53
|
+
spec.add_development_dependency("travis")
|
54
|
+
spec.add_development_dependency("travis-artifacts")
|
55
|
+
spec.add_development_dependency("typhoeus", "~> 0.6.7")
|
56
|
+
spec.add_development_dependency("websocket-native")
|
52
57
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testlab
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.18.
|
4
|
+
version: 1.18.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zachary Patten
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01
|
11
|
+
date: 2014-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gli
|
@@ -178,6 +178,62 @@ dependencies:
|
|
178
178
|
- - ! '>='
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: travis
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ! '>='
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ! '>='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: travis-artifacts
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ! '>='
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ! '>='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: typhoeus
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ~>
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: 0.6.7
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ~>
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: 0.6.7
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: websocket-native
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ! '>='
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
type: :development
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ! '>='
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
181
237
|
description: A toolkit for building virtual computer labs
|
182
238
|
email:
|
183
239
|
- zachary AT jovelabs DOT com
|
@@ -205,7 +261,7 @@ files:
|
|
205
261
|
- features/step_definitions/network_steps.rb
|
206
262
|
- features/step_definitions/node_steps.rb
|
207
263
|
- features/step_definitions/testlab_steps.rb
|
208
|
-
- features/support/Labfile.
|
264
|
+
- features/support/Labfile.bare-metal
|
209
265
|
- features/support/Labfile.vagrant
|
210
266
|
- features/support/env.rb
|
211
267
|
- features/testlab.feature
|
@@ -293,6 +349,8 @@ files:
|
|
293
349
|
- lib/testlab/utility/logger.rb
|
294
350
|
- lib/testlab/utility/misc.rb
|
295
351
|
- lib/testlab/version.rb
|
352
|
+
- scripts/before_install.sh
|
353
|
+
- scripts/test.sh
|
296
354
|
- spec/container_spec.rb
|
297
355
|
- spec/interface_spec.rb
|
298
356
|
- spec/labfile_spec.rb
|
@@ -304,7 +362,6 @@ files:
|
|
304
362
|
- spec/provisioners/generic_spec.rb
|
305
363
|
- spec/spec_helper.rb
|
306
364
|
- spec/support/Labfile
|
307
|
-
- spec/support/install-lxc.sh
|
308
365
|
- spec/support/test
|
309
366
|
- spec/support/test.pub
|
310
367
|
- spec/testlab_spec.rb
|
@@ -340,7 +397,7 @@ test_files:
|
|
340
397
|
- features/step_definitions/network_steps.rb
|
341
398
|
- features/step_definitions/node_steps.rb
|
342
399
|
- features/step_definitions/testlab_steps.rb
|
343
|
-
- features/support/Labfile.
|
400
|
+
- features/support/Labfile.bare-metal
|
344
401
|
- features/support/Labfile.vagrant
|
345
402
|
- features/support/env.rb
|
346
403
|
- features/testlab.feature
|
@@ -355,7 +412,6 @@ test_files:
|
|
355
412
|
- spec/provisioners/generic_spec.rb
|
356
413
|
- spec/spec_helper.rb
|
357
414
|
- spec/support/Labfile
|
358
|
-
- spec/support/install-lxc.sh
|
359
415
|
- spec/support/test
|
360
416
|
- spec/support/test.pub
|
361
417
|
- spec/testlab_spec.rb
|