Skip to content

badfish --export-scp hangs doing nothing and then times out #499

Description

@stephane-chazelas

Your System Details

$ /opt/badfish/bin/python --version
Python 3.12.3
$ /opt/badfish/bin/pip list

Package           Version
----------------- -------
aiohappyeyeballs  2.6.1
aiohttp           3.13.3
aiosignal         1.4.0
async-lru         2.1.0
attrs             25.4.0
badfish           1.0.7
frozenlist        1.8.0
idna              3.11
multidict         6.7.1
packaging         26.0
pip               26.0
pip-review        1.3.0
propcache         0.4.1
PyYAML            6.0.3
setuptools        80.10.2
typing_extensions 4.15.0
yarl              1.22.0

(badfish here from current HEAD of development branch, not v1.0.7 tag, though it's the same with 1.0.7 and 1.0.6).

  • Operating System: Ubuntu 24.04
  • Target System Type: Dell PowerEdge R760
  • BMC Firmware version: 7.20.80.50

Describe the bug

$ BADFISH_USER=$user BADFISH_PASSWORD=$password -H "$host" --export-scp ./ --scp-targets BIOS --scp-include-read-only -v -v -v -l /dev/stderr
2026-02-02 09:39:36,937: - DEBUG    - Systems service: /redfish/v1/Systems/System.Embedded.1.
2026-02-02 09:39:37,046: - DEBUG    - Managers service: /redfish/v1/Managers/iDRAC.Embedded.1.
2026-02-02 09:39:37,218: - INFO     - Job for exporting server configuration, successfully created. Job ID: JID_700251771871
2026-02-02 09:39:38,583: - INFO     - Exporting Server Configuration Profile., percent complete: 20

And then it hangs there until the 5 minute timeout:

2026-02-02 09:44:39,172: - ERROR    - Job has been timed out, took longer than 5 minutes, command failed.
2026-02-02 09:44:39,532: - DEBUG    - b'{"@Message.ExtendedInfo":[{"Message":"The request completed successfully.","MessageArgs":[],"MessageArgs@odata.count":0,"MessageId":"Base.1.12.Success","RelatedProperties":[],"RelatedProperties@odata.count":0,"Resolution":"None","Severity":"OK"},{"Message":"The operation successfully completed.","MessageArgs":[],"MessageArgs@odata.count":0,"MessageId":"IDRAC.2.9.SYS413","RelatedProperties":[],"RelatedProperties@odata.count":0,"Resolution":"No response action is required.","Severity":"Informational"}]}'
2026-02-02 09:44:39,535: - DEBUG    - Session successfully deleted for $host
2026-02-02 09:44:39,535: - DEBUG    - Session closed for host: $host
- DEBUG    - Systems service: /redfish/v1/Systems/System.Embedded.1.
- DEBUG    - Managers service: /redfish/v1/Managers/iDRAC.Embedded.1.
- INFO     - Job for exporting server configuration, successfully created. Job ID: JID_700251771871
- INFO     - Exporting Server Configuration Profile., percent complete: 20
- ERROR    - Job has been timed out, took longer than 5 minutes, command failed.
- DEBUG    - b'{"@Message.ExtendedInfo":[{"Message":"The request completed successfully.","MessageArgs":[],"MessageArgs@odata.count":0,"MessageId":"Base.1.12.Success","RelatedProperties":[],"RelatedProperties@odata.count":0,"Resolution":"None","Severity":"OK"},{"Message":"The operation successfully completed.","MessageArgs":[],"MessageArgs@odata.count":0,"MessageId":"IDRAC.2.9.SYS413","RelatedProperties":[],"RelatedProperties@odata.count":0,"Resolution":"No response action is required.","Severity":"Informational"}]}'
- DEBUG    - Session successfully deleted for $host
- DEBUG    - Session closed for host: $host

(using the work around for #496, but doesn't make any difference to this issue)

And then it hangs there

My understanding is that it's meant to POST a request to Actions/Oem/EID_674_Manager.ExportSystemConfiguration, which spawns a "job", and then it's meant to GET the status of that job repeatedly until it gets to 100% completion upon which the data is returned.

But here we see it doing one job status request, and then hangs. When run under strace -ftt, we see it just sleeping (poll on no fd with 1s timeout repeatedly) and not making any request:

2644000 09:39:39.585868 epoll_wait(4, [], 1, 0) = 0
2644000 09:39:39.586358 epoll_wait(4, [], 1, 1000) = 0
2644000 09:39:40.587794 epoll_wait(4, [], 1, 0) = 0
2644000 09:39:40.588068 epoll_wait(4, [], 1, 1000) = 0
2644000 09:39:41.589475 epoll_wait(4, [], 1, 0) = 0
2644000 09:39:41.589964 epoll_wait(4, [], 1, 1000) = 0
2644000 09:39:42.591399 epoll_wait(4, [], 1, 0) = 0
2644000 09:39:42.591706 epoll_wait(4, [], 1, 1000) = 0
[...]
2644000 09:39:39.585868 epoll_wait(4, [], 1, 0) = 0
2644000 09:39:39.586358 epoll_wait(4, [], 1, 1000) = 0
2644000 09:39:40.587794 epoll_wait(4, [], 1, 0) = 0
2644000 09:39:40.588068 epoll_wait(4, [], 1, 1000) = 0
2644000 09:39:41.589475 epoll_wait(4, [], 1, 0) = 0
2644000 09:39:41.589964 epoll_wait(4, [], 1, 1000) = 0
2644000 09:39:42.591399 epoll_wait(4, [], 1, 0) = 0
2644000 09:39:42.591706 epoll_wait(4, [], 1, 1000) = 0

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions