Bump timeout for code update file
This 10 second timeout is for the write, untar, inotify fire, and
creation of a software D-Bus object.
IBM has large images for its p10bmc, 125M and growing. We have seen this
take longer than 10 seconds on a AST2600. Bump this timeout to 25
seconds.
Most of the 10 seconds seems to be the untar.
This default 10 seconds is only used for the http upload path. TFTP
already bumps this timeout to 600 seconds.
[1] https://github.com/openbmc/bmcweb/blob/master/redfish-core/lib/update_service.hpp#L488
Could have instead added the 25 seconds to the
monitorForSoftwareAvailable call but figured having the default be 25
is reasonable.
[1] https://github.com/openbmc/bmcweb/blob/master/redfish-core/lib/update_service.hpp#L530
On a fail:
```
Sep 07 12:15:01 p10bmc phosphor-version-software-manager[752]: Untaring /tmp/images/69fe6e22-2bd0-42c4-be69-7f388debc6d1 to /tmp/images/imageHaTO5K
Sep 07 12:15:08 p10bmc bmcweb[2299]: (2022-09-07 12:15:08) [ERROR "update_service.hpp":392] Timed out waiting for firmware object being created
Sep 07 12:15:08 p10bmc bmcweb[2299]: (2022-09-07 12:15:08) [ERROR "update_service.hpp":394] FW image may has already been uploaded to server
Sep 07 12:15:08 p10bmc bmcweb[2299]: (2022-09-07 12:15:08) [CRITICAL "error_messages.cpp":233] Internal Error ../git/redfish-core/include/../lib/update_service.hpp(403:49) `redfish::monitorForSoftwareAvailable(const std::shared_ptr<bmcweb::AsyncResp>&, const crow::Request&, const string&, int)::<lambda(const boost::system::error_code&)>`:
```
Tested: On a BMC hitting this, saw the Internal Error on upload without
this change. With this change, the update now works.
Change-Id: I47940f074ac42ceb59011411b79679ff4c8360d6
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
diff --git a/redfish-core/lib/update_service.hpp b/redfish-core/lib/update_service.hpp
index ab99dc3..72907ba 100644
--- a/redfish-core/lib/update_service.hpp
+++ b/redfish-core/lib/update_service.hpp
@@ -260,7 +260,7 @@
static void monitorForSoftwareAvailable(
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
const crow::Request& req, const std::string& url,
- int timeoutTimeSeconds = 10)
+ int timeoutTimeSeconds = 25)
{
// Only allow one FW update at a time
if (fwUpdateInProgress)