rummadis 8f707493d0 Add timeout to sync operation in puppet cache update
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>
2025-12-23 04:00:55 -05:00
2019-04-19 19:52:42 +00:00
2021-08-27 08:39:06 -04:00
2018-05-31 07:35:52 -07:00
2023-07-19 12:18:04 -03:00

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


  1. https://docs.starlingx.io/cli_ref/system.html↩︎

  2. https://opendev.org/starlingx/manifest.git↩︎

Description
StarlingX System Configuration Management
Readme 106 MiB
Languages
Python 98%
Shell 1.6%
CSS 0.2%