chef-provisioning-oneview 1.0.1 → 1.1.0

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.
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,18 @@
1
+ module ChefProvisioningOneviewHelpers
2
+ class FakeMachineSpec
3
+ attr_reader :name
4
+
5
+ def initialize(name, sn)
6
+ @name = name
7
+ @sn = sn
8
+ end
9
+
10
+ def reference
11
+ ver = Chef::Provisioning::ONEVIEW_DRIVER_VERSION
12
+ {
13
+ 'serial_number' => @sn, serial_number: @sn,
14
+ 'driver_version' => ver, driver_version: ver
15
+ }
16
+ end
17
+ end
18
+ end
@@ -1,21 +1,148 @@
1
- require 'sinatra/base'
2
-
3
- class FakeOneView < Sinatra::Base
4
- get '/rest/version' do
5
- version = request['X-API-Version'] # TODO
6
- json_response(200, 'version.json', version)
7
- end
8
-
9
- post '/rest/login-sessions' do
10
- version = request['X-API-Version'] # TODO
11
- json_response(200, 'login.json', version)
12
- end
13
-
14
- private
15
-
16
- def json_response(response_code, file_name, version = 120)
17
- content_type :json
18
- status response_code
19
- File.open(File.dirname(__FILE__) + "/fixtures/oneview/v#{version.gsub('.', '')}/" + file_name, 'rb').read
20
- end
21
- end
1
+ require 'sinatra/base'
2
+ require 'json'
3
+
4
+ class FakeOneView < Sinatra::Base
5
+
6
+ get '/rest/version' do
7
+ json_response(200, 'version.json', '120')
8
+ end
9
+
10
+ post '/rest/login-sessions' do
11
+ version = env['HTTP_X_API_VERSION']
12
+ json_response(200, 'login.json', version)
13
+ end
14
+
15
+ get '/rest/server-profile-templates' do
16
+ version = env['HTTP_X_API_VERSION']
17
+ file_name = 'server-profile-templates_invalid.json'
18
+ if params['filter'] && params['filter'].match('name matches')
19
+ if params['filter'].match('Web Server Template with SAN')
20
+ file_name = 'server-profile-templates_WebServerTemplateWithSAN.json'
21
+ elsif params['filter'].match('Web Server Template')
22
+ file_name = 'server-profile-templates_WebServerTemplate.json'
23
+ end
24
+ end
25
+ json_response(200, file_name, version)
26
+ end
27
+
28
+ get '/rest/server-profile-templates/:id/new-profile' do |id|
29
+ version = env['HTTP_X_API_VERSION']
30
+ if id == 'd64da635-f08a-41d4-b6eb-6517206a8bae'
31
+ json_response(200, 'server-profile-templates_new-profile_WebServerTemplate.json', version)
32
+ elsif id == 'd64da635-f08a-41d4-b6eb-6517206a8baf'
33
+ json_response(200, 'server-profile-templates_new-profile_WebServerTemplateWithSAN.json', version)
34
+ else
35
+ json_response(404, 'error_404.json', '120')
36
+ end
37
+ end
38
+
39
+ get '/rest/server-profiles' do
40
+ version = env['HTTP_X_API_VERSION']
41
+ file_name = 'server-profiles.json'
42
+ if params['filter']
43
+ if params['filter'].match('matches \'\'') || params['filter'].match('INVALIDFILTER')
44
+ file_name = 'server-profiles_invalid_filter.json'
45
+ elsif params['filter'].match('serialNumber matches')
46
+ if params['filter'].match('VCGE9KB041')
47
+ file_name = 'server-profiles_sn_VCGE9KB041.json'
48
+ elsif params['filter'].match('VCGE9KB042')
49
+ file_name = 'server-profiles_sn_VCGE9KB042.json'
50
+ else
51
+ file_name = 'server-profiles_sn_empty.json'
52
+ end
53
+ elsif params['filter'].match('name matches')
54
+ if params['filter'].match('Template - Web Server with SAN')
55
+ file_name = 'server-profiles_name_Template-WebServerWithSAN.json'
56
+ elsif params['filter'].match('Template - Web Server')
57
+ file_name = 'server-profiles_name_Template-WebServer.json'
58
+ elsif params['filter'].match('chef-web01')
59
+ file_name = 'server-profiles_name_chef-web01.json'
60
+ elsif $server_created == 'chef-web03'
61
+ file_name = 'server-profiles_name_chef-web03.json'
62
+ else
63
+ file_name = 'server-profiles_name_empty.json'
64
+ end
65
+ end
66
+ end
67
+ json_response(200, file_name, version)
68
+ end
69
+
70
+ post '/rest/server-profiles' do
71
+ body = JSON.parse(request.body.read.to_s)
72
+ $server_created = body['name']
73
+ { 'uri' => '/rest/tasks/FAKETASK' }.to_json
74
+ end
75
+
76
+ delete '/rest/server-profiles/:id' do |_id|
77
+ { 'uri' => '/rest/tasks/FAKETASK' }.to_json
78
+ end
79
+
80
+ get '/rest/server-hardware' do
81
+ version = env['HTTP_X_API_VERSION']
82
+ file_name = 'server-hardware.json'
83
+ if params['filter'].match('enclosure-groups/3a11ccdd-b352-4046-a568-a8b0faa6cc39') # && params['filter'].match('') # TODO
84
+ file_name = 'server-hardware_Template-WebServer.json'
85
+ end
86
+ json_response(200, file_name, version)
87
+ end
88
+
89
+ get '/rest/server-hardware/:id' do |id|
90
+ version = env['HTTP_X_API_VERSION']
91
+ if id == '31363636-3136-584D-5132-333230314D38' || id == '37333036-3831-584D-5131-303030323037'
92
+ json_response(200, 'server-hardware_specific.json', version)
93
+ else
94
+ json_response(404, 'error_404.json', '120')
95
+ end
96
+ end
97
+
98
+ get '/rest/storage-volumes/:id' do |id|
99
+ version = env['HTTP_X_API_VERSION']
100
+ json_response(200, "storage-volumes_#{id}.json", version)
101
+ end
102
+
103
+ put '/rest/server-hardware/:id/powerState' do |_id|
104
+ { 'uri' => '/rest/tasks/FAKETASK' }.to_json
105
+ end
106
+
107
+ get '/rest/tasks/FAKETASK' do
108
+ version = env['HTTP_X_API_VERSION']
109
+ json_response(200, 'tasks_fake_complete.json', version)
110
+ end
111
+
112
+ get '/' do
113
+ { message: 'Fake OneView works!', method: env['REQUEST_METHOD'], content_type: env['CONTENT_TYPE'], query: env['QUERY_STRING'],
114
+ api_version: env['HTTP_X_API_VERSION'], auth: env['HTTP_AUTH'], params: params }.to_json
115
+ end
116
+
117
+ post '/' do
118
+ { message: 'Fake OneView works!', method: env['REQUEST_METHOD'], content_type: env['CONTENT_TYPE'], query: env['QUERY_STRING'],
119
+ api_version: env['HTTP_X_API_VERSION'], auth: env['HTTP_AUTH'], params: params }.to_json
120
+ end
121
+
122
+ put '/' do
123
+ { message: 'Fake OneView works!', method: env['REQUEST_METHOD'], content_type: env['CONTENT_TYPE'], query: env['QUERY_STRING'],
124
+ api_version: env['HTTP_X_API_VERSION'], auth: env['HTTP_AUTH'], params: params }.to_json
125
+ end
126
+
127
+ delete '/' do
128
+ { message: 'Fake OneView works!', method: env['REQUEST_METHOD'], content_type: env['CONTENT_TYPE'], query: env['QUERY_STRING'],
129
+ api_version: env['HTTP_X_API_VERSION'], auth: env['HTTP_AUTH'], params: params }.to_json
130
+ end
131
+
132
+ get '/*' do # All other paths should return a 404 error
133
+ json_response(404, 'error_404.json', '120')
134
+ end
135
+
136
+ private
137
+
138
+ def json_response(response_code, file_name, version = 120)
139
+ content_type :json
140
+ status response_code
141
+ File.open(File.dirname(__FILE__) + "/fixtures/oneview/v#{version}/" + file_name, 'rb').read
142
+ rescue Errno::ENOENT
143
+ puts "ERROR: FakeOneView: File not found:\n '#{File.dirname(__FILE__) + "/fixtures/oneview/v#{version}/" + file_name}'"
144
+ content_type :json
145
+ status 404
146
+ File.open(File.dirname(__FILE__) + '/fixtures/oneview/v120/error_404.json', 'rb').read
147
+ end
148
+ end
@@ -1,14 +1,14 @@
1
- {
2
- "errorSource": null,
3
- "nestedErrors": [
4
-
5
- ],
6
- "errorCode": "GENERIC_HTTP_404",
7
- "data": {
8
- },
9
- "recommendedActions": [
10
- "Check the request URI, then resend the request."
11
- ],
12
- "details": "The requested resource could not be found.",
13
- "message": "Not Found"
1
+ {
2
+ "errorSource": null,
3
+ "nestedErrors": [
4
+
5
+ ],
6
+ "errorCode": "GENERIC_HTTP_404",
7
+ "data": {
8
+ },
9
+ "recommendedActions": [
10
+ "Check the request URI, then resend the request."
11
+ ],
12
+ "details": "The requested resource could not be found.",
13
+ "message": "Not Found"
14
14
  }
@@ -1,5 +1,5 @@
1
- {
2
- "partnerData": {
3
- },
4
- "sessionID": "AA_aaAaa3AA3Aa0_aAaAA4AAAA3AAAAA"
1
+ {
2
+ "partnerData": {
3
+ },
4
+ "sessionID": "AA_aaAaa3AA3Aa0_aAaAA4AAAA3AAAAA"
5
5
  }
@@ -1,99 +1,99 @@
1
- {
2
- "type": "OsdPaginatedCollection",
3
- "members": [
4
- {
5
- "modifiedBy": "applianceserviceaccount",
6
- "createdBy": "applianceserviceaccount",
7
- "buildPlanHistory": [],
8
- "buildPlanStepType": null,
9
- "isCustomerContent": true,
10
- "buildPlanCustAttrs": [],
11
- "buildPlanItems": [],
12
- "os": "OS - Red Hat Enterprise Linux Server 6",
13
- "arch": "x64",
14
- "lifeCycle": "AVAILABLE",
15
- "description": "Performs a scripted install of Red Hat Enterprise Linux 6.5 using a generic kickstart file.\n(c) Copyright 2014 Hewlett-Packard Development Company, L.P.\n\nRequirements:\n* HP ProLiant server with iLO\n* IC server provisioning Media Server must contain the OS distribution\n\nRequired Custom Attribute: None\n\nOptional Custom Attributes:\n* encrypted_root_password (must be encrypted)\n* boot_disk\n* kernel_arguments",
16
- "status": "",
17
- "name": "CHEF-RHEL-6.5-x64",
18
- "state": "",
19
- "modified": "2015-07-14T03:51:30.000Z",
20
- "eTag": "2015-07-14T03:51:30.000Z",
21
- "created": "2015-05-19T19:05:37.000Z",
22
- "category": "os-deployment-build-plans",
23
- "uri": "/rest/os-deployment-build-plans/1280001"
24
- },
25
- {
26
- "modifiedBy": "applianceserviceaccount",
27
- "createdBy": "applianceserviceaccount",
28
- "buildPlanHistory": [],
29
- "buildPlanStepType": null,
30
- "isCustomerContent": true,
31
- "buildPlanCustAttrs": [],
32
- "buildPlanItems": [],
33
- "os": "Other",
34
- "arch": "x64",
35
- "lifeCycle": "AVAILABLE",
36
- "description": "Reboots a target server in maintenance mode to the local disk. \n(c) Copyright 2013 Hewlett-Packard Development Company, L.P.\n\nRequirements:\n* HP ProLiant server with iLO\n\nCustom Attributes: None",
37
- "status": "",
38
- "name": "CHEF - RHEL 6.6 x64",
39
- "state": "",
40
- "modified": "2015-05-21T17:23:58.000Z",
41
- "eTag": "2015-05-21T17:23:58.000Z",
42
- "created": "2015-05-21T17:23:58.000Z",
43
- "category": "os-deployment-build-plans",
44
- "uri": "/rest/os-deployment-build-plans/1300001"
45
- },
46
- {
47
- "modifiedBy": "applianceserviceaccount",
48
- "createdBy": "applianceserviceaccount",
49
- "buildPlanHistory": [],
50
- "buildPlanStepType": null,
51
- "isCustomerContent": true,
52
- "buildPlanCustAttrs": [],
53
- "buildPlanItems": [],
54
- "os": "OS - Red Hat Enterprise Linux Server 7",
55
- "arch": "x64",
56
- "lifeCycle": "AVAILABLE",
57
- "description": "Performs a scripted install of Red Hat Enterprise Linux 7.0 using a generic kickstart file.\n(c) Copyright 2014 Hewlett-Packard Development Company, L.P.\n\nRequirements:\n* HP ProLiant server with iLO\n* IC server provisioning Media Server must contain the OS distribution\n\nRequired Custom Attribute: None\n\nOptional Custom Attributes:\n* encrypted_root_password (must be encrypted)\n* boot_disk\n* kernel_arguments",
58
- "status": "",
59
- "name": "CHEF - RHEL 7.0 x64",
60
- "state": "",
61
- "modified": "2015-07-24T09:32:52.000Z",
62
- "eTag": "2015-07-24T09:32:52.000Z",
63
- "created": "2015-07-15T17:46:32.000Z",
64
- "category": "os-deployment-build-plans",
65
- "uri": "/rest/os-deployment-build-plans/1340001"
66
- },
67
- {
68
- "modifiedBy": "detuser",
69
- "createdBy": "opsware",
70
- "buildPlanHistory": [],
71
- "buildPlanStepType": null,
72
- "isCustomerContent": false,
73
- "buildPlanCustAttrs": [],
74
- "buildPlanItems": [],
75
- "os": "OS - Windows Server 2008 R2",
76
- "arch": "x64",
77
- "lifeCycle": "AVAILABLE",
78
- "description": "Performs a scripted install of Windows 2008 R2 SP1 Standard using a generic unattend file.\n(c) Copyright 2013, 2014 Hewlett-Packard Development Company, L.P.\n\nRequirements:\n* HP ProLiant server with iLO\n* IC server provisioning Media Server must contain the OS distribution\n\nRequired Custom Attribute:\n* ProductKey_Win2008R2-Std-x64 - Set using the Settings -> Product Key page.\n\nOptional Custom Attributes:\n* ComputerName\n* EncryptedAdminPassword (must be encrypted)\n* SystemDisk\n* SystemDiskNumber",
79
- "status": "",
80
- "name": "ProLiant OS - Windows 2008 R2 SP1 Standard x64 Scripted Install",
81
- "state": "",
82
- "modified": "2014-09-15T02:30:17.000Z",
83
- "eTag": "2014-09-15T02:30:17.000Z",
84
- "created": "2014-09-15T02:30:17.000Z",
85
- "category": "os-deployment-build-plans",
86
- "uri": "/rest/os-deployment-build-plans/1040001"
87
- }
88
- ],
89
- "start": 0,
90
- "prevPageUri": null,
91
- "nextPageUri": null,
92
- "total": 0,
93
- "count": 71,
94
- "modified": null,
95
- "eTag": null,
96
- "created": null,
97
- "category": null,
98
- "uri": null
99
- }
1
+ {
2
+ "type": "OsdPaginatedCollection",
3
+ "members": [
4
+ {
5
+ "modifiedBy": "applianceserviceaccount",
6
+ "createdBy": "applianceserviceaccount",
7
+ "buildPlanHistory": [],
8
+ "buildPlanStepType": null,
9
+ "isCustomerContent": true,
10
+ "buildPlanCustAttrs": [],
11
+ "buildPlanItems": [],
12
+ "os": "OS - Red Hat Enterprise Linux Server 6",
13
+ "arch": "x64",
14
+ "lifeCycle": "AVAILABLE",
15
+ "description": "Performs a scripted install of Red Hat Enterprise Linux 6.5 using a generic kickstart file.\n(c) Copyright 2014 Hewlett-Packard Development Company, L.P.\n\nRequirements:\n* HP ProLiant server with iLO\n* IC server provisioning Media Server must contain the OS distribution\n\nRequired Custom Attribute: None\n\nOptional Custom Attributes:\n* encrypted_root_password (must be encrypted)\n* boot_disk\n* kernel_arguments",
16
+ "status": "",
17
+ "name": "CHEF-RHEL-6.5-x64",
18
+ "state": "",
19
+ "modified": "2015-07-14T03:51:30.000Z",
20
+ "eTag": "2015-07-14T03:51:30.000Z",
21
+ "created": "2015-05-19T19:05:37.000Z",
22
+ "category": "os-deployment-build-plans",
23
+ "uri": "/rest/os-deployment-build-plans/1280001"
24
+ },
25
+ {
26
+ "modifiedBy": "applianceserviceaccount",
27
+ "createdBy": "applianceserviceaccount",
28
+ "buildPlanHistory": [],
29
+ "buildPlanStepType": null,
30
+ "isCustomerContent": true,
31
+ "buildPlanCustAttrs": [],
32
+ "buildPlanItems": [],
33
+ "os": "Other",
34
+ "arch": "x64",
35
+ "lifeCycle": "AVAILABLE",
36
+ "description": "Reboots a target server in maintenance mode to the local disk. \n(c) Copyright 2013 Hewlett-Packard Development Company, L.P.\n\nRequirements:\n* HP ProLiant server with iLO\n\nCustom Attributes: None",
37
+ "status": "",
38
+ "name": "CHEF - RHEL 6.6 x64",
39
+ "state": "",
40
+ "modified": "2015-05-21T17:23:58.000Z",
41
+ "eTag": "2015-05-21T17:23:58.000Z",
42
+ "created": "2015-05-21T17:23:58.000Z",
43
+ "category": "os-deployment-build-plans",
44
+ "uri": "/rest/os-deployment-build-plans/1300001"
45
+ },
46
+ {
47
+ "modifiedBy": "applianceserviceaccount",
48
+ "createdBy": "applianceserviceaccount",
49
+ "buildPlanHistory": [],
50
+ "buildPlanStepType": null,
51
+ "isCustomerContent": true,
52
+ "buildPlanCustAttrs": [],
53
+ "buildPlanItems": [],
54
+ "os": "OS - Red Hat Enterprise Linux Server 7",
55
+ "arch": "x64",
56
+ "lifeCycle": "AVAILABLE",
57
+ "description": "Performs a scripted install of Red Hat Enterprise Linux 7.0 using a generic kickstart file.\n(c) Copyright 2014 Hewlett-Packard Development Company, L.P.\n\nRequirements:\n* HP ProLiant server with iLO\n* IC server provisioning Media Server must contain the OS distribution\n\nRequired Custom Attribute: None\n\nOptional Custom Attributes:\n* encrypted_root_password (must be encrypted)\n* boot_disk\n* kernel_arguments",
58
+ "status": "",
59
+ "name": "CHEF - RHEL 7.0 x64",
60
+ "state": "",
61
+ "modified": "2015-07-24T09:32:52.000Z",
62
+ "eTag": "2015-07-24T09:32:52.000Z",
63
+ "created": "2015-07-15T17:46:32.000Z",
64
+ "category": "os-deployment-build-plans",
65
+ "uri": "/rest/os-deployment-build-plans/1340001"
66
+ },
67
+ {
68
+ "modifiedBy": "detuser",
69
+ "createdBy": "opsware",
70
+ "buildPlanHistory": [],
71
+ "buildPlanStepType": null,
72
+ "isCustomerContent": false,
73
+ "buildPlanCustAttrs": [],
74
+ "buildPlanItems": [],
75
+ "os": "OS - Windows Server 2008 R2",
76
+ "arch": "x64",
77
+ "lifeCycle": "AVAILABLE",
78
+ "description": "Performs a scripted install of Windows 2008 R2 SP1 Standard using a generic unattend file.\n(c) Copyright 2013, 2014 Hewlett-Packard Development Company, L.P.\n\nRequirements:\n* HP ProLiant server with iLO\n* IC server provisioning Media Server must contain the OS distribution\n\nRequired Custom Attribute:\n* ProductKey_Win2008R2-Std-x64 - Set using the Settings -> Product Key page.\n\nOptional Custom Attributes:\n* ComputerName\n* EncryptedAdminPassword (must be encrypted)\n* SystemDisk\n* SystemDiskNumber",
79
+ "status": "",
80
+ "name": "ProLiant OS - Windows 2008 R2 SP1 Standard x64 Scripted Install",
81
+ "state": "",
82
+ "modified": "2014-09-15T02:30:17.000Z",
83
+ "eTag": "2014-09-15T02:30:17.000Z",
84
+ "created": "2014-09-15T02:30:17.000Z",
85
+ "category": "os-deployment-build-plans",
86
+ "uri": "/rest/os-deployment-build-plans/1040001"
87
+ }
88
+ ],
89
+ "start": 0,
90
+ "prevPageUri": null,
91
+ "nextPageUri": null,
92
+ "total": 0,
93
+ "count": 71,
94
+ "modified": null,
95
+ "eTag": null,
96
+ "created": null,
97
+ "category": null,
98
+ "uri": null
99
+ }
@@ -1,179 +1,179 @@
1
- {
2
- "type": "OsdPaginatedCollection",
3
- "members": [
4
- {
5
- "modified": "2015-08-10T16:45:57.019Z",
6
- "deviceGroups": null,
7
- "customAttributes": [],
8
- "created": "2015-08-10T04:35:52.000Z",
9
- "uuid": "2b4e5e6c-6154-7849-9807-c96a7e0d445b",
10
- "cpus": [
11
- {
12
- "cacheSize": "15360",
13
- "speed": "1200",
14
- "stepping": "7",
15
- "model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
16
- "family": "X64",
17
- "status": "ON-LINE",
18
- "slot": "0"
19
- }
20
- ],
21
- "ilo": null,
22
- "serverLocation": {
23
- "rack": "DemoRack",
24
- "enclosure": "dazzle",
25
- "bay": "3"
26
- },
27
- "operatingSystemVersion": null,
28
- "opswLifecycle": "MANAGED",
29
- "osSPVersion": null,
30
- "peerIP": "192.168.133.41",
31
- "stage": "UNKNOWN",
32
- "running": "false",
33
- "reporting": true,
34
- "storageDevices": [],
35
- "ram": "16291780",
36
- "swap": "8216568",
37
- "architecture": null,
38
- "defaultGateway": "16.125.32.1",
39
- "discoveredDate": "2015-08-10T04:35:52.000Z",
40
- "facility": "Appliance",
41
- "hardwareModel": "PROLIANT BL460C GEN8",
42
- "jobsHistory": null,
43
- "lastScannedDate": null,
44
- "loopbackIP": null,
45
- "managementIP": "192.168.133.41",
46
- "manufacturer": "HP",
47
- "mid": "1680001",
48
- "netBios": null,
49
- "operatingSystem": null,
50
- "osFlavor": null,
51
- "serialNumber": "VCGE9KB042",
52
- "locale": null,
53
- "description": null,
54
- "status": "OK",
55
- "uri": "/rest/os-deployment-servers/1680001",
56
- "name": "chef-web02.domain.com",
57
- "interfaces": [
58
- {
59
- "speed": "10000",
60
- "netmask": "255.255.254.0",
61
- "duplex": "FULL",
62
- "ipv6Addr": "",
63
- "macAddr": "AE:B2:F8:20:01:17",
64
- "dhcpEnabled": false,
65
- "ipv4Addr": "16.125.32.39",
66
- "type": "ETHERNET",
67
- "slot": "eth1"
68
- },
69
- {
70
- "speed": "10000",
71
- "netmask": "255.255.255.0",
72
- "duplex": "FULL",
73
- "ipv6Addr": "",
74
- "macAddr": "AE:B2:F8:20:01:16",
75
- "dhcpEnabled": true,
76
- "ipv4Addr": "192.168.133.41",
77
- "type": "ETHERNET",
78
- "slot": "eth0"
79
- }
80
- ],
81
- "state": "OK",
82
- "hostName": "chef-web02.domain.com",
83
- "eTag": "2015-08-10T16:45:57.019Z",
84
- "category": "os-deployment-servers"
85
- },
86
- {
87
- "modified": "2015-08-10T04:55:27.017Z",
88
- "deviceGroups": null,
89
- "customAttributes": [],
90
- "created": "2015-08-10T04:35:40.000Z",
91
- "uuid": "7d805e1c-beac-e84e-868b-2fb0b6504474",
92
- "cpus": [
93
- {
94
- "cacheSize": "15360",
95
- "speed": "1200",
96
- "stepping": "7",
97
- "model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
98
- "family": "X64",
99
- "status": "ON-LINE",
100
- "slot": "0"
101
- }
102
- ],
103
- "ilo": null,
104
- "serverLocation": {
105
- "rack": "DemoRack",
106
- "enclosure": "dazzle",
107
- "bay": "2"
108
- },
109
- "operatingSystemVersion": null,
110
- "opswLifecycle": "MANAGED",
111
- "osSPVersion": null,
112
- "peerIP": "192.168.133.36",
113
- "stage": "UNKNOWN",
114
- "running": "false",
115
- "reporting": true,
116
- "storageDevices": [],
117
- "ram": "16291780",
118
- "swap": "8216568",
119
- "architecture": null,
120
- "defaultGateway": "16.125.32.1",
121
- "discoveredDate": "2015-08-10T04:35:39.000Z",
122
- "facility": "Appliance",
123
- "hardwareModel": "PROLIANT BL460C GEN8",
124
- "jobsHistory": null,
125
- "lastScannedDate": null,
126
- "loopbackIP": null,
127
- "managementIP": "192.168.133.36",
128
- "manufacturer": "HP",
129
- "mid": "1670001",
130
- "netBios": null,
131
- "operatingSystem": null,
132
- "osFlavor": null,
133
- "serialNumber": "VCGE9KB041",
134
- "locale": null,
135
- "description": null,
136
- "status": "OK",
137
- "uri": "/rest/os-deployment-servers/1670001",
138
- "name": "chef-web01.domain.com",
139
- "interfaces": [
140
- {
141
- "speed": "10000",
142
- "netmask": "255.255.254.0",
143
- "duplex": "FULL",
144
- "ipv6Addr": "",
145
- "macAddr": "AE:B2:F8:20:01:15",
146
- "dhcpEnabled": false,
147
- "ipv4Addr": "16.125.32.38",
148
- "type": "ETHERNET",
149
- "slot": "eth1"
150
- },
151
- {
152
- "speed": "10000",
153
- "netmask": "255.255.255.0",
154
- "duplex": "FULL",
155
- "ipv6Addr": "",
156
- "macAddr": "AE:B2:F8:20:01:14",
157
- "dhcpEnabled": true,
158
- "ipv4Addr": "192.168.133.36",
159
- "type": "ETHERNET",
160
- "slot": "eth0"
161
- }
162
- ],
163
- "state": "OK",
164
- "hostName": "chef-web01.domain.com",
165
- "eTag": "2015-08-10T04:55:27.017Z",
166
- "category": "os-deployment-servers"
167
- }
168
- ],
169
- "start": 0,
170
- "prevPageUri": null,
171
- "nextPageUri": null,
172
- "total": 2,
173
- "count": 2,
174
- "modified": null,
175
- "eTag": null,
176
- "created": null,
177
- "category": null,
178
- "uri": null
1
+ {
2
+ "type": "OsdPaginatedCollection",
3
+ "members": [
4
+ {
5
+ "modified": "2015-08-10T16:45:57.019Z",
6
+ "deviceGroups": null,
7
+ "customAttributes": [],
8
+ "created": "2015-08-10T04:35:52.000Z",
9
+ "uuid": "2b4e5e6c-6154-7849-9807-c96a7e0d445b",
10
+ "cpus": [
11
+ {
12
+ "cacheSize": "15360",
13
+ "speed": "1200",
14
+ "stepping": "7",
15
+ "model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
16
+ "family": "X64",
17
+ "status": "ON-LINE",
18
+ "slot": "0"
19
+ }
20
+ ],
21
+ "ilo": null,
22
+ "serverLocation": {
23
+ "rack": "DemoRack",
24
+ "enclosure": "dazzle",
25
+ "bay": "3"
26
+ },
27
+ "operatingSystemVersion": null,
28
+ "opswLifecycle": "MANAGED",
29
+ "osSPVersion": null,
30
+ "peerIP": "192.168.133.41",
31
+ "stage": "UNKNOWN",
32
+ "running": "false",
33
+ "reporting": true,
34
+ "storageDevices": [],
35
+ "ram": "16291780",
36
+ "swap": "8216568",
37
+ "architecture": null,
38
+ "defaultGateway": "172.125.32.1",
39
+ "discoveredDate": "2015-08-10T04:35:52.000Z",
40
+ "facility": "Appliance",
41
+ "hardwareModel": "PROLIANT BL460C GEN8",
42
+ "jobsHistory": null,
43
+ "lastScannedDate": null,
44
+ "loopbackIP": null,
45
+ "managementIP": "192.168.133.41",
46
+ "manufacturer": "HP",
47
+ "mid": "1680001",
48
+ "netBios": null,
49
+ "operatingSystem": null,
50
+ "osFlavor": null,
51
+ "serialNumber": "VCGE9KB035",
52
+ "locale": null,
53
+ "description": null,
54
+ "status": "OK",
55
+ "uri": "/rest/os-deployment-servers/1680001",
56
+ "name": "chef-web02.domain.com",
57
+ "interfaces": [
58
+ {
59
+ "speed": "10000",
60
+ "netmask": "255.255.254.0",
61
+ "duplex": "FULL",
62
+ "ipv6Addr": "",
63
+ "macAddr": "11:11:11:11:01:17",
64
+ "dhcpEnabled": false,
65
+ "ipv4Addr": "172.125.32.39",
66
+ "type": "ETHERNET",
67
+ "slot": "eth1"
68
+ },
69
+ {
70
+ "speed": "10000",
71
+ "netmask": "255.255.255.0",
72
+ "duplex": "FULL",
73
+ "ipv6Addr": "",
74
+ "macAddr": "11:11:11:11:01:16",
75
+ "dhcpEnabled": true,
76
+ "ipv4Addr": "192.168.133.41",
77
+ "type": "ETHERNET",
78
+ "slot": "eth0"
79
+ }
80
+ ],
81
+ "state": "OK",
82
+ "hostName": "chef-web02.domain.com",
83
+ "eTag": "2015-08-10T16:45:57.019Z",
84
+ "category": "os-deployment-servers"
85
+ },
86
+ {
87
+ "modified": "2015-08-10T04:55:27.017Z",
88
+ "deviceGroups": null,
89
+ "customAttributes": [],
90
+ "created": "2015-08-10T04:35:40.000Z",
91
+ "uuid": "7d805e1c-beac-e84e-868b-2fb0b6504474",
92
+ "cpus": [
93
+ {
94
+ "cacheSize": "15360",
95
+ "speed": "1200",
96
+ "stepping": "7",
97
+ "model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
98
+ "family": "X64",
99
+ "status": "ON-LINE",
100
+ "slot": "0"
101
+ }
102
+ ],
103
+ "ilo": null,
104
+ "serverLocation": {
105
+ "rack": "DemoRack",
106
+ "enclosure": "dazzle",
107
+ "bay": "2"
108
+ },
109
+ "operatingSystemVersion": null,
110
+ "opswLifecycle": "MANAGED",
111
+ "osSPVersion": null,
112
+ "peerIP": "192.168.133.36",
113
+ "stage": "UNKNOWN",
114
+ "running": "false",
115
+ "reporting": true,
116
+ "storageDevices": [],
117
+ "ram": "16291780",
118
+ "swap": "8216568",
119
+ "architecture": null,
120
+ "defaultGateway": "172.125.32.1",
121
+ "discoveredDate": "2015-08-10T04:35:39.000Z",
122
+ "facility": "Appliance",
123
+ "hardwareModel": "PROLIANT BL460C GEN8",
124
+ "jobsHistory": null,
125
+ "lastScannedDate": null,
126
+ "loopbackIP": null,
127
+ "managementIP": "192.168.133.36",
128
+ "manufacturer": "HP",
129
+ "mid": "1670001",
130
+ "netBios": null,
131
+ "operatingSystem": null,
132
+ "osFlavor": null,
133
+ "serialNumber": "VCGE9KB041",
134
+ "locale": null,
135
+ "description": null,
136
+ "status": "OK",
137
+ "uri": "/rest/os-deployment-servers/1670001",
138
+ "name": "chef-web01.domain.com",
139
+ "interfaces": [
140
+ {
141
+ "speed": "10000",
142
+ "netmask": "255.255.254.0",
143
+ "duplex": "FULL",
144
+ "ipv6Addr": "",
145
+ "macAddr": "11:11:11:11:01:15",
146
+ "dhcpEnabled": false,
147
+ "ipv4Addr": "172.125.32.38",
148
+ "type": "ETHERNET",
149
+ "slot": "eth1"
150
+ },
151
+ {
152
+ "speed": "10000",
153
+ "netmask": "255.255.255.0",
154
+ "duplex": "FULL",
155
+ "ipv6Addr": "",
156
+ "macAddr": "11:11:11:11:01:14",
157
+ "dhcpEnabled": true,
158
+ "ipv4Addr": "192.168.133.36",
159
+ "type": "ETHERNET",
160
+ "slot": "eth0"
161
+ }
162
+ ],
163
+ "state": "OK",
164
+ "hostName": "chef-web01.domain.com",
165
+ "eTag": "2015-08-10T04:55:27.017Z",
166
+ "category": "os-deployment-servers"
167
+ }
168
+ ],
169
+ "start": 0,
170
+ "prevPageUri": null,
171
+ "nextPageUri": null,
172
+ "total": 2,
173
+ "count": 2,
174
+ "modified": null,
175
+ "eTag": null,
176
+ "created": null,
177
+ "category": null,
178
+ "uri": null
179
179
  }