During system upgrades, the sysinv-agent can become unresponsive when the sync operation in _update_local_puppet_cache() blocks indefinitely due to storage connectivity issues (e.g., CephFS monitor failures). This prevents the agent from reporting config completion and causes upgrade timeouts. Add a 30-second timeout to the subprocess.check_call(['sync']) operation with graceful handling of timeout exceptions. The puppet cache copy operation has already completed successfully, so sync failure does not affect functionality - it only impacts write durability guarantees. This defensive fix prevents agent hangs during storage subsystem instability and allows upgrades to proceed normally. Test Plan: PASS: Verify normal puppet cache updates work with timeout Closes-Bug: 2136878 Change-Id: Ibdbe5acb367c6d9eadb8cb727c12d0a5e7feba00 Signed-off-by: rummadis <ramu.ummadishetty@windriver.com>
config
The starlingx/config repository handles the StarlingX configuration management services.
Its key component is the System Inventory Service (Sysinv), which provides the system command-line interface (CLI)1.
This repository is not intended to be developed standalone, but rather as part of the StarlingX Source System, which is defined by the StarlingX manifest2.
References
Description
Languages
Python
98%
Shell
1.6%
CSS
0.2%