testlab 1.4.3 → 1.4.4

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.
@@ -12,11 +12,8 @@ class TestLab
12
12
  def create
13
13
  @ui.logger.debug { "Container Create: #{self.id}" }
14
14
 
15
- (self.node.state != :running) and return false
16
- (self.lxc.state != :not_created) and return false
17
-
18
- # If we are in ephemeral mode do not attempt to create the container.
19
- self.lxc_clone.exists? and return false
15
+ (self.node.state == :running) or return false
16
+ (self.state == :not_created) or return false
20
17
 
21
18
  please_wait(:ui => @ui, :message => format_object_action(self, 'Create', :green)) do
22
19
  configure
@@ -37,14 +34,12 @@ class TestLab
37
34
  def destroy
38
35
  @ui.logger.debug { "Container Destroy: #{self.id}" }
39
36
 
40
- (self.node.state != :running) and return false
41
- (self.lxc.state == :not_created) and return false
42
-
43
- # If we are in ephemeral mode do not attempt to destroy the container.
44
- self.lxc_clone.exists? and return false
37
+ (self.node.state == :running) or return false
38
+ (self.state != :not_created) or return false
45
39
 
46
40
  please_wait(:ui => @ui, :message => format_object_action(self, 'Destroy', :red)) do
47
41
  self.lxc.destroy(%(-f))
42
+ self.lxc_clone.destroy(%(-f))
48
43
 
49
44
  do_provisioner_callbacks(self, :destroy, @ui)
50
45
  end
@@ -60,8 +55,8 @@ class TestLab
60
55
  def up
61
56
  @ui.logger.debug { "Container Up: #{self.id}" }
62
57
 
63
- (self.node.state != :running) and return false
64
- (self.lxc.state == :running) and return false
58
+ (self.node.state == :running) or return false
59
+ (self.state != :running) or return false
65
60
 
66
61
  please_wait(:ui => @ui, :message => format_object_action(self, 'Up', :green)) do
67
62
  configure
@@ -106,8 +101,8 @@ class TestLab
106
101
  def down
107
102
  @ui.logger.debug { "Container Down: #{self.id}" }
108
103
 
109
- (self.node.state != :running) and return false
110
- (self.lxc.state != :running) and return false
104
+ (self.node.state == :running) or return false
105
+ (self.state == :running) or return false
111
106
 
112
107
  please_wait(:ui => @ui, :message => format_object_action(self, 'Down', :red)) do
113
108
 
@@ -70,7 +70,11 @@ class TestLab
70
70
  #
71
71
  # @return [Symbol] A symbol indicating the state of the container.
72
72
  def state
73
- self.lxc.state
73
+ if self.lxc_clone.exists?
74
+ self.lxc_clone.state
75
+ else
76
+ self.lxc.state
77
+ end
74
78
  end
75
79
 
76
80
  # Container Mode
@@ -7,8 +7,8 @@ class TestLab
7
7
  def create
8
8
  @ui.logger.debug { "Network Create: #{self.id} " }
9
9
 
10
- (self.node.state != :running) and return false
11
- (self.state != :not_created) and return false
10
+ (self.node.state == :running) or return false
11
+ (self.state == :not_created) or return false
12
12
 
13
13
  please_wait(:ui => @ui, :message => format_object_action(self, 'Create', :green)) do
14
14
  self.node.bootstrap(<<-EOF, :ignore_exit_status => true)
@@ -16,7 +16,7 @@ set -x
16
16
  grep '#{def_tag}' /etc/network/interfaces && exit 0
17
17
  cat <<EOI | tee -a /etc/network/interfaces
18
18
  #{def_tag}
19
- auto br0
19
+ auto #{self.bridge}
20
20
  iface #{self.bridge} inet static
21
21
  bridge_ports none
22
22
  bridge_stp off
@@ -41,8 +41,8 @@ brctl setfd #{self.bridge} 0
41
41
  def destroy
42
42
  @ui.logger.debug { "Network Destroy: #{self.id} " }
43
43
 
44
- (self.node.state != :running) and return false
45
- (self.state == :not_created) and return false
44
+ (self.node.state == :running) or return false
45
+ (self.state != :not_created) or return false
46
46
 
47
47
  please_wait(:ui => @ui, :message => format_object_action(self, 'Destroy', :red)) do
48
48
  self.node.bootstrap(<<-EOF, :ignore_exit_status => true)
@@ -61,8 +61,8 @@ brctl delbr #{self.bridge}
61
61
  def up
62
62
  @ui.logger.debug { "Network Up: #{self.id} " }
63
63
 
64
- (self.node.state != :running) and return false
65
- # (self.state == :running) and return false
64
+ (self.node.state == :running) or return false
65
+ # (self.state != :running) or return false
66
66
 
67
67
  please_wait(:ui => @ui, :message => format_object_action(self, 'Up', :green)) do
68
68
  self.node.bootstrap(<<-EOF, :ignore_exit_status => true)
@@ -80,8 +80,8 @@ ifconfig #{self.bridge} #{self.ip} netmask #{self.netmask} broadcast #{self.broa
80
80
  def down
81
81
  @ui.logger.debug { "Network Down: #{self.id} " }
82
82
 
83
- (self.node.state != :running) and return false
84
- # (self.state != :running) and return false
83
+ (self.node.state == :running) or return false
84
+ # (self.state == :running) or return false
85
85
 
86
86
  please_wait(:ui => @ui, :message => format_object_action(self, 'Down', :red)) do
87
87
  self.node.bootstrap(<<-EOF, :ignore_exit_status => true)
@@ -7,7 +7,7 @@ class TestLab
7
7
  def create
8
8
  @ui.logger.debug { "Node Create: #{self.id} " }
9
9
 
10
- (self.state != :not_created) and return false
10
+ (self.state == :not_created) or return false
11
11
 
12
12
  please_wait(:ui => @ui, :message => format_object_action(self, 'Create', :green)) do
13
13
  @provider.create
@@ -22,7 +22,7 @@ class TestLab
22
22
  def destroy
23
23
  @ui.logger.debug { "Node Destroy: #{self.id} " }
24
24
 
25
- (self.state == :not_created) and return false
25
+ (self.state != :not_created) or return false
26
26
 
27
27
  please_wait(:ui => @ui, :message => format_object_action(self, 'Destroy', :red)) do
28
28
  @provider.destroy
@@ -37,7 +37,7 @@ class TestLab
37
37
  def up
38
38
  @ui.logger.debug { "Node Up: #{self.id} " }
39
39
 
40
- (self.state == :running) and return false
40
+ (self.state != :running) or return false
41
41
 
42
42
  please_wait(:ui => @ui, :message => format_object_action(self, 'Up', :green)) do
43
43
  @provider.up
@@ -52,7 +52,7 @@ class TestLab
52
52
  def down
53
53
  @ui.logger.debug { "Node Down: #{self.id} " }
54
54
 
55
- (self.state != :running) and return false
55
+ (self.state == :running) or return false
56
56
 
57
57
  please_wait(:ui => @ui, :message => format_object_action(self, 'Down', :red)) do
58
58
  @provider.down
@@ -63,16 +63,19 @@ class TestLab
63
63
  # Online Vagrant-controlled VM
64
64
  def up
65
65
  self.vagrant_cli("up", self.instance_id)
66
+
66
67
  ZTK::TCPSocketCheck.new(:host => self.ip, :port => self.port, :wait => 120, :ui => @ui).wait
67
68
 
68
69
  true
69
70
  end
70
71
 
71
72
  # Halt Vagrant-controlled VM
72
- def down
73
+ def down(*args)
73
74
  !self.exists? and raise VagrantError, MSG_NO_LAB
74
75
 
75
- self.vagrant_cli("halt", self.instance_id)
76
+ arguments = (%W(halt #{self.instance_id}) + args).flatten.compact
77
+
78
+ self.vagrant_cli(*arguments)
76
79
 
77
80
  true
78
81
  end
@@ -1,9 +1,9 @@
1
1
  set -x
2
+ set -e
2
3
 
3
4
  dpkg --status bind9 &> /dev/null || <%= (@resolv[:object] == :container).inspect %>
4
5
 
5
- if [ $? -eq 0 ]; then
6
- cat << EOF | tee /etc/resolv.conf
6
+ cat <<EOF | tee /etc/resolv.conf
7
7
  <%= ZTK::Template.do_not_edit_notice(:message => "TestLab Resolv Provisioner") %>
8
8
  <% if !@resolv[:domain].nil? -%>
9
9
  domain <%= @resolv[:domain] %>
@@ -17,4 +17,3 @@ nameserver <%= server %>
17
17
  <% end -%>
18
18
  <% end -%>
19
19
  EOF
20
- fi
@@ -1,6 +1,6 @@
1
1
  class TestLab
2
2
  unless const_defined?(:VERSION)
3
3
  # TestLab Gem Version
4
- VERSION = "1.4.3"
4
+ VERSION = "1.4.4"
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testlab
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
4
+ version: 1.4.4
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Zachary Patten
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-08-08 00:00:00.000000000 Z
12
+ date: 2013-08-12 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: gli
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ! '>='
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ! '>='
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: lxc
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ! '>='
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ! '>='
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: ztk
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ! '>='
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ! '>='
53
60
  - !ruby/object:Gem::Version
@@ -55,6 +62,7 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: activesupport
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ! '>='
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ! '>='
67
76
  - !ruby/object:Gem::Version
@@ -69,6 +78,7 @@ dependencies:
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: bundler
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
83
  - - ! '>='
74
84
  - !ruby/object:Gem::Version
@@ -76,6 +86,7 @@ dependencies:
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
91
  - - ! '>='
81
92
  - !ruby/object:Gem::Version
@@ -83,6 +94,7 @@ dependencies:
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: pry
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
99
  - - ! '>='
88
100
  - !ruby/object:Gem::Version
@@ -90,6 +102,7 @@ dependencies:
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
107
  - - ! '>='
95
108
  - !ruby/object:Gem::Version
@@ -97,6 +110,7 @@ dependencies:
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: rake
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
115
  - - ! '>='
102
116
  - !ruby/object:Gem::Version
@@ -104,6 +118,7 @@ dependencies:
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
123
  - - ! '>='
109
124
  - !ruby/object:Gem::Version
@@ -111,6 +126,7 @@ dependencies:
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: redcarpet
113
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
114
130
  requirements:
115
131
  - - ! '>='
116
132
  - !ruby/object:Gem::Version
@@ -118,6 +134,7 @@ dependencies:
118
134
  type: :development
119
135
  prerelease: false
120
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
121
138
  requirements:
122
139
  - - ! '>='
123
140
  - !ruby/object:Gem::Version
@@ -125,6 +142,7 @@ dependencies:
125
142
  - !ruby/object:Gem::Dependency
126
143
  name: aruba
127
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
128
146
  requirements:
129
147
  - - ! '>='
130
148
  - !ruby/object:Gem::Version
@@ -132,6 +150,7 @@ dependencies:
132
150
  type: :development
133
151
  prerelease: false
134
152
  version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
135
154
  requirements:
136
155
  - - ! '>='
137
156
  - !ruby/object:Gem::Version
@@ -139,6 +158,7 @@ dependencies:
139
158
  - !ruby/object:Gem::Dependency
140
159
  name: rspec
141
160
  requirement: !ruby/object:Gem::Requirement
161
+ none: false
142
162
  requirements:
143
163
  - - ! '>='
144
164
  - !ruby/object:Gem::Version
@@ -146,6 +166,7 @@ dependencies:
146
166
  type: :development
147
167
  prerelease: false
148
168
  version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
149
170
  requirements:
150
171
  - - ! '>='
151
172
  - !ruby/object:Gem::Version
@@ -153,6 +174,7 @@ dependencies:
153
174
  - !ruby/object:Gem::Dependency
154
175
  name: yard
155
176
  requirement: !ruby/object:Gem::Requirement
177
+ none: false
156
178
  requirements:
157
179
  - - ! '>='
158
180
  - !ruby/object:Gem::Version
@@ -160,6 +182,7 @@ dependencies:
160
182
  type: :development
161
183
  prerelease: false
162
184
  version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
163
186
  requirements:
164
187
  - - ! '>='
165
188
  - !ruby/object:Gem::Version
@@ -167,6 +190,7 @@ dependencies:
167
190
  - !ruby/object:Gem::Dependency
168
191
  name: coveralls
169
192
  requirement: !ruby/object:Gem::Requirement
193
+ none: false
170
194
  requirements:
171
195
  - - ! '>='
172
196
  - !ruby/object:Gem::Version
@@ -174,6 +198,7 @@ dependencies:
174
198
  type: :development
175
199
  prerelease: false
176
200
  version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
177
202
  requirements:
178
203
  - - ! '>='
179
204
  - !ruby/object:Gem::Version
@@ -303,26 +328,27 @@ files:
303
328
  homepage: http://hackers.lookout.com/testlab/
304
329
  licenses:
305
330
  - Apache 2.0
306
- metadata: {}
307
331
  post_install_message:
308
332
  rdoc_options: []
309
333
  require_paths:
310
334
  - lib
311
335
  required_ruby_version: !ruby/object:Gem::Requirement
336
+ none: false
312
337
  requirements:
313
338
  - - ! '>='
314
339
  - !ruby/object:Gem::Version
315
340
  version: '0'
316
341
  required_rubygems_version: !ruby/object:Gem::Requirement
342
+ none: false
317
343
  requirements:
318
344
  - - ! '>='
319
345
  - !ruby/object:Gem::Version
320
346
  version: '0'
321
347
  requirements: []
322
348
  rubyforge_project:
323
- rubygems_version: 2.0.6
349
+ rubygems_version: 1.8.25
324
350
  signing_key:
325
- specification_version: 4
351
+ specification_version: 3
326
352
  summary: A toolkit for building virtual computer labs
327
353
  test_files:
328
354
  - features/step_definitions/container_steps.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NzQyNWVlODk4ZmQwZGRlYzM1YTRiM2VhOGE0MTllZTZiOWVmODUyMg==
5
- data.tar.gz: !binary |-
6
- YzhhMTgyMGRmYzIxODRkYzgyYzRkM2E3NjRjYmQ4YzRlMGE3NzFmYQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- MWY3NmU2NGQ1OTUzYzM3NTQxODk1MmMyYWIzNDRhYzQyNzE0MGJjNDA4MWZj
10
- NGJiZTdhNDgxOWFjMTFmZDVlNzAyYTg3N2RkNjM4YTMxZmIyMDlmMDQ3Nzk2
11
- MDNkN2ZlZGFkMjE0ZDhkNzM2ZjhjNjdmYzUxNGM0OTAzOTljYWY=
12
- data.tar.gz: !binary |-
13
- Y2MyMTY5ZjQ5NzE4OTQ3ODJlYzEwNjExYzBiZGU4YjM1OWJkZWE1MTc5MmFi
14
- ODM2YTdjY2I2Mjc0ZGI5ODdjZDA0YThjNzZhNjBlYjgzNjE0ZTU4YTM3OTIz
15
- MmY5MmJiZGMzNTU3MWE5NTgzMGNhZTgwNDQyNTU0YzgyMTU5NDA=