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,14 @@
1
+ {
2
+ "errorCode": "INVALID_FILTER",
3
+ "data": {
4
+ },
5
+ "details": "",
6
+ "errorSource": null,
7
+ "nestedErrors": [
8
+
9
+ ],
10
+ "recommendedActions": [
11
+ "Verify parameters and try again."
12
+ ],
13
+ "message": "The specified filter is not valid ([serialNumber matches ''])."
14
+ }
@@ -1,133 +1,133 @@
1
- {
2
- "type": "ServerProfileListV4",
3
- "members": [
4
- {
5
- "type": "ServerProfileV4",
6
- "uri": "/rest/server-profiles/a16654c6-d12d-4e42-aa04-8868cf3dc31a",
7
- "name": "Template - Web Server",
8
- "description": "Web server machine template",
9
- "serialNumber": "VCGE9KB035",
10
- "uuid": "a16654c6-d12d-4e42-aa04-8868cf3dc31a",
11
- "serverHardwareUri": null,
12
- "serverHardwareTypeUri": "/rest/server-hardware-types/2947DC35-BE48-4075-A3FD-254A9B42F5BD",
13
- "enclosureGroupUri": "/rest/enclosure-groups/3a11ccdd-b352-4046-a568-a8b0faa6cc39",
14
- "enclosureUri": null,
15
- "enclosureBay": null,
16
- "affinity": "Bay",
17
- "associatedServer": null,
18
- "hideUnusedFlexNics": true,
19
- "firmware": {
20
- "forceInstallFirmware": false,
21
- "manageFirmware": true,
22
- "firmwareBaselineUri": "/rest/firmware-drivers/bp-hp-service-pack-for-proliant-oneview-2014-11-30-05"
23
- },
24
- "macType": "Virtual",
25
- "wwnType": "Virtual",
26
- "serialNumberType": "Virtual",
27
- "category": "server-profiles",
28
- "created": "20150730T115836.727Z",
29
- "modified": "20150807T051446.275Z",
30
- "status": "OK",
31
- "state": "Normal",
32
- "inProgress": false,
33
- "taskUri": "/rest/tasks/26235118-827A-445D-9E5D-F2BBCAC8E9E8",
34
- "connections": [
35
- {
36
- "id": 1,
37
- "name": "Altair PXE 1133",
38
- "functionType": "Ethernet",
39
- "deploymentStatus": "Reserved",
40
- "networkUri": "/rest/ethernet-networks/02b0b5c3-1a0a-4d5f-b5c9-0c7532cb1e5e",
41
- "portId": "Flb 1:1-a",
42
- "interconnectUri": null,
43
- "macType": "Virtual",
44
- "wwpnType": "Virtual",
45
- "mac": "AE:B2:F8:20:00:D8",
46
- "wwnn": null,
47
- "wwpn": null,
48
- "requestedMbps": "2500",
49
- "allocatedMbps": 2500,
50
- "maximumMbps": 10000,
51
- "boot": {
52
- "priority": "Primary"
53
- }
54
- },
55
- {
56
- "id": 2,
57
- "name": "corpnet 10",
58
- "functionType": "Ethernet",
59
- "deploymentStatus": "Reserved",
60
- "networkUri": "/rest/ethernet-networks/7a4698ae-5933-4e2e-8af3-57893c23a2d2",
61
- "portId": "Flb 1:2-a",
62
- "interconnectUri": null,
63
- "macType": "Virtual",
64
- "wwpnType": "Virtual",
65
- "mac": "AE:B2:F8:20:00:D9",
66
- "wwnn": null,
67
- "wwpn": null,
68
- "requestedMbps": "2500",
69
- "allocatedMbps": 2500,
70
- "maximumMbps": 10000,
71
- "boot": {
72
- "priority": "NotBootable"
73
- }
74
- }
75
- ],
76
- "bootMode": null,
77
- "boot": {
78
- "manageBoot": true,
79
- "order": [
80
- "HardDisk",
81
- "PXE",
82
- "CD",
83
- "Floppy",
84
- "USB"
85
- ]
86
- },
87
- "bios": {
88
- "manageBios": true,
89
- "overriddenSettings": [
90
- {
91
- "id": "176",
92
- "value": "1"
93
- },
94
- {
95
- "id": "181",
96
- "value": "1"
97
- },
98
- {
99
- "id": "158",
100
- "value": "2"
101
- }
102
- ]
103
- },
104
- "localStorage": {
105
- "logicalDrives": [
106
- {
107
- "raidLevel": "RAID0",
108
- "bootable": true
109
- }
110
- ],
111
- "manageLocalStorage": true,
112
- "initialize": true
113
- },
114
- "sanStorage": {
115
- "volumeAttachments": [
116
-
117
- ],
118
- "manageSanStorage": false
119
- },
120
- "eTag": "1438924486161/12"
121
- }
122
- ],
123
- "total": 1,
124
- "start": 0,
125
- "prevPageUri": null,
126
- "nextPageUri": null,
127
- "count": 1,
128
- "category": "server-profiles",
129
- "created": "20150810T223058.112Z",
130
- "eTag": "20150810T223058.112Z",
131
- "modified": "20150810T223058.112Z",
132
- "uri": "/rest/server-profiles?filter=name%20matches%20'Template%20-%20Web%20Server'&sort=name:asc"
1
+ {
2
+ "type": "ServerProfileListV4",
3
+ "members": [
4
+ {
5
+ "type": "ServerProfileV4",
6
+ "uri": "/rest/server-profiles/a16654c6-d12d-4e42-aa04-8868cf3dc31a",
7
+ "name": "Template - Web Server",
8
+ "description": "Web server machine template",
9
+ "serialNumber": "VCGE9KB035",
10
+ "uuid": "a16654c6-d12d-4e42-aa04-8868cf3dc31a",
11
+ "serverHardwareUri": null,
12
+ "serverHardwareTypeUri": "/rest/server-hardware-types/2947DC35-BE48-4075-A3FD-254A9B42F5BD",
13
+ "enclosureGroupUri": "/rest/enclosure-groups/3a11ccdd-b352-4046-a568-a8b0faa6cc39",
14
+ "enclosureUri": null,
15
+ "enclosureBay": null,
16
+ "affinity": "Bay",
17
+ "associatedServer": null,
18
+ "hideUnusedFlexNics": true,
19
+ "firmware": {
20
+ "forceInstallFirmware": false,
21
+ "manageFirmware": true,
22
+ "firmwareBaselineUri": "/rest/firmware-drivers/bp-hp-service-pack-for-proliant-oneview-2014-11-30-05"
23
+ },
24
+ "macType": "Virtual",
25
+ "wwnType": "Virtual",
26
+ "serialNumberType": "Virtual",
27
+ "category": "server-profiles",
28
+ "created": "20150730T115836.727Z",
29
+ "modified": "20150807T051446.275Z",
30
+ "status": "OK",
31
+ "state": "Normal",
32
+ "inProgress": false,
33
+ "taskUri": "/rest/tasks/26235118-827A-445D-9E5D-F2BBCAC8E9E8",
34
+ "connections": [
35
+ {
36
+ "id": 1,
37
+ "name": "Altair PXE 1133",
38
+ "functionType": "Ethernet",
39
+ "deploymentStatus": "Reserved",
40
+ "networkUri": "/rest/ethernet-networks/02b0b5c3-1a0a-4d5f-b5c9-0c7532cb1e5e",
41
+ "portId": "Flb 1:1-a",
42
+ "interconnectUri": null,
43
+ "macType": "Virtual",
44
+ "wwpnType": "Virtual",
45
+ "mac": "11:11:11:11:00:D8",
46
+ "wwnn": null,
47
+ "wwpn": null,
48
+ "requestedMbps": "2500",
49
+ "allocatedMbps": 2500,
50
+ "maximumMbps": 10000,
51
+ "boot": {
52
+ "priority": "Primary"
53
+ }
54
+ },
55
+ {
56
+ "id": 2,
57
+ "name": "corpnet 10",
58
+ "functionType": "Ethernet",
59
+ "deploymentStatus": "Reserved",
60
+ "networkUri": "/rest/ethernet-networks/7a4698ae-5933-4e2e-8af3-57893c23a2d2",
61
+ "portId": "Flb 1:2-a",
62
+ "interconnectUri": null,
63
+ "macType": "Virtual",
64
+ "wwpnType": "Virtual",
65
+ "mac": "11:11:11:11:00:D9",
66
+ "wwnn": null,
67
+ "wwpn": null,
68
+ "requestedMbps": "2500",
69
+ "allocatedMbps": 2500,
70
+ "maximumMbps": 10000,
71
+ "boot": {
72
+ "priority": "NotBootable"
73
+ }
74
+ }
75
+ ],
76
+ "bootMode": null,
77
+ "boot": {
78
+ "manageBoot": true,
79
+ "order": [
80
+ "HardDisk",
81
+ "PXE",
82
+ "CD",
83
+ "Floppy",
84
+ "USB"
85
+ ]
86
+ },
87
+ "bios": {
88
+ "manageBios": true,
89
+ "overriddenSettings": [
90
+ {
91
+ "id": "176",
92
+ "value": "1"
93
+ },
94
+ {
95
+ "id": "181",
96
+ "value": "1"
97
+ },
98
+ {
99
+ "id": "158",
100
+ "value": "2"
101
+ }
102
+ ]
103
+ },
104
+ "localStorage": {
105
+ "logicalDrives": [
106
+ {
107
+ "raidLevel": "RAID0",
108
+ "bootable": true
109
+ }
110
+ ],
111
+ "manageLocalStorage": true,
112
+ "initialize": true
113
+ },
114
+ "sanStorage": {
115
+ "volumeAttachments": [
116
+
117
+ ],
118
+ "manageSanStorage": false
119
+ },
120
+ "eTag": "1438924486161/12"
121
+ }
122
+ ],
123
+ "total": 1,
124
+ "start": 0,
125
+ "prevPageUri": null,
126
+ "nextPageUri": null,
127
+ "count": 1,
128
+ "category": "server-profiles",
129
+ "created": "20150810T223058.112Z",
130
+ "eTag": "20150810T223058.112Z",
131
+ "modified": "20150810T223058.112Z",
132
+ "uri": "/rest/server-profiles?filter=name%20matches%20'Template%20-%20Web%20Server'&sort=name:asc"
133
133
  }
@@ -0,0 +1,200 @@
1
+ {
2
+ "type": "ServerProfileListV4",
3
+ "members": [
4
+ {
5
+ "type": "ServerProfileV4",
6
+ "uri": "/rest/server-profiles/a16654c6-d12d-4e42-aa04-8868cf3dc31b",
7
+ "name": "Template - Web Server with SAN",
8
+ "description": "Web server machine template with SAN",
9
+ "serialNumber": "VCGE9KB035",
10
+ "uuid": "a16654c6-d12d-4e42-aa04-8868cf3dc31a",
11
+ "serverHardwareUri": null,
12
+ "serverHardwareTypeUri": "/rest/server-hardware-types/2947DC35-BE48-4075-A3FD-254A9B42F5BD",
13
+ "enclosureGroupUri": "/rest/enclosure-groups/3a11ccdd-b352-4046-a568-a8b0faa6cc39",
14
+ "enclosureUri": null,
15
+ "enclosureBay": null,
16
+ "affinity": "Bay",
17
+ "associatedServer": null,
18
+ "hideUnusedFlexNics": true,
19
+ "firmware": {
20
+ "forceInstallFirmware": false,
21
+ "manageFirmware": true,
22
+ "firmwareBaselineUri": "/rest/firmware-drivers/bp-hp-service-pack-for-proliant-oneview-2014-11-30-05"
23
+ },
24
+ "macType": "Virtual",
25
+ "wwnType": "Virtual",
26
+ "serialNumberType": "Virtual",
27
+ "category": "server-profiles",
28
+ "created": "20150730T115836.727Z",
29
+ "modified": "20150807T051446.275Z",
30
+ "status": "OK",
31
+ "state": "Normal",
32
+ "inProgress": false,
33
+ "taskUri": "/rest/tasks/26235118-827A-445D-9E5D-F2BBCAC8E9F1",
34
+ "connections": [
35
+ {
36
+ "id": 1,
37
+ "name": "Altair PXE 1133",
38
+ "functionType": "Ethernet",
39
+ "deploymentStatus": "Reserved",
40
+ "networkUri": "/rest/ethernet-networks/02b0b5c3-1a0a-4d5f-b5c9-0c7532cb1e5e",
41
+ "portId": "Flb 1:1-a",
42
+ "interconnectUri": null,
43
+ "macType": "Virtual",
44
+ "wwpnType": "Virtual",
45
+ "mac": "11:11:11:11:00:D8",
46
+ "wwnn": null,
47
+ "wwpn": null,
48
+ "requestedMbps": "2500",
49
+ "allocatedMbps": 2500,
50
+ "maximumMbps": 10000,
51
+ "boot": {
52
+ "priority": "Primary"
53
+ }
54
+ },
55
+ {
56
+ "id": 2,
57
+ "name": "corpnet 10",
58
+ "functionType": "Ethernet",
59
+ "deploymentStatus": "Reserved",
60
+ "networkUri": "/rest/ethernet-networks/7a4698ae-5933-4e2e-8af3-57893c23a2d2",
61
+ "portId": "Flb 1:2-a",
62
+ "interconnectUri": null,
63
+ "macType": "Virtual",
64
+ "wwpnType": "Virtual",
65
+ "mac": "11:11:11:11:00:D9",
66
+ "wwnn": null,
67
+ "wwpn": null,
68
+ "requestedMbps": "2500",
69
+ "allocatedMbps": 2500,
70
+ "maximumMbps": 10000,
71
+ "boot": {
72
+ "priority": "NotBootable"
73
+ }
74
+ },
75
+ {
76
+ "id": 3,
77
+ "name": "san1",
78
+ "functionType": "FibreChannel",
79
+ "deploymentStatus": "Deployed",
80
+ "networkUri": "/rest/fc-networks/2c04a682-66b4-4a64-8c2d-3095937a8e7e",
81
+ "portId": "Flb 1:1-b",
82
+ "interconnectUri": "/rest/interconnects/f43ee5ba-a3b5-44c3-a299-4cc9c100debc",
83
+ "macType": "Virtual",
84
+ "wwpnType": "Virtual",
85
+ "mac": "11:11:11:11:00:E1",
86
+ "wwnn": "10:00:fa:a9:af:e0:04:5d",
87
+ "wwpn": "10:00:fa:a9:af:e0:04:5c",
88
+ "requestedMbps": "4000",
89
+ "allocatedMbps": 4000,
90
+ "maximumMbps": 4000,
91
+ "boot": {
92
+ "priority": "Primary",
93
+ "targets": [{ "arrayWwpn": "20540002AC00159E", "lun": "0" }]
94
+ }
95
+ },
96
+ {
97
+ "id": 4,
98
+ "name": "san2",
99
+ "functionType": "FibreChannel",
100
+ "deploymentStatus": "Deployed",
101
+ "networkUri": "/rest/fc-networks/93c97ad9-3e6d-4cc4-8b37-3ef3a6a9cf77",
102
+ "portId": "Flb 1:2-b",
103
+ "interconnectUri": "/rest/interconnects/964c1236-4eca-4410-b219-911e6ae0b731",
104
+ "macType": "Virtual",
105
+ "wwpnType": "Virtual",
106
+ "mac": "11:11:11:11:00:E2",
107
+ "wwnn": "10:00:fa:a9:af:e0:04:5f",
108
+ "wwpn": "10:00:fa:a9:af:e0:04:5e",
109
+ "requestedMbps": "4000",
110
+ "allocatedMbps": 4000,
111
+ "maximumMbps": 4000,
112
+ "boot": {
113
+ "priority": "Secondary",
114
+ "targets": [{ "arrayWwpn": "21210002AC00159F", "lun": "0" }]
115
+ }
116
+ }
117
+ ],
118
+ "bootMode": null,
119
+ "boot": {
120
+ "manageBoot": true,
121
+ "order": [
122
+ "HardDisk",
123
+ "PXE",
124
+ "CD",
125
+ "Floppy",
126
+ "USB"
127
+ ]
128
+ },
129
+ "bios": {
130
+ "manageBios": true,
131
+ "overriddenSettings": [
132
+ {
133
+ "id": "176",
134
+ "value": "1"
135
+ },
136
+ {
137
+ "id": "181",
138
+ "value": "1"
139
+ },
140
+ {
141
+ "id": "158",
142
+ "value": "2"
143
+ }
144
+ ]
145
+ },
146
+ "localStorage": {
147
+ "manageLocalStorage": false,
148
+ "initialize": false,
149
+ "logicalDrives": null
150
+ },
151
+ "sanStorage": {
152
+ "volumeAttachments": [
153
+ {
154
+ "storagePaths": [
155
+ {
156
+ "storageTargets": [
157
+ "21:21:00:02:AC:00:15:9E"
158
+ ],
159
+ "storageTargetType": "Auto",
160
+ "connectionId": 4,
161
+ "isEnabled": true,
162
+ "status": "OK"
163
+ },
164
+ {
165
+ "storageTargets": [
166
+ "20:54:00:02:AC:00:15:9E"
167
+ ],
168
+ "storageTargetType": "Auto",
169
+ "connectionId": 3,
170
+ "isEnabled": true,
171
+ "status": "OK"
172
+ }
173
+ ],
174
+ "state": "Attached",
175
+ "volumeStoragePoolUri": "/rest/storage-pools/707E383B-56F6-48A1-BFF1-782BB2AC6BA7",
176
+ "volumeStorageSystemUri": "/rest/storage-systems/1405534",
177
+ "lun": "0",
178
+ "lunType": "Manual",
179
+ "volumeUri": "/rest/storage-volumes/1B5D3CA2-6C5B-41C2-8B97-1821F1883F22",
180
+ "status": "OK",
181
+ "id": 1
182
+ }
183
+ ],
184
+ "hostOSType": "RHE Linux (5.x, 6.x)",
185
+ "manageSanStorage": true
186
+ },
187
+ "eTag": "1438924486161/12"
188
+ }
189
+ ],
190
+ "total": 1,
191
+ "start": 0,
192
+ "prevPageUri": null,
193
+ "nextPageUri": null,
194
+ "count": 1,
195
+ "category": "server-profiles",
196
+ "created": "20150810T223058.112Z",
197
+ "eTag": "20150810T223058.112Z",
198
+ "modified": "20150810T223058.112Z",
199
+ "uri": "/rest/server-profiles?filter=name%20matches%20'Template%20-%20Web%20Server%20with%20SAN'&sort=name:asc"
200
+ }