TH scripts improvments for resolving SHM issue
Key Changes
1. Logic Migration
MSV Scripts: Removed SHM (Shared Memory) removal and IPMI restart operations from MSV scripts, including pre-rm and postinstall.
TH Scripts: Centralized these operations within the TH post-processing scripts:
emmc-available-postprocessing
emmc-unavailable-postprocessing
2. TH Upgrade Scenario Logic
Operations are abstracted into a transition model between TH1 (old version/list) and TH2 (new version/list):
First-time Onboarding: TH1 (empty) → TH2
Removal: TH1 → TH2 (empty)
Upgrade/Downgrade: TH1 → TH2
3. eMMC run-time availability status change logic
available → unavailable: Similar logic as TH1 -> TH2 (empty), but keep TH package existing in the system for both eMMC and /var/google.
unavailable → available: Similar logic as TH1 (empty) -> TH2, but without copying/pasting work for TH packages
Prerequisite for Execution: When either TH1 or TH2 includes bmcweb daemons, the following sequence is triggered (if bmcweb is not included in both TH, the following logic will be skipped):
Clear SHM.
Restart all daemons (Union of TH1 and TH2).
Restart IPMI.
4. Previous block-override.conf has been discarded and the new content has been updated through recipes-google/true-hitless/true-hitless/true-hitless-initialize.sh.
New content: "[Unit]
ConditionPathExists=|/run/true-hitless/emmc-available-postprocessing-complete
ConditionPathExists=|/run/true-hitless/emmc-unavailable-postprocessing-complete"
Diff: 1. removed After=emmc-available-postprocessing so that we can restart TH daemons inside of emmc-available-postprocessing. 2. added ConditionPathExists=|/run/true-hitless/emmc-unavailable-postprocessing-complete constrain to avoid double initialization when eMMC is unavailable since reboot.
Platforms-Affected: EMR, GF
Tested: Detailed tested steps is in cl/908884346. Will also be tested through TH nightly/weekly test suite
Google-Bug-Id: 492591099
Fusion-Link: fusion2 https://fusion2.corp.google.com/3a1ed5b5-ddce-4667-8687-a939dff5aff6 , tested experimental package - https://msvbrowse.corp.google.com/versionz?hash=1-713fb0f5_7f3d8598_4fd97d78_52e0eb86_f812b17b_a8707ec0_3ee9b308_d2df21c6
Change-Id: I7dc047d8cd2dd996d70c47e87c54d8dd9b75b979
5 files changed