esx 0.4.3 → 0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 748b08c1052f4581aa4783034d43c715c9f8caad
4
+ data.tar.gz: a222577824994d451e8bb1816e0e4f6fd163f286
5
+ SHA512:
6
+ metadata.gz: 0cab24d67f125361798d46eb0adfdaea2ba301726c12c2df7d4fbc01dd84d578e1e10982cfc5d5876f1ce2f1f6f10715e65d902676473390481a5370553d6009
7
+ data.tar.gz: 43dc7c84da4ee003fb3a74176763ae5425b8559a5a5c8eb7d4dae9d414142e564afda1b3e4b200b2e1d417e558bcbcb9ba11b92909503126e9d92341190f4657
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011 Sergio Rubio
1
+ Copyright (c) 2011 Sergio Rubio, Massimo Maino
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ESX
2
2
 
3
- Simple rbvmomi wrapper to manage VMWare ESX hosts.
3
+ Simple rbvmomi wrapper to manage VMWare ESX hosts.
4
4
 
5
5
  The goal of the library is to keep things simple so vCenter support isn't planned.
6
6
 
@@ -9,7 +9,7 @@ If you want a full VMWare vSphere API ruby implementation have a look at https:/
9
9
  # Installation
10
10
 
11
11
  ## Ubuntu/Debian
12
-
12
+
13
13
  apt-get install libxml2-dev libxslt-dev gcc make rubygems
14
14
  gem install esx
15
15
 
@@ -42,7 +42,7 @@ Sample output:
42
42
  Power State: poweredOn
43
43
  Hosted VMs: 2
44
44
  Running VMs: 1
45
-
45
+
46
46
  Virtual Machines:
47
47
  +-------------------------+--------+------+------+-------+------------+
48
48
  | NAME | MEMORY | CPUS | NICS | DISKS | STATE |
@@ -50,7 +50,7 @@ Sample output:
50
50
  | foobar | 128 | 1 | 1 | 1 | poweredOn |
51
51
  | foobar2 | 256 | 2 | 1 | 1 | poweredOff |
52
52
  +-------------------------+--------+------+------+-------+------------+
53
-
53
+
54
54
  Datastores:
55
55
  +------------+--------------+--------------+-----------+------+---------------------------------------------------+
56
56
  | NAME | CAPACITY | FREESPACE | ACCESIBLE | TYPE | URL |
@@ -59,17 +59,17 @@ Sample output:
59
59
  | datastore1 | 141465485312 | 20716716032 | VMFS | true | /vmfs/volumes/4e6117e7-35c82a3e-ba79-5cf3fc9699c2 |
60
60
  +------------+--------------+--------------+-----------+------+---------------------------------------------------+
61
61
 
62
- __esx create-vm --user root --password foo --name esx-rubiojr --disk-file /path/to/file.vmdk --datastore datastore1 --memory 2048 --poweron 10.10.0.2__
62
+ __esx create-vm --user root --password foo --name esx-maintux --disk-file /path/to/file.vmdk --datastore datastore1 --memory 2048 --poweron 10.10.0.2__
63
63
 
64
64
  # Using the library
65
65
 
66
66
  require 'rubygems'
67
67
  require 'lib/esx.rb'
68
-
69
-
68
+
69
+
70
70
  # Connect to the ESX Host
71
71
  host = ESX::Host.connect 'my-esx-host', 'root', 'secret'
72
-
72
+
73
73
  # Print hypervisor info
74
74
  puts
75
75
  name = host.name.upcase
@@ -80,27 +80,27 @@ __esx create-vm --user root --password foo --name esx-rubiojr --disk-file /path/
80
80
  puts "Memory Usage: %s" % host.memory_usage.bytes.to.megabytes.to_i
81
81
  puts "Cpu Cores: %s" % host.cpu_cores
82
82
  puts "Power State: %s" % host.power_state
83
-
83
+
84
84
  # Create a VM with 4GB disk, 128 MB mem, e1000 nic, 1CPU in datastore1
85
85
  vm = host.create_vm :vm_name => 'foobar'
86
-
86
+
87
87
  # Create a VM with 5GB disk, 256 MB mem, e1000 nic, 1CPU in datastore2
88
88
  vm = host.create_vm :vm_name => 'foobar2', :disk_size => 5000, :cpus => 2, :memory => 256, :datastore => 'datastore2'
89
-
90
-
89
+
90
+
91
91
  host.virtual_machines.each do |vm|
92
-
92
+
93
93
  # PowerOff the VM if powered On
94
94
  vm.power_off if (vm.name =~ /foobar/ and vm.power_state == 'poweredOn')
95
-
95
+
96
96
  # Destroy the VM if name matches foobar
97
97
  if vm.name =~ /foobar.*/
98
98
  vm.destroy
99
99
  end
100
-
100
+
101
101
  end
102
102
 
103
- # Testing
103
+ # Testing
104
104
 
105
105
  Run 'bundler install' to install required deps.
106
106
 
@@ -108,5 +108,5 @@ Run rspec from the base dir. By default, the tests try to connect to an ESX host
108
108
 
109
109
  # Copyright
110
110
 
111
- Copyright (c) 2011 Sergio Rubio. See LICENSE.txt for
111
+ Copyright (c) 2011 Sergio Rubio, Massimo Maino. See LICENSE.txt for
112
112
  further details.
data/Rakefile CHANGED
@@ -7,11 +7,11 @@ Jeweler::Tasks.new do |gem|
7
7
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
8
8
  gem.version = ESX::VERSION
9
9
  gem.name = "esx"
10
- gem.homepage = "http://github.com/rubiojr/esx"
10
+ gem.homepage = "http://github.com/maintux/esx"
11
11
  gem.license = "MIT"
12
12
  gem.summary = %Q{Simple RbVmomi wrapper library to manage VMWare ESX hosts}
13
13
  gem.description = %Q{Manage VMWare ESX hosts with ease}
14
- gem.email = "rubiojr@frameos.org"
14
+ gem.email = "maintux@gmail.com"
15
15
  gem.authors = ["Sergio Rubio","Massimo Maino"]
16
16
  # Include your dependencies below. Runtime dependencies are required when using your gem,
17
17
  # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
@@ -5,13 +5,13 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "esx"
8
- s.version = "0.4.3"
8
+ s.version = "0.4.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Sergio Rubio", "Massimo Maino"]
12
12
  s.date = "2013-03-29"
13
13
  s.description = "Manage VMWare ESX hosts with ease"
14
- s.email = "rubiojr@frameos.org"
14
+ s.email = "maintux@gmail.com"
15
15
  s.executables = ["esx"]
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE.txt",
@@ -35,7 +35,7 @@ Gem::Specification.new do |s|
35
35
  "spec/unit/vm_spec.rb",
36
36
  "templates/vmx_template.erb"
37
37
  ]
38
- s.homepage = "http://github.com/rubiojr/esx"
38
+ s.homepage = "http://github.com/maintux/esx"
39
39
  s.licenses = ["MIT"]
40
40
  s.require_paths = ["lib"]
41
41
  s.rubygems_version = "1.8.25"
data/lib/esx.rb CHANGED
@@ -125,6 +125,7 @@ module ESX
125
125
  def create_vm(specification)
126
126
  spec = specification
127
127
  spec[:cpus] = (specification[:cpus] || 1).to_i
128
+ spec[:cpu_cores] = (specification[:cpu_cores] || 1).to_i
128
129
  spec[:guest_id] = specification[:guest_id] || 'otherGuest'
129
130
  if specification[:disk_size]
130
131
  spec[:disk_size] = (specification[:disk_size].to_i * 1024)
@@ -142,6 +143,7 @@ module ESX
142
143
  :guestId => spec[:guest_id],
143
144
  :files => { :vmPathName => spec[:datastore] },
144
145
  :numCPUs => spec[:cpus],
146
+ :numCoresPerSocket => spec[:cpu_cores],
145
147
  :memoryMB => spec[:memory],
146
148
  :deviceChange => [
147
149
  {
@@ -4,6 +4,7 @@ virtualHW.version = "7"
4
4
  vmci0.present = "true"
5
5
  displayName = "<%= spec[:vm_name] %>"
6
6
  numvcpus = "<%= spec[:cpus] %>"
7
+ cpuid.coresPerSocket = "<%= spec[:cpu_cores] %>"
7
8
  memsize = "<%= spec[:memory] %>"
8
9
  scsi0.present = "true"
9
10
  scsi0.sharedBus = "none"
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: esx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
5
- prerelease:
4
+ version: 0.4.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Sergio Rubio
@@ -15,229 +14,201 @@ dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: net-ssh
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ! '>='
18
+ - - '>='
21
19
  - !ruby/object:Gem::Version
22
20
  version: '0'
23
21
  type: :development
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ! '>='
25
+ - - '>='
29
26
  - !ruby/object:Gem::Version
30
27
  version: '0'
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: net-scp
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ! '>='
32
+ - - '>='
37
33
  - !ruby/object:Gem::Version
38
34
  version: '0'
39
35
  type: :development
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ! '>='
39
+ - - '>='
45
40
  - !ruby/object:Gem::Version
46
41
  version: '0'
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: rbvmomi
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ! '>='
46
+ - - '>='
53
47
  - !ruby/object:Gem::Version
54
48
  version: '0'
55
49
  type: :development
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
- - - ! '>='
53
+ - - '>='
61
54
  - !ruby/object:Gem::Version
62
55
  version: '0'
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: alchemist
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ! '>='
60
+ - - '>='
69
61
  - !ruby/object:Gem::Version
70
62
  version: '0'
71
63
  type: :development
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
- - - ! '>='
67
+ - - '>='
77
68
  - !ruby/object:Gem::Version
78
69
  version: '0'
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: rspec
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
- - - ! '>='
74
+ - - '>='
85
75
  - !ruby/object:Gem::Version
86
76
  version: '0'
87
77
  type: :development
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
- - - ! '>='
81
+ - - '>='
93
82
  - !ruby/object:Gem::Version
94
83
  version: '0'
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: bundler
97
86
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
87
  requirements:
100
- - - ! '>'
88
+ - - '>'
101
89
  - !ruby/object:Gem::Version
102
90
  version: 1.0.0
103
91
  type: :development
104
92
  prerelease: false
105
93
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
94
  requirements:
108
- - - ! '>'
95
+ - - '>'
109
96
  - !ruby/object:Gem::Version
110
97
  version: 1.0.0
111
98
  - !ruby/object:Gem::Dependency
112
99
  name: jeweler
113
100
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
101
  requirements:
116
- - - ! '>='
102
+ - - '>='
117
103
  - !ruby/object:Gem::Version
118
104
  version: '0'
119
105
  type: :development
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
108
  requirements:
124
- - - ! '>='
109
+ - - '>='
125
110
  - !ruby/object:Gem::Version
126
111
  version: '0'
127
112
  - !ruby/object:Gem::Dependency
128
113
  name: simplecov
129
114
  requirement: !ruby/object:Gem::Requirement
130
- none: false
131
115
  requirements:
132
- - - ! '>='
116
+ - - '>='
133
117
  - !ruby/object:Gem::Version
134
118
  version: '0'
135
119
  type: :development
136
120
  prerelease: false
137
121
  version_requirements: !ruby/object:Gem::Requirement
138
- none: false
139
122
  requirements:
140
- - - ! '>='
123
+ - - '>='
141
124
  - !ruby/object:Gem::Version
142
125
  version: '0'
143
126
  - !ruby/object:Gem::Dependency
144
127
  name: alchemist
145
128
  requirement: !ruby/object:Gem::Requirement
146
- none: false
147
129
  requirements:
148
- - - ! '>='
130
+ - - '>='
149
131
  - !ruby/object:Gem::Version
150
132
  version: '0'
151
133
  type: :runtime
152
134
  prerelease: false
153
135
  version_requirements: !ruby/object:Gem::Requirement
154
- none: false
155
136
  requirements:
156
- - - ! '>='
137
+ - - '>='
157
138
  - !ruby/object:Gem::Version
158
139
  version: '0'
159
140
  - !ruby/object:Gem::Dependency
160
141
  name: rbvmomi
161
142
  requirement: !ruby/object:Gem::Requirement
162
- none: false
163
143
  requirements:
164
- - - ! '>='
144
+ - - '>='
165
145
  - !ruby/object:Gem::Version
166
146
  version: '0'
167
147
  type: :runtime
168
148
  prerelease: false
169
149
  version_requirements: !ruby/object:Gem::Requirement
170
- none: false
171
150
  requirements:
172
- - - ! '>='
151
+ - - '>='
173
152
  - !ruby/object:Gem::Version
174
153
  version: '0'
175
154
  - !ruby/object:Gem::Dependency
176
155
  name: terminal-table
177
156
  requirement: !ruby/object:Gem::Requirement
178
- none: false
179
157
  requirements:
180
- - - ! '>='
158
+ - - '>='
181
159
  - !ruby/object:Gem::Version
182
160
  version: '0'
183
161
  type: :runtime
184
162
  prerelease: false
185
163
  version_requirements: !ruby/object:Gem::Requirement
186
- none: false
187
164
  requirements:
188
- - - ! '>='
165
+ - - '>='
189
166
  - !ruby/object:Gem::Version
190
167
  version: '0'
191
168
  - !ruby/object:Gem::Dependency
192
169
  name: net-ssh
193
170
  requirement: !ruby/object:Gem::Requirement
194
- none: false
195
171
  requirements:
196
- - - ! '>='
172
+ - - '>='
197
173
  - !ruby/object:Gem::Version
198
174
  version: '0'
199
175
  type: :runtime
200
176
  prerelease: false
201
177
  version_requirements: !ruby/object:Gem::Requirement
202
- none: false
203
178
  requirements:
204
- - - ! '>='
179
+ - - '>='
205
180
  - !ruby/object:Gem::Version
206
181
  version: '0'
207
182
  - !ruby/object:Gem::Dependency
208
183
  name: net-scp
209
184
  requirement: !ruby/object:Gem::Requirement
210
- none: false
211
185
  requirements:
212
- - - ! '>='
186
+ - - '>='
213
187
  - !ruby/object:Gem::Version
214
188
  version: '0'
215
189
  type: :runtime
216
190
  prerelease: false
217
191
  version_requirements: !ruby/object:Gem::Requirement
218
- none: false
219
192
  requirements:
220
- - - ! '>='
193
+ - - '>='
221
194
  - !ruby/object:Gem::Version
222
195
  version: '0'
223
196
  - !ruby/object:Gem::Dependency
224
197
  name: clamp
225
198
  requirement: !ruby/object:Gem::Requirement
226
- none: false
227
199
  requirements:
228
- - - ! '>='
200
+ - - '>='
229
201
  - !ruby/object:Gem::Version
230
202
  version: '0'
231
203
  type: :runtime
232
204
  prerelease: false
233
205
  version_requirements: !ruby/object:Gem::Requirement
234
- none: false
235
206
  requirements:
236
- - - ! '>='
207
+ - - '>='
237
208
  - !ruby/object:Gem::Version
238
209
  version: '0'
239
210
  description: Manage VMWare ESX hosts with ease
240
- email: rubiojr@frameos.org
211
+ email: maintux@gmail.com
241
212
  executables:
242
213
  - esx
243
214
  extensions: []
@@ -261,29 +232,29 @@ files:
261
232
  - spec/unit/host_spec.rb
262
233
  - spec/unit/vm_spec.rb
263
234
  - templates/vmx_template.erb
264
- homepage: http://github.com/rubiojr/esx
235
+ homepage: http://github.com/maintux/esx
265
236
  licenses:
266
237
  - MIT
238
+ metadata: {}
267
239
  post_install_message:
268
240
  rdoc_options: []
269
241
  require_paths:
270
242
  - lib
271
243
  required_ruby_version: !ruby/object:Gem::Requirement
272
- none: false
273
244
  requirements:
274
- - - ! '>='
245
+ - - '>='
275
246
  - !ruby/object:Gem::Version
276
247
  version: '0'
277
248
  required_rubygems_version: !ruby/object:Gem::Requirement
278
- none: false
279
249
  requirements:
280
- - - ! '>='
250
+ - - '>='
281
251
  - !ruby/object:Gem::Version
282
252
  version: '0'
283
253
  requirements: []
284
254
  rubyforge_project:
285
- rubygems_version: 1.8.25
255
+ rubygems_version: 2.1.5
286
256
  signing_key:
287
257
  specification_version: 3
288
258
  summary: Simple RbVmomi wrapper library to manage VMWare ESX hosts
289
259
  test_files: []
260
+ has_rdoc: