tree dd7d1653fec481000d720192ade8b014cd57d320
parent f857669066ddebc40c0614b77bda3d3f99b79bef
author Nick Hsieh <hnick@google.com> 1778571465 +0000
committer Edward Lee <edwarddl@google.com> 1778785592 -0700

gbmcweb master: SRCREV bump 66998bcaf3..4c9ac56d51

Alan Hung (1):
      gbmcweb: Fix sensor health status calculation in Redfish

Alex Lai (3):
      Make PowerControl::GetHostState pure virtual and implement it in PowerControlInotify.
      Add power state dependency to sensor configurations.
      Add AmdCpuSensor class implementation

David Tang (1):
      Fix CompoundFru duplicate sensors

Edward Lee (3):
      Add support for detached signature for BMC Serial Console Trusted User CA Keys.
      Add support for querying all fans by PWM sensor
      Refactor Syslog Configuration to Struct in CredentialManager

Hao Zhou (3):
      Refactor RelatedStateConfig to PowerControlConfig and add host awareness.
      Update RelatedStateConfig to support multiple resource identifiers and add RELATED_STATE_OS_STATE.
      Log host power and OS state transitions with more detail

Jane Kramer (1):
      Add Oem.Google.CpuIfsPatternBase64 and OEM Action to Redfish Systems.

Nathaniel Zietlow (1):
      Add unit test coverage for peripheral measurement quoting endpoints.

Rutu Patel (1):
      Propagate multihost host_id context to tlBMC OS state transition callbacks.

Siddharth Golechha (2):
      Redfish-Diet: Remove AccountService and VirtualMedia support.
      Redfish Diet: Removal of Account Service and Virtual Media APIs

Yuli Fiterman (2):
      Do not attempt to keep subscribing after first subscription fails
      Internal changes

gBMC Team (14):
      Add PATCH support for NVMe features on Storage, Volumes, and Drives.
      Add GoogleNvmeFeature and GoogleNvmeFeatureCollection OEM resources.
      Add GoogleNvmeFeature and GoogleNvmeFeatureCollection OEM resources.
      Add Oem.Google.CpuIfsPatternBase64 and OEM Action to Redfish Systems.
      Remove hardcoded DOWNLINK for chassis downstream of cable
      Redfish-Diet: Remove AccountService and VirtualMedia support.
      Automated Code Change
      Skip threshold monitoring for sensors not ready for read.
      Add GbmcSel to LogServices via TLBMC_APPEND_GBMCWEB.
      Prevent duplicate RelatedItem entries
      Do not error out redfish response when unrelated item fails, and the target is still found.
      - Expanded the fuzzing instrumentation scope to cover the entire project tree by adding coverage_instrumentation_paths to the fuzz testing workflows in the gbmcweb BUILD file. - Natively resolved the 25-second async watchdog timer deadlock on /UpdateService POST requests during fuzzing by s
etting timeoutTimeSeconds = 0 under UNIT_TEST_BUILD inside update_service.h. - Natively resolved the process exit-time SIGSEGV crash inside boost's cancel_timer() by resetting the static fwAvailableTimer = nullptr at the end of the fuzzer iteration in redfish_endpoint_fuzz_test.cc.
      Remove AccountService from gBMCweb.
      Remove NVMe Features from Drive resource and update interface checks.


Fusion-Link:
platform5: https://fusion2.corp.google.com/6580cb43-a001-3635-8b89-942ee7d57d38 (install issue)
 retrigger: https://fusion2.corp.google.com/df65463f-8140-3e47-880e-9ae907dfce67

platform15: https://fusion2.corp.google.com/bbbd9b86-3696-333d-ac99-4dda2f67f1a6
platform18: https://fusion2.corp.google.com/e3590c92-53cb-3e19-a34e-af28050315f2
platform17: https://fusion2.corp.google.com/86972998-d3cd-3465-aaea-a775172f4895
platform11+ext: https://fusion2.corp.google.com/7a170361-3f77-334f-9abc-4534c526a029
platform11: https://fusion2.corp.google.com/0515ea41-0d7b-34c1-b2a1-d68b545a2dcb

Platforms-Affected: All TTF
Google-Bug-Id: 511987167
Google-Bug-Id: 507216481
Google-Bug-Id: 505651123
Tested: N/A
Change-Id: Ib3f2f587c6d2168f48d06908f09e2b71ac230297
Signed-off-by: Nick Hsieh <hnick@google.com>
