diff options
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0003-Add-support-for-DELETE-in-MetricReportDefinitions-st.patch')
-rw-r--r-- | meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0003-Add-support-for-DELETE-in-MetricReportDefinitions-st.patch | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0003-Add-support-for-DELETE-in-MetricReportDefinitions-st.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0003-Add-support-for-DELETE-in-MetricReportDefinitions-st.patch new file mode 100644 index 000000000..4c49b0cd3 --- /dev/null +++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0003-Add-support-for-DELETE-in-MetricReportDefinitions-st.patch @@ -0,0 +1,68 @@ +From 8b2f4a6fe57bf2410cdb22f8c3c695e98d583040 Mon Sep 17 00:00:00 2001 +From: "Wludzik, Jozef" <jozef.wludzik@intel.com> +Date: Mon, 18 May 2020 12:40:15 +0200 +Subject: [PATCH 3/5] Add support for DELETE in MetricReportDefinitions/<str> + +Added support for DELETE action in MetricReportDefinitions/<str> +node. It allows user to remove MetricReportDefinition together +with MetricReport connected to it. + +Tested: + - Succesfully passed RedfishServiceValidator.py + - Validated DELETE action by removing exisiting + MetricReportDefinitions from MonitoringService + - Validated DELETE action with negative cases when + MetricReportDefinition does not exist + +Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com> +Change-Id: Iffde9f7bbf2955376e9714ac8d833967bd25eaa3 +--- + redfish-core/lib/metric_report_definition.hpp | 32 +++++++++++++++++++++++++++ + 1 file changed, 32 insertions(+) + +diff --git a/redfish-core/lib/metric_report_definition.hpp b/redfish-core/lib/metric_report_definition.hpp +index ecbab0c..8e04ac8 100644 +--- a/redfish-core/lib/metric_report_definition.hpp ++++ b/redfish-core/lib/metric_report_definition.hpp +@@ -533,6 +533,38 @@ class MetricReportDefinition : public Node + "xyz.openbmc_project.MonitoringService.Report"); + } + ++ void doDelete(crow::Response& res, const crow::Request& req, ++ const std::vector<std::string>& params) override ++ { ++ auto asyncResp = std::make_shared<AsyncResp>(res); ++ if (params.size() != 1) ++ { ++ messages::internalError(asyncResp->res); ++ return; ++ } ++ ++ const std::string& id = params[0]; ++ telemetry::getReport(asyncResp, id, schemaType, deleteReport); ++ } ++ ++ static void deleteReport(const std::shared_ptr<AsyncResp>& asyncResp, ++ const std::string& path, const std::string& id) ++ { ++ crow::connections::systemBus->async_method_call( ++ [asyncResp](const boost::system::error_code ec) { ++ if (ec) ++ { ++ BMCWEB_LOG_ERROR << "respHandler DBus error " << ec; ++ messages::internalError(asyncResp->res); ++ return; ++ } ++ ++ asyncResp->res.result(boost::beast::http::status::no_content); ++ }, ++ "xyz.openbmc_project.MonitoringService", path, ++ "xyz.openbmc_project.Object.Delete", "Delete"); ++ } ++ + public: + static constexpr const char* schemaType = + "#MetricReportDefinition.v1_3_0.MetricReportDefinition"; +-- +2.16.6 + |