UCS chassis enlist Failed to probe and enlist UCS nodes: list index out of range
Bug #1469846 reported by
David Britton
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
High
|
Unassigned | ||
1.8 |
Fix Released
|
High
|
Andres Rodriguez | ||
1.9 |
Fix Released
|
High
|
Andres Rodriguez |
Bug Description
I have 3/8 unconfigured blades, and this error shows up in the maas.log
Jun 29 14:22:41 localhost maas.rpc.cluster: [ERROR] Failed to probe and enlist UCS nodes: list index out of range
There is no other error. Nothing in the UI, nothing in any other logs. I'm guessing it's because of unassociated blades, but I wouldn't expect (as a user) to get an error in that case.
Related branches
lp:~andreserl/maas/fix_lp1469846
- Raphaël Badin (community): Approve
-
Diff: 113 lines (+66/-1)2 files modifiedsrc/provisioningserver/drivers/hardware/tests/test_ucsm.py (+46/-0)
src/provisioningserver/drivers/hardware/ucsm.py (+20/-1)
lp:~andreserl/maas/fix_lp1469846_1.8
- Andres Rodriguez (community): Approve
-
Diff: 113 lines (+66/-1)2 files modifiedsrc/provisioningserver/drivers/hardware/tests/test_ucsm.py (+46/-0)
src/provisioningserver/drivers/hardware/ucsm.py (+20/-1)
Changed in maas: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Andres Rodriguez (andreserl) |
milestone: | none → 1.9.0 |
milestone: | 1.9.0 → none |
Changed in maas: | |
assignee: | Andres Rodriguez (andreserl) → nobody |
Changed in maas: | |
status: | Confirmed → Fix Committed |
Changed in maas: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
in ucsm.py, adding the following method:
def lan_boot_ options( api, server): profile( api, server) profile. get('operBootPo licyName' ) resolve_ children( boot_profile_ dn) xpath(' //outConfigs/ lsbootLan' )
"""..."""
service_profile = get_service_
boot_profile_dn = service_
response = api.config_
return response.
and changing 'probe_servers' to:
def probe_servers(api):
continue options( api, s):
continue
server_ list.append( (s,get_ macs(api, s)))
"""Retrieve the UUID and MAC addresses for servers from the UCS Manager."""
servers = get_servers(api)
server_list = []
for s in servers:
if not get_macs(api, s):
if not lan_boot_
return server_list
Works around the issue.