testlab 1.10.0 → 1.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,6 +10,7 @@ class TestLab
10
10
  PROXY_METHODS = %w(instance_id state user identity ip port create destroy up down reload status alive? dead? exists?).map(&:to_sym)
11
11
 
12
12
  autoload :AWS, 'testlab/providers/aws'
13
+ autoload :BareMetal, 'testlab/providers/bare_metal'
13
14
  autoload :Local, 'testlab/providers/local'
14
15
  autoload :OpenStack, 'testlab/providers/open_stack'
15
16
  autoload :Vagrant, 'testlab/providers/vagrant'
@@ -0,0 +1,92 @@
1
+ class TestLab
2
+
3
+ class Provider
4
+
5
+ # BareMetal Provider Error Class
6
+ class BareMetalError < ProviderError; end
7
+
8
+ # BareMetal Provider Class
9
+ #
10
+ # @author Zachary Patten <zachary AT jovelabs DOT com>
11
+ class BareMetal
12
+
13
+ def initialize(config={}, ui=nil)
14
+ @config = (config || Hash.new)
15
+ @ui = (ui || TestLab.ui)
16
+
17
+ # ensure our bare_metal key exists
18
+ @config[:bare_metal] ||= Hash.new
19
+ end
20
+
21
+ # This is a NO-OP
22
+ def create
23
+ true
24
+ end
25
+
26
+ # This is a NO-OP
27
+ def destroy
28
+ true
29
+ end
30
+
31
+ # This is a NO-OP
32
+ def up
33
+ true
34
+ end
35
+
36
+ # This is a NO-OP
37
+ def down
38
+ true
39
+ end
40
+
41
+ # This is a NO-OP
42
+ def reload
43
+ self.down
44
+ self.up
45
+
46
+ true
47
+ end
48
+
49
+ # This is a NO-OP
50
+ def state
51
+ :running
52
+ end
53
+
54
+ # This is a NO-OP
55
+ def exists?
56
+ true
57
+ end
58
+
59
+ # This is a NO-OP
60
+ def alive?
61
+ true
62
+ end
63
+
64
+ # This is a NO-OP
65
+ def dead?
66
+ false
67
+ end
68
+
69
+ def instance_id
70
+ TestLab.hostname
71
+ end
72
+
73
+ def user
74
+ (@config[:bare_metal][:user] || ENV['USER'])
75
+ end
76
+
77
+ def identity
78
+ (@config[:bare_metal][:identity] || File.join(ENV['HOME'], ".ssh", "id_rsa"))
79
+ end
80
+
81
+ def ip
82
+ (@config[:bare_metal][:ip] || "127.0.0.1")
83
+ end
84
+
85
+ def port
86
+ (@config[:bare_metal][:port] || 22)
87
+ end
88
+
89
+ end
90
+
91
+ end
92
+ end
@@ -16,6 +16,8 @@ class TestLab
16
16
 
17
17
  # ensure our local key is there
18
18
  @config[:local] ||= Hash.new
19
+
20
+ @ui.stderr.puts("TestLab::Provider::Local is depreciated. Please use TestLab::Provider::BareMetal instead.")
19
21
  end
20
22
 
21
23
  # This is a NO-OP
@@ -1,6 +1,6 @@
1
1
  class TestLab
2
2
  unless const_defined?(:VERSION)
3
3
  # TestLab Gem Version
4
- VERSION = "1.10.0"
4
+ VERSION = "1.11.0"
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testlab
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.0
4
+ version: 1.11.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-30 00:00:00.000000000 Z
12
+ date: 2013-11-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gli
@@ -273,6 +273,7 @@ files:
273
273
  - lib/testlab/node/status.rb
274
274
  - lib/testlab/provider.rb
275
275
  - lib/testlab/providers/aws.rb
276
+ - lib/testlab/providers/bare_metal.rb
276
277
  - lib/testlab/providers/local.rb
277
278
  - lib/testlab/providers/open_stack.rb
278
279
  - lib/testlab/providers/templates/vagrant/Vagrantfile.erb
@@ -349,7 +350,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
349
350
  version: '0'
350
351
  segments:
351
352
  - 0
352
- hash: 2948791884791380113
353
+ hash: -2228261480596938404
353
354
  required_rubygems_version: !ruby/object:Gem::Requirement
354
355
  none: false
355
356
  requirements:
@@ -358,7 +359,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
358
359
  version: '0'
359
360
  segments:
360
361
  - 0
361
- hash: 2948791884791380113
362
+ hash: -2228261480596938404
362
363
  requirements: []
363
364
  rubyforge_project:
364
365
  rubygems_version: 1.8.25