testlab 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ree
1
+ ruby-1.9.3
data/README.md CHANGED
@@ -26,13 +26,15 @@ The TestLab command-line program `tl` follows in the style of git:
26
26
  tl [global options] command [command options] [arguments...]
27
27
 
28
28
  VERSION
29
- 0.6.9
29
+ 0.7.1
30
30
 
31
31
  GLOBAL OPTIONS
32
- --version -
33
- -v, --[no-]verbose - Show verbose output
34
- -q, --[no-]quiet - Quiet mode
35
- --help - Show this message
32
+ -l, --labfile=path/to/file - Path to Labfile (default: /home/zpatten/code/personal/testlab-repo/Labfile)
33
+ -c, --config=path/to/directory - Path to configuration directory (default: /home/zpatten/code/personal/testlab-repo/.testlab-zsp-desktop)
34
+ --version - Display the program version
35
+ -v, --[no-]verbose - Show verbose output
36
+ -q, --[no-]quiet - Quiet mode
37
+ --help - Show this message
36
38
 
37
39
  COMMANDS
38
40
  help - Shows a list of commands or help for one command
data/bin/tl CHANGED
@@ -46,12 +46,17 @@ desc 'Quiet mode'
46
46
  default_value false
47
47
  switch [:q, :quiet]
48
48
 
49
- desc 'Path to Labfile'
49
+ desc 'Path to Labfile: ${PWD}/Labfile'
50
50
  arg_name 'path/to/file'
51
51
  default_value File.join(Dir.pwd, 'Labfile')
52
52
  flag [:l, :labfile]
53
53
 
54
- desc 'Path to configuration directory'
54
+ desc 'Path to Repository directory: ${PWD}'
55
+ arg_name 'path/to/directory'
56
+ default_value Dir.pwd
57
+ flag [:r, :repo]
58
+
59
+ desc 'Path to Configuration directory: ${PWD}/.testlab-$(hostname -s)'
55
60
  arg_name 'path/to/directory'
56
61
  default_value File.join(Dir.pwd, ".testlab-#{HOSTNAME}")
57
62
  flag [:c, :config]
@@ -71,7 +76,8 @@ pre do |global,command,options,args|
71
76
  @testlab = TestLab.new(
72
77
  :ui => @ui,
73
78
  :labfile => global[:labfile],
74
- :config_dir => global[:config]
79
+ :config_dir => global[:config],
80
+ :repo_dir => global[:repo]
75
81
  )
76
82
 
77
83
  @ui.logger.debug { "global(#{global.inspect})" }
@@ -126,6 +126,14 @@ class TestLab
126
126
  super(*args)
127
127
  end
128
128
 
129
+ def config_dir
130
+ self.node.config_dir
131
+ end
132
+
133
+ def repo_dir
134
+ self.node.repo_dir
135
+ end
136
+
129
137
  end
130
138
 
131
139
  end
@@ -16,6 +16,10 @@ class TestLab
16
16
  self.testlab.config_dir
17
17
  end
18
18
 
19
+ def repo_dir
20
+ self.testlab.repo_dir
21
+ end
22
+
19
23
  end
20
24
 
21
25
  end
data/lib/testlab/node.rb CHANGED
@@ -54,6 +54,10 @@ class TestLab
54
54
  self.labfile.config_dir
55
55
  end
56
56
 
57
+ def repo_dir
58
+ self.labfile.repo_dir
59
+ end
60
+
57
61
  end
58
62
 
59
63
  end
@@ -15,6 +15,7 @@ class TestLab
15
15
  @ui = (ui || TestLab.ui)
16
16
 
17
17
  @config[:bind] ||= Hash.new
18
+ @config[:bind][:domain] ||= "default.zone"
18
19
 
19
20
  @ui.logger.debug { "config(#{@config.inspect})" }
20
21
  end
@@ -44,7 +45,7 @@ class TestLab
44
45
  reverse_records = Hash.new
45
46
 
46
47
  TestLab::Container.all.each do |container|
47
- container.domain ||= container.node.labfile.config[:domain]
48
+ container.domain ||= @config[:bind][:domain]
48
49
 
49
50
  container.interfaces.each do |interface|
50
51
  forward_records[container.domain] ||= Array.new
@@ -1,6 +1,6 @@
1
1
  class TestLab
2
2
  unless const_defined?(:VERSION)
3
3
  # TestLab Gem Version
4
- VERSION = "0.7.1"
4
+ VERSION = "0.7.2"
5
5
  end
6
6
  end
data/lib/testlab.rb CHANGED
@@ -105,12 +105,14 @@ class TestLab
105
105
  include TestLab::Utility::Misc
106
106
 
107
107
  attr_accessor :config_dir
108
+ attr_accessor :repo_dir
108
109
 
109
110
  def initialize(options={})
110
111
  self.ui = (options[:ui] || ZTK::UI.new)
111
112
  self.class.ui = self.ui
112
113
 
113
114
  @config_dir = (options[:config_dir] || File.join(Dir.pwd, ".testlab-#{HOSTNAME}"))
115
+ @repo_dir = (options[:repo_dir] || Dir.pwd)
114
116
 
115
117
  labfile = (options[:labfile] || File.join(Dir.pwd, 'Labfile'))
116
118
  labfile_path = ZTK::Locator.find(labfile)
metadata CHANGED
@@ -1,186 +1,200 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: testlab
3
- version: !ruby/object:Gem::Version
4
- hash: 1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.2
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 7
9
- - 1
10
- version: 0.7.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Zachary Patten
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-07-01 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
22
- none: false
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- hash: 3
27
- segments:
28
- - 0
29
- version: "0"
30
- prerelease: false
31
- type: :runtime
32
- requirement: *id001
12
+ date: 2013-07-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
33
15
  name: gli
34
- - !ruby/object:Gem::Dependency
35
- version_requirements: &id002 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
36
17
  none: false
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- hash: 3
41
- segments:
42
- - 0
43
- version: "0"
44
- prerelease: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
45
22
  type: :runtime
46
- requirement: *id002
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
47
31
  name: lxc
48
- - !ruby/object:Gem::Dependency
49
- version_requirements: &id003 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
50
33
  none: false
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- hash: 3
55
- segments:
56
- - 0
57
- version: "0"
58
- prerelease: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
59
38
  type: :runtime
60
- requirement: *id003
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
61
47
  name: ztk
62
- - !ruby/object:Gem::Dependency
63
- version_requirements: &id004 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
64
49
  none: false
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- hash: 3
69
- segments:
70
- - 0
71
- version: "0"
72
- prerelease: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
73
54
  type: :runtime
74
- requirement: *id004
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
75
63
  name: activesupport
76
- - !ruby/object:Gem::Dependency
77
- version_requirements: &id005 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
78
65
  none: false
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- hash: 3
83
- segments:
84
- - 0
85
- version: "0"
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
86
71
  prerelease: false
87
- type: :development
88
- requirement: *id005
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
89
79
  name: bundler
90
- - !ruby/object:Gem::Dependency
91
- version_requirements: &id006 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
92
81
  none: false
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- hash: 3
97
- segments:
98
- - 0
99
- version: "0"
100
- prerelease: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
101
86
  type: :development
102
- requirement: *id006
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
103
95
  name: pry
104
- - !ruby/object:Gem::Dependency
105
- version_requirements: &id007 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
106
97
  none: false
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- hash: 3
111
- segments:
112
- - 0
113
- version: "0"
114
- prerelease: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
115
102
  type: :development
116
- requirement: *id007
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
117
111
  name: rake
118
- - !ruby/object:Gem::Dependency
119
- version_requirements: &id008 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
120
113
  none: false
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- hash: 3
125
- segments:
126
- - 0
127
- version: "0"
128
- prerelease: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
129
118
  type: :development
130
- requirement: *id008
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
131
127
  name: redcarpet
132
- - !ruby/object:Gem::Dependency
133
- version_requirements: &id009 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
134
129
  none: false
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- hash: 3
139
- segments:
140
- - 0
141
- version: "0"
142
- prerelease: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
143
134
  type: :development
144
- requirement: *id009
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
145
143
  name: rspec
146
- - !ruby/object:Gem::Dependency
147
- version_requirements: &id010 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
148
145
  none: false
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- hash: 3
153
- segments:
154
- - 0
155
- version: "0"
156
- prerelease: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
157
150
  type: :development
158
- requirement: *id010
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
159
  name: yard
160
- - !ruby/object:Gem::Dependency
161
- version_requirements: &id011 !ruby/object:Gem::Requirement
160
+ requirement: !ruby/object:Gem::Requirement
162
161
  none: false
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- hash: 3
167
- segments:
168
- - 0
169
- version: "0"
170
- prerelease: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
171
166
  type: :development
172
- requirement: *id011
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
173
175
  name: coveralls
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
174
190
  description: A toolkit for building virtual computer labs
175
- email:
191
+ email:
176
192
  - zachary AT jovelabs DOT com
177
- executables:
193
+ executables:
178
194
  - tl
179
195
  extensions: []
180
-
181
196
  extra_rdoc_files: []
182
-
183
- files:
197
+ files:
184
198
  - .coveralls.yml
185
199
  - .gitignore
186
200
  - .rspec
@@ -275,39 +289,37 @@ files:
275
289
  - spec/utility_spec.rb
276
290
  - testlab.gemspec
277
291
  homepage: https://github.com/zpatten/testlab
278
- licenses:
292
+ licenses:
279
293
  - Apache 2.0
280
294
  post_install_message:
281
295
  rdoc_options: []
282
-
283
- require_paths:
296
+ require_paths:
284
297
  - lib
285
- required_ruby_version: !ruby/object:Gem::Requirement
298
+ required_ruby_version: !ruby/object:Gem::Requirement
286
299
  none: false
287
- requirements:
288
- - - ">="
289
- - !ruby/object:Gem::Version
290
- hash: 3
291
- segments:
300
+ requirements:
301
+ - - ! '>='
302
+ - !ruby/object:Gem::Version
303
+ version: '0'
304
+ segments:
292
305
  - 0
293
- version: "0"
294
- required_rubygems_version: !ruby/object:Gem::Requirement
306
+ hash: -3436193439365071171
307
+ required_rubygems_version: !ruby/object:Gem::Requirement
295
308
  none: false
296
- requirements:
297
- - - ">="
298
- - !ruby/object:Gem::Version
299
- hash: 3
300
- segments:
309
+ requirements:
310
+ - - ! '>='
311
+ - !ruby/object:Gem::Version
312
+ version: '0'
313
+ segments:
301
314
  - 0
302
- version: "0"
315
+ hash: -3436193439365071171
303
316
  requirements: []
304
-
305
317
  rubyforge_project:
306
318
  rubygems_version: 1.8.25
307
319
  signing_key:
308
320
  specification_version: 3
309
321
  summary: A toolkit for building virtual computer labs
310
- test_files:
322
+ test_files:
311
323
  - spec/container_spec.rb
312
324
  - spec/network_spec.rb
313
325
  - spec/node_spec.rb