Add a Hypervisor Computer System Option
Today to determine if the hypervisor computer system resource should be
added to the System Collection a call to the Settings Manager is made.
Based on discussion in
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/73203 and to help the
multihost stuff move forward, lets move this hypervisor under a meson
option which any company that needs can enable. I think IBM is the only
one who uses this so the risk of breaking someone should be small.
One day hope to converge at some point, this probably doesn't happen
until after the multihost stuff goes in.
This is also better for implementations that don't have this backend
because now routes like
/redfish/v1/Systems/hypervisor/EthernetInterfaces/ aren't put out. I.e.
a call to /redfish/v1/Systems/hypervisor/EthernetInterfaces/ is now
going to return 404 instead of 500 on systems without this backend
support.
Tested: Enabled this and see the hypervisor system. Without this enabled
do not see the hypervisor system. No new validator errors either way.
Change-Id: Ie05e6644dd6f640cf8225f96becb99b9c2d0de20
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
diff --git a/redfish-core/src/redfish.cpp b/redfish-core/src/redfish.cpp
index e1e5ff1..e81691f 100644
--- a/redfish-core/src/redfish.cpp
+++ b/redfish-core/src/redfish.cpp
@@ -220,7 +220,10 @@
requestRoutesFabricAdapterCollection(app);
requestRoutesSubmitTestEvent(app);
- requestRoutesHypervisorSystems(app);
+ if constexpr (BMCWEB_HYPERVISOR_COMPUTER_SYSTEM)
+ {
+ requestRoutesHypervisorSystems(app);
+ }
requestRoutesTelemetryService(app);
requestRoutesMetricReportDefinitionCollection(app);