lab 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/lab.gemspec +9 -5
  2. data/lib/lab/version.rb +1 -1
  3. data/lib/lab/vm.rb +31 -5
  4. metadata +23 -12
data/lab.gemspec CHANGED
@@ -19,19 +19,23 @@ Gem::Specification.new do |s|
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
20
  s.require_paths = ["lib"]
21
21
 
22
- # specify any dependencies here; for example:
23
- # s.add_development_dependency "rspec"
22
+ ##
23
+ ## Dependencies
24
+ ##
24
25
 
25
- # ??
26
+ # necessary??
26
27
  s.add_runtime_dependency "nokogiri"
27
28
 
28
- # Multiple things - fallback execute / copy
29
+ # Fallback execute / copy in the drivers
29
30
  s.add_runtime_dependency "net-ssh"
30
31
  s.add_runtime_dependency "net-scp"
31
32
 
32
- # Vmware vsphere driver
33
+ # Powers the vsphere driver
33
34
  s.add_runtime_dependency "rbvmomi"
34
35
 
36
+ # Powers the fog driver
37
+ s.add_runtime_dependency "fog"
38
+
35
39
  # util/console.rb
36
40
  s.add_runtime_dependency "pry"
37
41
 
data/lib/lab/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lab
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.4"
3
3
  end
data/lib/lab/vm.rb CHANGED
@@ -17,7 +17,8 @@ class Vm
17
17
  attr_accessor :type
18
18
  attr_accessor :os
19
19
  attr_accessor :arch
20
- attr_accessor :tags
20
+ attr_accessor :machine_tags
21
+ attr_accessor :snapshots
21
22
 
22
23
  ## Initialize takes a vm configuration hash of the form
23
24
  ## - vmid (unique id)
@@ -34,7 +35,9 @@ class Vm
34
35
  ## os (currently linux / windows / solaris / aix) - may be used in modifiers
35
36
  ## arch (currently 32 / 64)
36
37
  ## modifiers - can be anything in the modifiers directory
37
- ## tags - list of strings associated with this vm
38
+ ## machine_tags - list of strings associated with the machine (not individual snapshots)
39
+ ## snapshots - list of snapshots
40
+
38
41
 
39
42
  def initialize(config = {})
40
43
 
@@ -119,10 +122,33 @@ class Vm
119
122
  end
120
123
 
121
124
  #
122
- # Grab a tags array
125
+ # Grab a list of snapshots & tags associated with this machine
123
126
  #
124
- @tags = config['tags']
125
-
127
+ # machine_tags:
128
+ # - ie6
129
+ # - ie7
130
+ # - ie8
131
+ # - firefox
132
+ # snapshots:
133
+ # - ie6:
134
+ # - snapshot_tags:
135
+ # - ie6
136
+ # - ie7:
137
+ # - snapshot_tags:
138
+ # - ie7
139
+ # - ie8:
140
+ # - snapshot_tags:
141
+ # - ie8
142
+ # - bap:
143
+ # - snapshot_tags:
144
+ # - flash_10.2.153.1
145
+ # - reader_9.3.3
146
+ # - java_6u23
147
+ # - quicktime_player_7.6.9
148
+ #
149
+ @machine_tags = config['machine_tags']
150
+ @snapshots = config['snapshots']
151
+
126
152
  end
127
153
 
128
154
  def running?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lab
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-03 00:00:00.000000000 Z
12
+ date: 2012-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &16389100 !ruby/object:Gem::Requirement
16
+ requirement: &8360540 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *16389100
24
+ version_requirements: *8360540
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: net-ssh
27
- requirement: &16388080 !ruby/object:Gem::Requirement
27
+ requirement: &8359060 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *16388080
35
+ version_requirements: *8359060
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: net-scp
38
- requirement: &16372100 !ruby/object:Gem::Requirement
38
+ requirement: &8343320 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *16372100
46
+ version_requirements: *8343320
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rbvmomi
49
- requirement: &16371000 !ruby/object:Gem::Requirement
49
+ requirement: &8342360 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,21 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *16371000
57
+ version_requirements: *8342360
58
+ - !ruby/object:Gem::Dependency
59
+ name: fog
60
+ requirement: &8341660 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *8341660
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: pry
60
- requirement: &16370260 !ruby/object:Gem::Requirement
71
+ requirement: &8341040 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ! '>='
@@ -65,7 +76,7 @@ dependencies:
65
76
  version: '0'
66
77
  type: :runtime
67
78
  prerelease: false
68
- version_requirements: *16370260
79
+ version_requirements: *8341040
69
80
  description: ! 'Start/Stop/Revert and do other cool stuff w/ Vmware, Virtualbox, and
70
81
  ESXi vms. This gem wraps common CLI utilities and other gems to create a common
71
82
  inteface for vms. '