chef-provisioning-oneview 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +43 -3
  3. data/lib/chef/provisioning/create_machine.rb +52 -0
  4. data/lib/chef/provisioning/customize_machine.rb +78 -0
  5. data/lib/chef/provisioning/icsp/api_v104.rb +27 -0
  6. data/lib/chef/provisioning/icsp/icsp_api.rb +282 -0
  7. data/lib/chef/provisioning/oneview/oneview_api.rb +56 -357
  8. data/lib/chef/provisioning/oneview/san_storage.rb +91 -0
  9. data/lib/chef/provisioning/oneview/v1.2/api.rb +3 -0
  10. data/lib/chef/provisioning/oneview_driver.rb +42 -5
  11. data/lib/chef/provisioning/rest.rb +51 -0
  12. data/lib/chef/provisioning/{oneview/version.rb → version.rb} +1 -1
  13. data/spec/shared_context.rb +77 -0
  14. data/spec/spec_helper.rb +8 -6
  15. data/spec/{unit/support → support}/fake_action_handler.rb +0 -0
  16. data/spec/support/fake_icsp.rb +73 -21
  17. data/spec/support/fake_machine_spec.rb +18 -0
  18. data/spec/support/fake_oneview.rb +148 -21
  19. data/spec/support/fixtures/icsp/v102/error_404.json +13 -13
  20. data/spec/support/fixtures/icsp/v102/login.json +4 -4
  21. data/spec/support/fixtures/icsp/v102/os-deployment-build-plans.json +99 -99
  22. data/spec/support/fixtures/icsp/v102/{os-deployment-servers_managed.json → os-deployment-servers.json} +178 -178
  23. data/spec/support/fixtures/icsp/v102/os-deployment-servers_1670001.json +83 -0
  24. data/spec/support/fixtures/icsp/v102/os-deployment-servers_fakesn.json +9 -0
  25. data/spec/support/fixtures/icsp/v102/{server_by_sn.json → server_by_sn_VCGE9KB041.json} +44 -44
  26. data/spec/support/fixtures/icsp/v102/server_by_sn_empty.json +16 -0
  27. data/spec/support/fixtures/icsp/v102/version.json +3 -3
  28. data/spec/support/fixtures/oneview/v120/error_404.json +13 -13
  29. data/spec/support/fixtures/oneview/v120/login.json +4 -4
  30. data/spec/support/fixtures/oneview/v120/server-hardware.json +1475 -1475
  31. data/spec/support/fixtures/oneview/v120/server-hardware_Template-WebServer.json +468 -0
  32. data/spec/support/fixtures/oneview/v120/server-hardware_specific.json +151 -0
  33. data/spec/support/fixtures/oneview/v120/server-profiles.json +368 -746
  34. data/spec/support/fixtures/oneview/v120/server-profiles_invalid_filter.json +14 -0
  35. data/spec/support/fixtures/oneview/v120/{server-profiles_specific.json → server-profiles_name_Template-WebServer.json} +132 -132
  36. data/spec/support/fixtures/oneview/v120/server-profiles_name_Template-WebServerWithSAN.json +200 -0
  37. data/spec/support/fixtures/oneview/v120/server-profiles_name_chef-web01.json +133 -0
  38. data/spec/support/fixtures/oneview/v120/server-profiles_name_chef-web03.json +133 -0
  39. data/spec/support/fixtures/oneview/v120/server-profiles_name_empty.json +15 -0
  40. data/spec/support/fixtures/oneview/v120/server-profiles_sn_VCGE9KB041.json +133 -0
  41. data/spec/support/fixtures/oneview/v120/server-profiles_sn_VCGE9KB042.json +206 -0
  42. data/spec/support/fixtures/oneview/v120/server-profiles_sn_empty.json +15 -0
  43. data/spec/support/fixtures/oneview/v120/storage-volumes_1B5D3CA2-6C5B-41C2-8B97-1821F1883F22.json +26 -0
  44. data/spec/support/fixtures/oneview/v120/tasks_fake_active.json +5 -0
  45. data/spec/support/fixtures/oneview/v120/tasks_fake_complete.json +5 -0
  46. data/spec/support/fixtures/oneview/v120/version.json +3 -3
  47. data/spec/support/fixtures/oneview/v200/server-profile-templates_WebServerTemplate.json +109 -0
  48. data/spec/support/fixtures/oneview/v200/server-profile-templates_WebServerTemplateWithSAN.json +144 -0
  49. data/spec/support/fixtures/oneview/v200/server-profile-templates_invalid.json +16 -0
  50. data/spec/support/fixtures/oneview/v200/server-profile-templates_new-profile_WebServerTemplate.json +125 -0
  51. data/spec/support/fixtures/oneview/v200/server-profile-templates_new-profile_WebServerTemplateWithSAN.json +178 -0
  52. data/spec/support/fixtures/oneview/v200/version.json +4 -0
  53. data/spec/unit/create_machine_spec.rb +78 -0
  54. data/spec/unit/destroy_spec.rb +26 -0
  55. data/spec/unit/icsp_nic_teams_spec.rb +38 -0
  56. data/spec/unit/icsp_search_spec.rb +25 -0
  57. data/spec/unit/oneview_driver_spec.rb +37 -64
  58. data/spec/unit/oneview_login_spec.rb +23 -0
  59. data/spec/unit/oneview_power_spec.rb +51 -0
  60. data/spec/unit/oneview_san_spec.rb +86 -0
  61. data/spec/unit/oneview_search_spec.rb +63 -0
  62. data/spec/unit/rest_api_spec.rb +115 -0
  63. metadata +90 -9
  64. data/lib/chef/provisioning/oneview/v1.20/api.rb +0 -3
@@ -0,0 +1,468 @@
1
+ {
2
+ "type": "server-hardware-list-3",
3
+ "category": "server-hardware",
4
+ "count": 3,
5
+ "created": "2015-08-10T22:30:02.367Z",
6
+ "eTag": "1439245802367",
7
+ "members": [
8
+ {
9
+ "type": "server-hardware-3",
10
+ "name": "dazzle, bay 2",
11
+ "state": "NoProfileApplied",
12
+ "stateReason": "NotApplicable",
13
+ "assetTag": "\n ",
14
+ "category": "server-hardware",
15
+ "created": "2015-07-02T16:24:23.447Z",
16
+ "description": null,
17
+ "eTag": "1439180722361",
18
+ "formFactor": "HalfHeight",
19
+ "licensingIntent": "OneViewNoiLO",
20
+ "locationUri": "/rest/enclosures/09SGH236PMVW",
21
+ "memoryMb": 16384,
22
+ "model": "ProLiant BL460c Gen8",
23
+ "modified": "2015-08-10T04:25:22.361Z",
24
+ "mpDnsName": "ILOMAQ96601Z4",
25
+ "mpFirmwareVersion": "2.10 Jan 15 2015",
26
+ "mpIpAddress": "172.125.24.230",
27
+ "mpModel": "iLO4",
28
+ "partNumber": "666161-B21",
29
+ "portMap": {
30
+ "deviceSlots": [
31
+ {
32
+ "deviceName": "HP FlexFabric 10Gb 2-port 554FLB Adapter",
33
+ "location": "Flb",
34
+ "oaSlotNumber": 9,
35
+ "physicalPorts": [
36
+ {
37
+ "interconnectPort": 2,
38
+ "interconnectUri": "/rest/interconnects/34501559-719f-4393-9fb1-a43714037f06",
39
+ "mac": "11:11:11:11:31:28",
40
+ "portNumber": 1,
41
+ "type": "Ethernet",
42
+ "virtualPorts": [
43
+ {
44
+ "mac": "11:11:11:11:01:14",
45
+ "portFunction": "a",
46
+ "portNumber": 1,
47
+ "wwnn": null,
48
+ "wwpn": null
49
+ },
50
+ {
51
+ "mac": "11:11:11:11:31:29",
52
+ "portFunction": "b",
53
+ "portNumber": 2,
54
+ "wwnn": "11:11:11:11:11:11:11:11",
55
+ "wwpn": "11:11:11:11:11:11:11:11"
56
+ },
57
+ {
58
+ "mac": "11:11:11:11:31:2A",
59
+ "portFunction": "c",
60
+ "portNumber": 3,
61
+ "wwnn": null,
62
+ "wwpn": null
63
+ },
64
+ {
65
+ "mac": "11:11:11:11:31:2B",
66
+ "portFunction": "d",
67
+ "portNumber": 4,
68
+ "wwnn": null,
69
+ "wwpn": null
70
+ }
71
+ ],
72
+ "wwn": null
73
+ },
74
+ {
75
+ "interconnectPort": 2,
76
+ "interconnectUri": "/rest/interconnects/d6c76eb3-10e6-43bf-95a6-ec824dc7bb2e",
77
+ "mac": "11:11:11:11:31:2C",
78
+ "portNumber": 2,
79
+ "type": "Ethernet",
80
+ "virtualPorts": [
81
+ {
82
+ "mac": "11:11:11:11:01:15",
83
+ "portFunction": "a",
84
+ "portNumber": 1,
85
+ "wwnn": null,
86
+ "wwpn": null
87
+ },
88
+ {
89
+ "mac": "11:11:11:11:31:2D",
90
+ "portFunction": "b",
91
+ "portNumber": 2,
92
+ "wwnn": "11:11:11:11:11:11:11:11",
93
+ "wwpn": "11:11:11:11:11:11:11:11"
94
+ },
95
+ {
96
+ "mac": "11:11:11:11:31:2E",
97
+ "portFunction": "c",
98
+ "portNumber": 3,
99
+ "wwnn": null,
100
+ "wwpn": null
101
+ },
102
+ {
103
+ "mac": "11:11:11:11:31:2F",
104
+ "portFunction": "d",
105
+ "portNumber": 4,
106
+ "wwnn": null,
107
+ "wwpn": null
108
+ }
109
+ ],
110
+ "wwn": null
111
+ }
112
+ ],
113
+ "slotNumber": 1
114
+ },
115
+ {
116
+ "deviceName": "",
117
+ "location": "Mezz",
118
+ "oaSlotNumber": 1,
119
+ "physicalPorts": [
120
+
121
+ ],
122
+ "slotNumber": 1
123
+ },
124
+ {
125
+ "deviceName": "",
126
+ "location": "Mezz",
127
+ "oaSlotNumber": 2,
128
+ "physicalPorts": [
129
+
130
+ ],
131
+ "slotNumber": 2
132
+ }
133
+ ]
134
+ },
135
+ "position": 2,
136
+ "powerLock": false,
137
+ "powerState": "On",
138
+ "processorCoreCount": 6,
139
+ "processorCount": 1,
140
+ "processorSpeedMhz": 2000,
141
+ "processorType": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
142
+ "refreshState": "NotRefreshing",
143
+ "romVersion": "I31 11/02/2014",
144
+ "serialNumber": "MAQ96601Z4",
145
+ "serverGroupUri": "/rest/enclosure-groups/3a11ccdd-b352-4046-a568-a8b0faa6cc39",
146
+ "serverHardwareTypeUri": "/rest/server-hardware-types/2947DC35-BE48-4075-A3FD-254A9B42F5BD",
147
+ "serverProfileUri": "/rest/server-profiles/1c5e807d-acbe-4ee8-868b-2fb0b6504474",
148
+ "shortModel": "BL460c Gen8",
149
+ "signature": {
150
+ "personalityChecksum": 2015957748,
151
+ "serverHwChecksum": 508556751
152
+ },
153
+ "status": "OK",
154
+ "uri": "/rest/server-hardware/31363636-3136-584D-5132-333230314D38",
155
+ "uuid": "31363636-3136-584D-5132-333230314D38",
156
+ "virtualSerialNumber": "VCGE9KB041",
157
+ "virtualUuid": "1c5e807d-acbe-4ee8-868b-2fb0b6504474"
158
+ },
159
+ {
160
+ "type": "server-hardware-3",
161
+ "name": "dazzle, bay 3",
162
+ "state": "ProfileApplied",
163
+ "stateReason": "NotApplicable",
164
+ "assetTag": "\n ",
165
+ "category": "server-hardware",
166
+ "created": "2015-07-02T16:24:22.821Z",
167
+ "description": null,
168
+ "eTag": "1439180735274",
169
+ "formFactor": "HalfHeight",
170
+ "licensingIntent": "OneViewNoiLO",
171
+ "locationUri": "/rest/enclosures/09SGH236PMVW",
172
+ "memoryMb": 16384,
173
+ "model": "ProLiant BL460c Gen8",
174
+ "modified": "2015-08-10T04:25:35.274Z",
175
+ "mpDnsName": "ILOMXQ73281MX",
176
+ "mpFirmwareVersion": "2.10 Jan 15 2015",
177
+ "mpIpAddress": "172.125.24.225",
178
+ "mpModel": "iLO4",
179
+ "partNumber": "666161-B21",
180
+ "portMap": {
181
+ "deviceSlots": [
182
+ {
183
+ "deviceName": "HP FlexFabric 10Gb 2-port 554FLB Adapter",
184
+ "location": "Flb",
185
+ "oaSlotNumber": 9,
186
+ "physicalPorts": [
187
+ {
188
+ "interconnectPort": 3,
189
+ "interconnectUri": "/rest/interconnects/34501559-719f-4393-9fb1-a43714037f06",
190
+ "mac": "11:11:11:11:DE:08",
191
+ "portNumber": 1,
192
+ "type": "Ethernet",
193
+ "virtualPorts": [
194
+ {
195
+ "mac": "11:11:11:11:01:16",
196
+ "portFunction": "a",
197
+ "portNumber": 1,
198
+ "wwnn": null,
199
+ "wwpn": null
200
+ },
201
+ {
202
+ "mac": "11:11:11:11:DE:09",
203
+ "portFunction": "b",
204
+ "portNumber": 2,
205
+ "wwnn": "11:11:11:11:11:11:11:11",
206
+ "wwpn": "11:11:11:11:11:11:11:11"
207
+ },
208
+ {
209
+ "mac": "11:11:11:11:DE:0A",
210
+ "portFunction": "c",
211
+ "portNumber": 3,
212
+ "wwnn": null,
213
+ "wwpn": null
214
+ },
215
+ {
216
+ "mac": "11:11:11:11:DE:0B",
217
+ "portFunction": "d",
218
+ "portNumber": 4,
219
+ "wwnn": null,
220
+ "wwpn": null
221
+ }
222
+ ],
223
+ "wwn": null
224
+ },
225
+ {
226
+ "interconnectPort": 3,
227
+ "interconnectUri": "/rest/interconnects/d6c76eb3-10e6-43bf-95a6-ec824dc7bb2e",
228
+ "mac": "11:11:11:11:DE:0C",
229
+ "portNumber": 2,
230
+ "type": "Ethernet",
231
+ "virtualPorts": [
232
+ {
233
+ "mac": "11:11:11:11:01:17",
234
+ "portFunction": "a",
235
+ "portNumber": 1,
236
+ "wwnn": null,
237
+ "wwpn": null
238
+ },
239
+ {
240
+ "mac": "11:11:11:11:DE:0D",
241
+ "portFunction": "b",
242
+ "portNumber": 2,
243
+ "wwnn": "11:11:11:11:11:11:11:11",
244
+ "wwpn": "11:11:11:11:11:11:11:11"
245
+ },
246
+ {
247
+ "mac": "11:11:11:11:DE:0E",
248
+ "portFunction": "c",
249
+ "portNumber": 3,
250
+ "wwnn": null,
251
+ "wwpn": null
252
+ },
253
+ {
254
+ "mac": "11:11:11:11:DE:0F",
255
+ "portFunction": "d",
256
+ "portNumber": 4,
257
+ "wwnn": null,
258
+ "wwpn": null
259
+ }
260
+ ],
261
+ "wwn": null
262
+ }
263
+ ],
264
+ "slotNumber": 1
265
+ },
266
+ {
267
+ "deviceName": "",
268
+ "location": "Mezz",
269
+ "oaSlotNumber": 1,
270
+ "physicalPorts": [
271
+
272
+ ],
273
+ "slotNumber": 1
274
+ },
275
+ {
276
+ "deviceName": "",
277
+ "location": "Mezz",
278
+ "oaSlotNumber": 2,
279
+ "physicalPorts": [
280
+
281
+ ],
282
+ "slotNumber": 2
283
+ }
284
+ ]
285
+ },
286
+ "position": 3,
287
+ "powerLock": false,
288
+ "powerState": "On",
289
+ "processorCoreCount": 6,
290
+ "processorCount": 1,
291
+ "processorSpeedMhz": 2000,
292
+ "processorType": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
293
+ "refreshState": "NotRefreshing",
294
+ "romVersion": "I31 11/02/2014",
295
+ "serialNumber": "MXQ73281MX",
296
+ "serverGroupUri": "/rest/enclosure-groups/3a11ccdd-b352-4046-a568-a8b0faa6cc39",
297
+ "serverHardwareTypeUri": "/rest/server-hardware-types/2947DC35-BE48-4075-A3FD-254A9B42F5BD",
298
+ "serverProfileUri": "/rest/server-profiles/6c5e4e2b-5461-4978-9807-c96a7e0d445b",
299
+ "shortModel": "BL460c Gen8",
300
+ "signature": {
301
+ "personalityChecksum": 75174903,
302
+ "serverHwChecksum": 1795111769
303
+ },
304
+ "status": "OK",
305
+ "uri": "/rest/server-hardware/31363636-3136-584D-5132-333230314D58",
306
+ "uuid": "31363636-3136-584D-5132-333230314D58",
307
+ "virtualSerialNumber": "VCGE7KB963",
308
+ "virtualUuid": "6c5e4e2b-5461-4978-9807-c96a7e0d445b"
309
+ },
310
+ {
311
+ "type": "server-hardware-3",
312
+ "name": "dazzle, bay 4",
313
+ "state": "ProfileApplied",
314
+ "stateReason": "NotApplicable",
315
+ "assetTag": "[Unknown]",
316
+ "category": "server-hardware",
317
+ "created": "2015-07-02T16:24:23.145Z",
318
+ "description": null,
319
+ "eTag": "1439180754060",
320
+ "formFactor": "HalfHeight",
321
+ "licensingIntent": "OneViewNoiLO",
322
+ "locationUri": "/rest/enclosures/09SGH236PMVW",
323
+ "memoryMb": 16384,
324
+ "model": "ProLiant BL460c Gen8",
325
+ "modified": "2015-08-10T04:25:54.060Z",
326
+ "mpDnsName": "ILOMXQ83301M9",
327
+ "mpFirmwareVersion": "2.10 Jan 15 2015",
328
+ "mpIpAddress": "172.125.24.226",
329
+ "mpModel": "iLO4",
330
+ "partNumber": "666161-B21",
331
+ "portMap": {
332
+ "deviceSlots": [
333
+ {
334
+ "deviceName": "HP FlexFabric 10Gb 2-port 554FLB Adapter",
335
+ "location": "Flb",
336
+ "oaSlotNumber": 9,
337
+ "physicalPorts": [
338
+ {
339
+ "interconnectPort": 4,
340
+ "interconnectUri": "/rest/interconnects/34501559-719f-4393-9fb1-a43714037f06",
341
+ "mac": "11:11:11:11:EF:68",
342
+ "portNumber": 1,
343
+ "type": "Ethernet",
344
+ "virtualPorts": [
345
+ {
346
+ "mac": "11:11:11:11:01:18",
347
+ "portFunction": "a",
348
+ "portNumber": 1,
349
+ "wwnn": null,
350
+ "wwpn": null
351
+ },
352
+ {
353
+ "mac": "11:11:11:11:EF:69",
354
+ "portFunction": "b",
355
+ "portNumber": 2,
356
+ "wwnn": "11:11:11:11:11:11:11:11",
357
+ "wwpn": "11:11:11:11:11:11:11:11"
358
+ },
359
+ {
360
+ "mac": "11:11:11:11:EF:6A",
361
+ "portFunction": "c",
362
+ "portNumber": 3,
363
+ "wwnn": null,
364
+ "wwpn": null
365
+ },
366
+ {
367
+ "mac": "11:11:11:11:EF:6B",
368
+ "portFunction": "d",
369
+ "portNumber": 4,
370
+ "wwnn": null,
371
+ "wwpn": null
372
+ }
373
+ ],
374
+ "wwn": null
375
+ },
376
+ {
377
+ "interconnectPort": 4,
378
+ "interconnectUri": "/rest/interconnects/d6c76eb3-10e6-43bf-95a6-ec824dc7bb2e",
379
+ "mac": "11:11:11:11:EF:6C",
380
+ "portNumber": 2,
381
+ "type": "Ethernet",
382
+ "virtualPorts": [
383
+ {
384
+ "mac": "11:11:11:11:01:19",
385
+ "portFunction": "a",
386
+ "portNumber": 1,
387
+ "wwnn": null,
388
+ "wwpn": null
389
+ },
390
+ {
391
+ "mac": "11:11:11:11:EF:6D",
392
+ "portFunction": "b",
393
+ "portNumber": 2,
394
+ "wwnn": "11:11:11:11:11:11:11:11",
395
+ "wwpn": "11:11:11:11:11:11:11:11"
396
+ },
397
+ {
398
+ "mac": "11:11:11:11:EF:6E",
399
+ "portFunction": "c",
400
+ "portNumber": 3,
401
+ "wwnn": null,
402
+ "wwpn": null
403
+ },
404
+ {
405
+ "mac": "11:11:11:11:EF:6F",
406
+ "portFunction": "d",
407
+ "portNumber": 4,
408
+ "wwnn": null,
409
+ "wwpn": null
410
+ }
411
+ ],
412
+ "wwn": null
413
+ }
414
+ ],
415
+ "slotNumber": 1
416
+ },
417
+ {
418
+ "deviceName": "",
419
+ "location": "Mezz",
420
+ "oaSlotNumber": 1,
421
+ "physicalPorts": [
422
+
423
+ ],
424
+ "slotNumber": 1
425
+ },
426
+ {
427
+ "deviceName": "",
428
+ "location": "Mezz",
429
+ "oaSlotNumber": 2,
430
+ "physicalPorts": [
431
+
432
+ ],
433
+ "slotNumber": 2
434
+ }
435
+ ]
436
+ },
437
+ "position": 4,
438
+ "powerLock": false,
439
+ "powerState": "On",
440
+ "processorCoreCount": 6,
441
+ "processorCount": 1,
442
+ "processorSpeedMhz": 2000,
443
+ "processorType": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
444
+ "refreshState": "NotRefreshing",
445
+ "romVersion": "I31 11/02/2014",
446
+ "serialNumber": "MXQ83301M9",
447
+ "serverGroupUri": "/rest/enclosure-groups/3a11ccdd-b352-4046-a568-a8b0faa6cc39",
448
+ "serverHardwareTypeUri": "/rest/server-hardware-types/2947DC35-BE48-4075-A3FD-254A9B42F5BD",
449
+ "serverProfileUri": "/rest/server-profiles/0fb9f546-3e70-4632-818e-0b26d091f66c",
450
+ "shortModel": "BL460c Gen8",
451
+ "signature": {
452
+ "personalityChecksum": -1431039297,
453
+ "serverHwChecksum": -2064753931
454
+ },
455
+ "status": "OK",
456
+ "uri": "/rest/server-hardware/31363636-3136-584D-5132-333230314D37",
457
+ "uuid": "31363636-3136-584D-5132-333230314D37",
458
+ "virtualSerialNumber": "VCGE7KB146",
459
+ "virtualUuid": "0fb9f546-3e70-4632-818e-0b26d091f66c"
460
+ }
461
+ ],
462
+ "modified": "2015-08-10T22:30:02.367Z",
463
+ "nextPageUri": null,
464
+ "prevPageUri": null,
465
+ "start": 0,
466
+ "total": 3,
467
+ "uri": "/rest/server-hardware?sort=name:asc&filter=serverGroupUri='3a11ccdd-b352-4046-a568-a8b0faa6cc39'"
468
+ }