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,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
  }