Dell iDRAC Ansible模块初探

每当土豪公司的服务器到手了之后,得刷固件,做RAID,安装操作系统吧,想想就头大。

这次到了N台DELL的PowerEdge 系列的服务器,刚好Ansible可以发挥作用了。

纵观现在的服务器,从以前闭源的管理系统,如DELL的OpenManage和iDRAC、华为的iBMC、惠普的OneView和iLO、l联想的XClarity和XClarity Controller 嵌入式管理、IMM2(收购自IBM的 SystemX PC Server系列) 等等,都在积极拥抱开源自动化工具,与Ansible,chef等开源软件都有不同程度的整合及支持。

先拿台DELL PowerEdge 2U机架服务器玩玩~~

工欲善其事必先利其器

要开干了,我们得准备一下家伙:

  • Ansible >= 2.2
  • Python >= 2.7
  • Dell EMC OpenManage Python SDK
  • iDRAC with enterprise license

DellEMC OpenManage Python SDK(OMSDK)是一个python库,可帮助开发人员和客户自动化PowerEdge服务器的生命周期管理。 OMSDK模块利用基于DMTF Redfish标准的iDRAC REST API以及用于配置,部署,更新和监控PowerEdge服务器的WS-Man和SNMP协议。此外,OMSDK还支持监控和查询PowerEdge模块化基础架构(M1000e,VRTX和FX2)的库存信息。

戴尔EMC OpenManage Ansible Modules允许数据中心和IT管理员使用RedHat Ansible来通过利用内置于集成戴尔远程访问控制器(IDRAC)中的管理自动化功能,实现戴尔EMC PowerEdge服务器(第12代PowerEdge服务器及以后版本)的配置、部署和更新。

所有Dell EMC PowerEdge第12代及更高版本的PowerEdge服务器,以及Dell EMC PowerEdge M1000e,Dell EMC PowerEdge VRTX和Dell EMC PowerEdge FX2机箱的机箱管理控制器

起步条件:

  • iDRAC 7/8,固件版本为2.41.40.40或更高版本
  • iDRAC 9,固件版本3.00.00.00或以上

看了这段介绍,感觉很有高大上。

就是说你要玩这个,iDRAC的版本必须符合上述要求,不然就得先升级iDRAC的固件版本。

这里假设你已经升级完毕,这里放上其中一台已经升级完毕的一张图,供参考:

iDRAC Version

安装DellEMC OpenManage Python SDK (OMSDK)

克隆代码到运行ansible的机器,一般是运维的笔记本或者是工作站。

先安装依赖包

1
pip install -r https://raw.githubusercontent.com/dell/omsdk/master/requirements-python2x.txt

安装最新的稳定omsdk版本

1
pip install omsdk

安装最新的OM稳定驱动程序版本

1
pip install omdrivers

查看安装情况

1
2
3
root@Ansible:/opt# pip list |grep om
omdrivers 1.1.267
omsdk 1.1.267

安装Dell-EMC-Ansible-Modules-for-iDRAC

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
root@Ansible:/opt# git clone https://github.com/dell/Dell-EMC-Ansible-Modules-for-iDRAC
Cloning into 'Dell-EMC-Ansible-Modules-for-iDRAC'...
remote: Counting objects: 1201, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 1201 (delta 5), reused 6 (delta 2), pack-reused 1184
Receiving objects: 100% (1201/1201), 3.10 MiB | 579.00 KiB/s, done.
Resolving deltas: 100% (835/835), done.
Checking connectivity... done.
root@Ansible:/opt# cd Dell-EMC-Ansible-Modules-for-iDRAC/
root@Ansible:/opt/Dell-EMC-Ansible-Modules-for-iDRAC# ll
total 104
drwxr-xr-x 10 root root 4096 Sep 17 16:44 ./
drwxr-xr-x 5 root root 4096 Sep 17 16:44 ../
-rw-r--r-- 1 root root 35149 Sep 17 16:44 COPYING.md
-rw-r--r-- 1 root root 636 Sep 17 16:44 dellemc_log.conf
drwxr-xr-x 2 root root 4096 Sep 17 16:44 docs/
drwxr-xr-x 2 root root 4096 Sep 17 16:44 examples/
drwxr-xr-x 8 root root 4096 Sep 17 16:44 .git/
-rw-r--r-- 1 root root 1212 Sep 17 16:44 .gitignore
drwxr-xr-x 2 root root 4096 Sep 17 16:44 group_vars/
drwxr-xr-x 2 root root 4096 Sep 17 16:44 host_vars/
-rw-r--r-- 1 root root 5114 Sep 17 16:44 install.py
drwxr-xr-x 2 root root 4096 Sep 17 16:44 library/
-rw-r--r-- 1 root root 68 Sep 17 16:44 properties.json
-rw-r--r-- 1 root root 2564 Sep 17 16:44 README.md
drwxr-xr-x 2 root root 4096 Sep 17 16:44 samples/
-rw-r--r-- 1 root root 2600 Sep 17 16:44 uninstall.py
drwxr-xr-x 2 root root 4096 Sep 17 16:44 utils/
root@Ansible:/opt/Dell-EMC-Ansible-Modules-for-iDRAC# python install.py
Dell EMC OpenManage Ansible Modules v1.0 installation has started.
Checking prerequisites...

Ansible version 2.2 or later is installed.
OpenManage Software Development Kit version 1.0 or later is installed.
Installing Dell EMC OpenManage Ansible Modules specific folders and files...
SUCCESS: Dell EMC OpenManage Ansible Modules v1.0 is installed successfully.
root@Ansible:/opt/Dell-EMC-Ansible-Modules-for-iDRAC#

就这么简单,就安装完咧~,下面可以开始玩耍了。

例如刚拿到一台机器,得看看各固件版本

Playbook如下:

1
2
3
4
5
6
7
8
9
10
11
- hosts: dell
connection: local
name: Get Installed Firmware Inventory
gather_facts: False

tasks:
- name: Get Installed Firmware Inventory
dellemc_get_firmware_inventory:
idrac_ip: "你的idrac IP"
idrac_user: "用户名"
idrac_pwd: "密码"

输出结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
root@Ansible:/opt/Dell-EMC-Ansible-Modules-for-iDRAC/examples# ansible-playbook -vvv getfirmwareinventory.yml 
ansible-playbook 2.6.4
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible-playbook
python version = 2.7.12 (default, Dec 4 2017, 14:50:18) [GCC 5.4.0 20160609]
Using /etc/ansible/ansible.cfg as config file
Parsed /etc/ansible/hosts inventory source with ini plugin

PLAYBOOK: getfirmwareinventory.yml *******************************************************************************************************************************************************************************
1 plays in getfirmwareinventory.yml

PLAY [Get Installed Firmware Inventory] **************************************************************************************************************************************************************************
META: ran handlers

TASK [Get Installed Firmware Inventory] **************************************************************************************************************************************************************************
task path: /opt/Dell-EMC-Ansible-Modules-for-iDRAC/examples/getfirmwareinventory.yml:8
<192.168.0.120> ESTABLISH LOCAL CONNECTION FOR USER: root
<192.168.0.120> EXEC /bin/sh -c 'echo ~root && sleep 0'
<192.168.0.120> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1537337686.9-208657366070184 `" && echo ansible-tmp-1537337686.9-208657366070184="` echo /root/.ansible/tmp/ansible-tmp-1537337686.9-208657366070184 `" ) && sleep 0'
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/extras/dellemc/server/dellemc_get_firmware_inventory.py
<192.168.0.120> PUT /root/.ansible/tmp/ansible-local-3362MAlz0C/tmpx1eu50 TO /root/.ansible/tmp/ansible-tmp-1537337686.9-208657366070184/dellemc_get_firmware_inventory.py
<192.168.0.120> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1537337686.9-208657366070184/ /root/.ansible/tmp/ansible-tmp-1537337686.9-208657366070184/dellemc_get_firmware_inventory.py && sleep 0'
<192.168.0.120> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1537337686.9-208657366070184/dellemc_get_firmware_inventory.py && sleep 0'
<192.168.0.120> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1537337686.9-208657366070184/ > /dev/null 2>&1 && sleep 0'
ok: [192.168.0.120] => {
"ansible_facts": {
"192.168.0.120": {
"Firmware Inventory": {
"Firmware": [
{
"BuildNumber": "0",
"Classifications": "10",
"ComponentID": "26041",
"ComponentType": "FRMW",
"DeviceID": null,
"ElementName": "Power Supply.Slot.1",
"FQDD": "PSU.Slot.1",
"IdentityInfoType": "OrgID:ComponentType:ComponentID",
"IdentityInfoValue": "DCIM:firmware:26041",
"InstallationDate": "2018-09-17T22:04:13Z",
"InstanceID": "DCIM:INSTALLED#0x15__PSU.Slot.1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#0x15__PSU.Slot.1",
"MajorVersion": "7",
"MinorVersion": "2",
"RevisionNumber": "80",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": null,
"SubVendorID": null,
"Updateable": "true",
"VendorID": null,
"VersionString": "07.2B.80",
"impactsTPMmeasurements": "false"
},
{
"BuildNumber": "0",
"Classifications": "10",
"ComponentID": "26041",
"ComponentType": "FRMW",
"DeviceID": null,
"ElementName": "Power Supply.Slot.2",
"FQDD": "PSU.Slot.2",
"IdentityInfoType": "OrgID:ComponentType:ComponentID",
"IdentityInfoValue": "DCIM:firmware:26041",
"InstallationDate": "2018-09-17T22:08:11Z",
"InstanceID": "DCIM:INSTALLED#0x15__PSU.Slot.2",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#0x15__PSU.Slot.2",
"MajorVersion": "7",
"MinorVersion": "2",
"RevisionNumber": "80",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": null,
"SubVendorID": null,
"Updateable": "true",
"VendorID": null,
"VersionString": "07.2B.80",
"impactsTPMmeasurements": "false"
},
{
"BuildNumber": "60",
"Classifications": "10",
"ComponentID": "25227",
"ComponentType": "FRMW",
"DeviceID": null,
"ElementName": "Integrated Dell Remote Access Controller",
"FQDD": "iDRAC.Embedded.1-1",
"IdentityInfoType": "OrgID:ComponentType:ComponentID",
"IdentityInfoValue": "DCIM:firmware:25227",
"InstallationDate": "2018-09-14T13:37:35Z",
"InstanceID": "DCIM:INSTALLED#iDRAC.Embedded.1-1#IDRACinfo",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#iDRAC.Embedded.1-1#IDRACinfo",
"MajorVersion": "2",
"MinorVersion": "60",
"RevisionNumber": "60",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": null,
"SubVendorID": null,
"Updateable": "true",
"VendorID": null,
"VersionString": "2.60.60.60",
"impactsTPMmeasurements": "false"
},
{
"BuildNumber": "0",
"Classifications": "10",
"ComponentID": null,
"ComponentType": "FRMW",
"DeviceID": "165F",
"ElementName": "Broadcom Gigabit Ethernet BCM5720 - D4:AE:52:AA:B1:70",
"FQDD": "NIC.Integrated.1-3-1",
"IdentityInfoType": "OrgID:ComponentType:VendorID:DeviceID:SubVendorID:SubDeviceID",
"IdentityInfoValue": "DCIM:firmware:14E4:165F:1028:1F5B",
"InstallationDate": "2018-09-17T23:42:14Z",
"InstanceID": "DCIM:INSTALLED#701__NIC.Integrated.1-3-1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#701__NIC.Integrated.1-3-1",
"MajorVersion": "20",
"MinorVersion": "8",
"RevisionNumber": "4",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": "1F5B",
"SubVendorID": "1028",
"Updateable": "true",
"VendorID": "14E4",
"VersionString": "20.8.4",
"impactsTPMmeasurements": "true"
},
{
"BuildNumber": "0",
"Classifications": "10",
"ComponentID": null,
"ComponentType": "FRMW",
"DeviceID": "165F",
"ElementName": "Broadcom Gigabit Ethernet BCM5720 - D4:AE:52:AA:B1:71",
"FQDD": "NIC.Integrated.1-4-1",
"IdentityInfoType": "OrgID:ComponentType:VendorID:DeviceID:SubVendorID:SubDeviceID",
"IdentityInfoValue": "DCIM:firmware:14E4:165F:1028:1F5B",
"InstallationDate": "2018-09-17T23:42:19Z",
"InstanceID": "DCIM:INSTALLED#701__NIC.Integrated.1-4-1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#701__NIC.Integrated.1-4-1",
"MajorVersion": "20",
"MinorVersion": "8",
"RevisionNumber": "4",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": "1F5B",
"SubVendorID": "1028",
"Updateable": "true",
"VendorID": "14E4",
"VersionString": "20.8.4",
"impactsTPMmeasurements": "true"
},
{
"BuildNumber": "0",
"Classifications": "10",
"ComponentID": null,
"ComponentType": "FRMW",
"DeviceID": "165F",
"ElementName": "Broadcom Gigabit Ethernet BCM5720 - D4:AE:52:AA:B1:6E",
"FQDD": "NIC.Integrated.1-1-1",
"IdentityInfoType": "OrgID:ComponentType:VendorID:DeviceID:SubVendorID:SubDeviceID",
"IdentityInfoValue": "DCIM:firmware:14E4:165F:1028:1F5B",
"InstallationDate": "2018-09-17T23:42:26Z",
"InstanceID": "DCIM:INSTALLED#701__NIC.Integrated.1-1-1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#701__NIC.Integrated.1-1-1",
"MajorVersion": "20",
"MinorVersion": "8",
"RevisionNumber": "4",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": "1F5B",
"SubVendorID": "1028",
"Updateable": "true",
"VendorID": "14E4",
"VersionString": "20.8.4",
"impactsTPMmeasurements": "true"
},
{
"BuildNumber": "0",
"Classifications": "10",
"ComponentID": null,
"ComponentType": "FRMW",
"DeviceID": "165F",
"ElementName": "Broadcom Gigabit Ethernet BCM5720 - D4:AE:52:AA:B1:6F",
"FQDD": "NIC.Integrated.1-2-1",
"IdentityInfoType": "OrgID:ComponentType:VendorID:DeviceID:SubVendorID:SubDeviceID",
"IdentityInfoValue": "DCIM:firmware:14E4:165F:1028:1F5B",
"InstallationDate": "2018-09-17T23:42:30Z",
"InstanceID": "DCIM:INSTALLED#701__NIC.Integrated.1-2-1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#701__NIC.Integrated.1-2-1",
"MajorVersion": "20",
"MinorVersion": "8",
"RevisionNumber": "4",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": "1F5B",
"SubVendorID": "1028",
"Updateable": "true",
"VendorID": "14E4",
"VersionString": "20.8.4",
"impactsTPMmeasurements": "true"
},
{
"BuildNumber": "0",
"Classifications": "11",
"ComponentID": "159",
"ComponentType": "BIOS",
"DeviceID": null,
"ElementName": "BIOS",
"FQDD": "BIOS.Setup.1-1",
"IdentityInfoType": "OrgID:ComponentType:ComponentID",
"IdentityInfoValue": "DCIM:BIOS:159",
"InstallationDate": "2018-09-19T02:43:40Z",
"InstanceID": "DCIM:INSTALLED#741__BIOS.Setup.1-1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#741__BIOS.Setup.1-1",
"MajorVersion": "2",
"MinorVersion": "7",
"RevisionNumber": "0",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": null,
"SubVendorID": null,
"Updateable": "true",
"VendorID": null,
"VersionString": "2.7.0",
"impactsTPMmeasurements": "true"
},
{
"BuildNumber": "0",
"Classifications": "10",
"ComponentID": null,
"ComponentType": "FRMW",
"DeviceID": "005B",
"ElementName": "PERC H710 Mini",
"FQDD": "RAID.Integrated.1-1",
"IdentityInfoType": "OrgID:ComponentType:VendorID:DeviceID:SubVendorID:SubDeviceID",
"IdentityInfoValue": "DCIM:firmware:1000:005B:1028:1F38",
"InstallationDate": "2018-09-17T22:11:32Z",
"InstanceID": "DCIM:INSTALLED#301_C_RAID.Integrated.1-1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#301_C_RAID.Integrated.1-1",
"MajorVersion": "21",
"MinorVersion": "3",
"RevisionNumber": null,
"RevisionString": "5-0002",
"Status": "Installed",
"SubDeviceID": "1F38",
"SubVendorID": "1028",
"Updateable": "true",
"VendorID": "1000",
"VersionString": "21.3.5-0002",
"impactsTPMmeasurements": "true"
},
{
"BuildNumber": null,
"Classifications": "10",
"ComponentID": "20794",
"ComponentType": "FRMW",
"DeviceID": null,
"ElementName": "Disk 0 in Backplane 1 of Integrated RAID Controller 1",
"FQDD": "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Integrated.1-1",
"IdentityInfoType": "OrgID:ComponentType:ComponentID",
"IdentityInfoValue": "DCIM:firmware:20794",
"InstallationDate": "2018-09-14T13:38:32Z",
"InstanceID": "DCIM:INSTALLED#304_C_Disk.Bay.0:Enclosure.Internal.0-1:RAID.Integrated.1-1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#304_C_Disk.Bay.0:Enclosure.Internal.0-1:RAID.Integrated.1-1",
"MajorVersion": null,
"MinorVersion": null,
"RevisionNumber": null,
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": null,
"SubVendorID": null,
"Updateable": "true",
"VendorID": null,
"VersionString": "ES68",
"impactsTPMmeasurements": "false"
},
{
"BuildNumber": "0",
"Classifications": "10",
"ComponentID": "26018",
"ComponentType": "FRMW",
"DeviceID": null,
"ElementName": "BP12G+ 0:1",
"FQDD": "Enclosure.Internal.0-1:RAID.Integrated.1-1",
"IdentityInfoType": "OrgID:ComponentType:ComponentID",
"IdentityInfoValue": "DCIM:firmware:26018",
"InstallationDate": "2018-09-14T13:38:31Z",
"InstanceID": "DCIM:INSTALLED#308_C_Enclosure.Internal.0-1:RAID.Integrated.1-1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#308_C_Enclosure.Internal.0-1:RAID.Integrated.1-1",
"MajorVersion": "1",
"MinorVersion": "0",
"RevisionNumber": "0",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": null,
"SubVendorID": null,
"Updateable": "true",
"VendorID": null,
"VersionString": "1.00",
"impactsTPMmeasurements": "false"
},
{
"BuildNumber": "60",
"Classifications": "10",
"ComponentID": "28897",
"ComponentType": "APAC",
"DeviceID": null,
"ElementName": "Lifecycle Controller",
"FQDD": "USC.Embedded.1:LC.Embedded.1",
"IdentityInfoType": "OrgID:ComponentType:ComponentID",
"IdentityInfoValue": "DCIM:firmware:28897",
"InstallationDate": "2018-09-14T13:37:43Z",
"InstanceID": "DCIM:INSTALLED#802__USC.Embedded.1:LC.Embedded.1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#802__USC.Embedded.1:LC.Embedded.1",
"MajorVersion": "2",
"MinorVersion": "60",
"RevisionNumber": "60",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": null,
"SubVendorID": null,
"Updateable": "false",
"VendorID": null,
"VersionString": "2.60.60.60",
"impactsTPMmeasurements": "false"
},
{
"BuildNumber": null,
"Classifications": "10",
"ComponentID": "25806",
"ComponentType": "APAC",
"DeviceID": null,
"ElementName": "Dell 64 Bit uEFI Diagnostics, version 4247, 4247A1, 4247.2",
"FQDD": "Diagnostics.Embedded.1:LC.Embedded.1",
"IdentityInfoType": "OrgID:ComponentType:ComponentID",
"IdentityInfoValue": "DCIM:firmware:25806",
"InstallationDate": "2018-09-17T21:35:38Z",
"InstanceID": "DCIM:INSTALLED#802__Diagnostics.Embedded.1:LC.Embedded.1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#802__Diagnostics.Embedded.1:LC.Embedded.1",
"MajorVersion": null,
"MinorVersion": null,
"RevisionNumber": null,
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": null,
"SubVendorID": null,
"Updateable": "true",
"VendorID": null,
"VersionString": "4247A1",
"impactsTPMmeasurements": "false"
},
{
"BuildNumber": "0",
"Classifications": "10",
"ComponentID": "18981",
"ComponentType": "APAC",
"DeviceID": null,
"ElementName": "Dell OS Driver Pack, 15.07.07, A00",
"FQDD": "DriverPack.Embedded.1:LC.Embedded.1",
"IdentityInfoType": "OrgID:ComponentType:ComponentID",
"IdentityInfoValue": "DCIM:firmware:18981",
"InstallationDate": "2018-09-17T21:34:21Z",
"InstanceID": "DCIM:INSTALLED#802__DriverPack.Embedded.1:LC.Embedded.1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#802__DriverPack.Embedded.1:LC.Embedded.1",
"MajorVersion": "15",
"MinorVersion": "7",
"RevisionNumber": "7",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": null,
"SubVendorID": null,
"Updateable": "true",
"VendorID": null,
"VersionString": "15.07.07",
"impactsTPMmeasurements": "false"
},
{
"BuildNumber": "0",
"Classifications": "10",
"ComponentID": "101734",
"ComponentType": "APAC",
"DeviceID": null,
"ElementName": "OS COLLECTOR 2.1, A00",
"FQDD": "OSCollector.Embedded.1",
"IdentityInfoType": "OrgID:ComponentType:ComponentID",
"IdentityInfoValue": "DCIM:firmware:101734",
"InstallationDate": "2018-09-17T21:35:19Z",
"InstanceID": "DCIM:INSTALLED#802__OSCollector.Embedded.1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#802__OSCollector.Embedded.1",
"MajorVersion": "2",
"MinorVersion": "1",
"RevisionNumber": "0",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": null,
"SubVendorID": null,
"Updateable": "true",
"VendorID": null,
"VersionString": "2.1",
"impactsTPMmeasurements": "false"
},
{
"BuildNumber": "0",
"Classifications": "10",
"ComponentID": "27763",
"ComponentType": "FRMW",
"DeviceID": null,
"ElementName": "System CPLD",
"FQDD": "CPLD.Embedded.1",
"IdentityInfoType": "OrgID:ComponentType:ComponentID",
"IdentityInfoValue": "DCIM:firmware:27763",
"InstallationDate": "2012-08-01T04:09:10Z",
"InstanceID": "DCIM:INSTALLED#803__CPLD.Embedded.1",
"IsEntity": "true",
"Key": "DCIM:INSTALLED#803__CPLD.Embedded.1",
"MajorVersion": "1",
"MinorVersion": "0",
"RevisionNumber": "3",
"RevisionString": null,
"Status": "Installed",
"SubDeviceID": null,
"SubVendorID": null,
"Updateable": "true",
"VendorID": null,
"VersionString": "1.0.3",
"impactsTPMmeasurements": "false"
}
],
"Subsystem": [],
"System": [],
"iDRAC": []
}
}
},
"changed": false,
"invocation": {
"module_args": {
"idrac": null,
"idrac_ip": "192.168.0.120",
"idrac_port": 443,
"idrac_pwd": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"idrac_user": "root"
}
}
}
META: ran handlers
META: ran handlers

PLAY RECAP *******************************************************************************************************************************************************************************************************
192.168.0.120 : ok=1 changed=0 unreachable=0 failed=0

可以看到返回的信息是很详细的。

看来广阔天地,大有作为啊。

0%