From ffe6d597d9e3d4407cf8062b5d6505a80ce08f41 Mon Sep 17 00:00:00 2001 From: "Jason M. Bills" Date: Tue, 28 Sep 2021 12:04:51 -0700 Subject: Update to internal 0.75 Signed-off-by: Jason M. Bills --- .../0004-Add-Server-Sent-Events-support.patch | 19 +++++----- ...tyle-subscription-support-to-eventservice.patch | 41 ++++++++++----------- .../0006-Add-EventService-SSE-filter-support.patch | 10 +++--- ...rvice-Log-events-for-subscription-actions.patch | 42 +++++++++++----------- ...cture-Redifsh-EventLog-Transmit-code-flow.patch | 20 +++++------ 5 files changed, 67 insertions(+), 65 deletions(-) (limited to 'meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice') diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch index 64948ca0c..da281467e 100644 --- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch +++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch @@ -1,4 +1,4 @@ -From 882dc7755083eea32f3d14f7e6c7330d5a9ac66f Mon Sep 17 00:00:00 2001 +From 54bdd897bd416fef4c043224b398b1b6d47fd271 Mon Sep 17 00:00:00 2001 From: AppaRao Puli Date: Fri, 12 Mar 2021 18:53:25 +0000 Subject: [PATCH] Add Server-Sent-Events support @@ -30,10 +30,10 @@ Signed-off-by: AppaRao Puli create mode 100644 http/server_sent_event.hpp diff --git a/http/http_connection.hpp b/http/http_connection.hpp -index fb64014..45b1a68 100644 +index a1a7045..90535c5 100644 --- a/http/http_connection.hpp +++ b/http/http_connection.hpp -@@ -326,7 +326,7 @@ class Connection : +@@ -331,7 +331,7 @@ class Connection : BMCWEB_LOG_INFO << "Request: " << " " << this << " HTTP/" << req->version() / 10 << "." << req->version() % 10 << ' ' << req->methodString() @@ -42,10 +42,10 @@ index fb64014..45b1a68 100644 needToCallAfterHandlers = false; -@@ -345,11 +345,15 @@ class Connection : +@@ -350,11 +350,15 @@ class Connection : boost::asio::post(self->adaptor.get_executor(), [self] { self->completeRequest(); }); - }; + }); - if (req->isUpgrade() && - boost::iequals( - req->getHeaderValue(boost::beast::http::field::upgrade), @@ -63,7 +63,7 @@ index fb64014..45b1a68 100644 // delete lambda with self shared_ptr // to enable connection destruction diff --git a/http/http_response.hpp b/http/http_response.hpp -index 72ff9e9..6bb3aa5 100644 +index a983d4a..07b0265 100644 --- a/http/http_response.hpp +++ b/http/http_response.hpp @@ -15,10 +15,15 @@ namespace crow @@ -82,7 +82,7 @@ index 72ff9e9..6bb3aa5 100644 using response_type = boost::beast::http::response; -@@ -138,8 +143,8 @@ struct Response +@@ -143,8 +148,8 @@ struct Response private: bool completed{}; @@ -93,7 +93,7 @@ index 72ff9e9..6bb3aa5 100644 // In case of a JSON object, set the Content-Type header void jsonMode() diff --git a/http/routing.hpp b/http/routing.hpp -index af6269e..318fcfe 100644 +index d2a10b2..25e4ce8 100644 --- a/http/routing.hpp +++ b/http/routing.hpp @@ -6,6 +6,7 @@ @@ -474,4 +474,5 @@ index 0000000..41d18ed +}; +} // namespace crow -- -2.25.1 +2.17.1 + diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0005-Add-SSE-style-subscription-support-to-eventservice.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0005-Add-SSE-style-subscription-support-to-eventservice.patch index 78b52eea1..42a1ebbf0 100644 --- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0005-Add-SSE-style-subscription-support-to-eventservice.patch +++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0005-Add-SSE-style-subscription-support-to-eventservice.patch @@ -1,4 +1,4 @@ -From a9d994919b677a2650b80fb449cf96baad4f04dd Mon Sep 17 00:00:00 2001 +From 36c1391749e19e4a25ca6e57d369457f48e6bb11 Mon Sep 17 00:00:00 2001 From: AppaRao Puli Date: Tue, 16 Mar 2021 15:37:24 +0000 Subject: [PATCH] Add SSE style subscription support to eventservice @@ -19,23 +19,24 @@ Tested: - Ran RedfishValidation and its passed. Signed-off-by: AppaRao Puli +Signed-off-by: Nitin Wankhade Change-Id: I7f4b7a34974080739c4ba968ed570489af0474de --- http/http_connection.hpp | 2 +- include/eventservice_sse.hpp | 75 +++++ - .../include/event_service_manager.hpp | 109 +++++-- + .../include/event_service_manager.hpp | 111 +++++-- redfish-core/include/server_sent_events.hpp | 290 ------------------ redfish-core/lib/event_service.hpp | 8 +- src/webserver_main.cpp | 2 + - 6 files changed, 164 insertions(+), 322 deletions(-) + 6 files changed, 165 insertions(+), 323 deletions(-) create mode 100644 include/eventservice_sse.hpp delete mode 100644 redfish-core/include/server_sent_events.hpp diff --git a/http/http_connection.hpp b/http/http_connection.hpp -index 45b1a68bf015..ccc2d6a753b7 100644 +index 90535c5..37c0a0b 100644 --- a/http/http_connection.hpp +++ b/http/http_connection.hpp -@@ -350,7 +350,7 @@ class Connection : +@@ -355,7 +355,7 @@ class Connection : boost::iequals(req->getHeaderValue( boost::beast::http::field::upgrade), "websocket")) || @@ -46,7 +47,7 @@ index 45b1a68bf015..ccc2d6a753b7 100644 << " is getting upgraded"; diff --git a/include/eventservice_sse.hpp b/include/eventservice_sse.hpp new file mode 100644 -index 000000000000..14daf00852f5 +index 0000000..14daf00 --- /dev/null +++ b/include/eventservice_sse.hpp @@ -0,0 +1,75 @@ @@ -126,7 +127,7 @@ index 000000000000..14daf00852f5 +} // namespace eventservice_sse +} // namespace redfish diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp -index ca46aa7dc62f..098134a3a259 100644 +index ca46aa7..9397271 100644 --- a/redfish-core/include/event_service_manager.hpp +++ b/redfish-core/include/event_service_manager.hpp @@ -22,15 +22,17 @@ @@ -216,23 +217,23 @@ index ca46aa7dc62f..098134a3a259 100644 ~Subscription() = default; -@@ -417,7 +417,7 @@ class Subscription : public persistent_data::UserSubscription +@@ -412,13 +412,14 @@ class Subscription : public persistent_data::UserSubscription + } + conn->addHeaders(reqHeaders); + conn->sendData(msg); +- this->eventSeqNum++; + } if (sseConn != nullptr) { - sseConn->sendData(eventSeqNum, msg); + sseConn->sendEvent(std::to_string(eventSeqNum), msg); } - } - -@@ -508,6 +508,7 @@ class Subscription : public persistent_data::UserSubscription - - this->sendEvent( - msg.dump(2, ' ', true, nlohmann::json::error_handler_t::replace)); ++ + this->eventSeqNum++; } - #endif + void sendTestEventLog() @@ -578,14 +579,39 @@ class Subscription : public persistent_data::UserSubscription return eventSeqNum; } @@ -326,7 +327,7 @@ index ca46aa7dc62f..098134a3a259 100644 std::vector idList; diff --git a/redfish-core/include/server_sent_events.hpp b/redfish-core/include/server_sent_events.hpp deleted file mode 100644 -index 7613d7ba6427..000000000000 +index 7613d7b..0000000 --- a/redfish-core/include/server_sent_events.hpp +++ /dev/null @@ -1,290 +0,0 @@ @@ -621,7 +622,7 @@ index 7613d7ba6427..000000000000 - -} // namespace crow diff --git a/redfish-core/lib/event_service.hpp b/redfish-core/lib/event_service.hpp -index f1d6f5007d79..4a2d58a2f1dd 100644 +index 67ad014..f8a2dac 100644 --- a/redfish-core/lib/event_service.hpp +++ b/redfish-core/lib/event_service.hpp @@ -37,8 +37,6 @@ static constexpr const std::array supportedResourceTypes = { @@ -654,7 +655,7 @@ index f1d6f5007d79..4a2d58a2f1dd 100644 std::optional retryAttemps; std::optional retryInterval; diff --git a/src/webserver_main.cpp b/src/webserver_main.cpp -index c01accd2e93e..363005105d18 100644 +index bf98aae..53745d8 100644 --- a/src/webserver_main.cpp +++ b/src/webserver_main.cpp @@ -6,6 +6,7 @@ @@ -662,10 +663,10 @@ index c01accd2e93e..363005105d18 100644 #include #include +#include + #include #include #include - #include -@@ -82,6 +83,7 @@ int main(int /*argc*/, char** /*argv*/) +@@ -83,6 +84,7 @@ int main(int /*argc*/, char** /*argv*/) #endif #ifdef BMCWEB_ENABLE_REDFISH diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0006-Add-EventService-SSE-filter-support.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0006-Add-EventService-SSE-filter-support.patch index 79b6e42d7..9043bd0b9 100644 --- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0006-Add-EventService-SSE-filter-support.patch +++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0006-Add-EventService-SSE-filter-support.patch @@ -1,4 +1,4 @@ -From e8bf93f1cc374a986896174489719065d0cc49a0 Mon Sep 17 00:00:00 2001 +From 22c6b6cfb468f8de9ff3ea051dffdba05778645e Mon Sep 17 00:00:00 2001 From: AppaRao Puli Date: Wed, 17 Mar 2021 01:16:50 +0000 Subject: [PATCH] Add EventService SSE filter support @@ -223,10 +223,10 @@ index 10567d1..f29e326 100644 } // namespace redfish diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp -index 098134a..c8fcb33 100644 +index 5886d81..c3e7f61 100644 --- a/redfish-core/include/event_service_manager.hpp +++ b/redfish-core/include/event_service_manager.hpp -@@ -55,6 +55,11 @@ static constexpr const char* eventServiceFile = +@@ -56,6 +56,11 @@ static constexpr const char* eventServiceFile = static constexpr const uint8_t maxNoOfSubscriptions = 20; static constexpr const uint8_t maxNoOfSSESubscriptions = 10; @@ -239,10 +239,10 @@ index 098134a..c8fcb33 100644 static std::optional inotifyConn; static constexpr const char* redfishEventLogDir = "/var/log"; diff --git a/redfish-core/lib/event_service.hpp b/redfish-core/lib/event_service.hpp -index 4a2d58a..67abb95 100644 +index 2e7c3f3..9def549 100644 --- a/redfish-core/lib/event_service.hpp +++ b/redfish-core/lib/event_service.hpp -@@ -21,11 +21,6 @@ +@@ -25,11 +25,6 @@ namespace redfish { diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0007-EventService-Log-events-for-subscription-actions.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0007-EventService-Log-events-for-subscription-actions.patch index 7749ddb72..3be65ee2a 100644 --- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0007-EventService-Log-events-for-subscription-actions.patch +++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0007-EventService-Log-events-for-subscription-actions.patch @@ -1,6 +1,6 @@ -From dad35d6e6736f1c4ab6d739c62b22923ad749ad7 Mon Sep 17 00:00:00 2001 -From: Krzysztof Grobelny -Date: Tue, 13 Jul 2021 12:30:08 +0000 +From b8eb53886106e44e3668857b13f8642d2ad3cfbf Mon Sep 17 00:00:00 2001 +From: AppaRao Puli +Date: Fri, 27 Aug 2021 16:02:01 +0000 Subject: [PATCH] EventService: Log events for subscription actions Log redfish event for below 3 actions @@ -18,7 +18,7 @@ Tested: - Performed all the above actions and verified the redfish event messages are logged. -Change-Id: I528293e55b1f3401bc2bb09c11c63ae985fbfedb +Change-Id: I3745fa6357bd215379781a9818d9acc02a853d79 Signed-off-by: AppaRao Puli Signed-off-by: Ayushi Smriti --- @@ -27,10 +27,10 @@ Signed-off-by: Ayushi Smriti 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp -index a5b37e5..75f5615 100644 +index c3e7f61..e9bdbfa 100644 --- a/redfish-core/include/event_service_manager.hpp +++ b/redfish-core/include/event_service_manager.hpp -@@ -20,6 +20,7 @@ +@@ -21,6 +21,7 @@ #include "registries/task_event_message_registry.hpp" #include @@ -38,16 +38,16 @@ index a5b37e5..75f5615 100644 #include #include -@@ -813,7 +814,7 @@ class EventServiceManager - return; +@@ -788,7 +789,7 @@ class EventServiceManager + } } - void updateSubscriptionData() + void persistSubscriptionData() { - // Persist the config and subscription data. - nlohmann::json jsonData; -@@ -910,7 +911,7 @@ class EventServiceManager + persistent_data::EventServiceStore::getInstance() + .eventServiceConfig.enabled = serviceEnabled; +@@ -835,7 +836,7 @@ class EventServiceManager if (updateConfig) { @@ -56,7 +56,7 @@ index a5b37e5..75f5615 100644 } if (updateRetryCfg) -@@ -1005,7 +1006,7 @@ class EventServiceManager +@@ -947,7 +948,7 @@ class EventServiceManager if (updateFile) { @@ -65,7 +65,7 @@ index a5b37e5..75f5615 100644 } #ifndef BMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES -@@ -1020,6 +1021,13 @@ class EventServiceManager +@@ -962,6 +963,13 @@ class EventServiceManager // Set Subscription ID for back trace subValue->setSubscriptionId(id); @@ -79,9 +79,9 @@ index a5b37e5..75f5615 100644 return id; } -@@ -1040,7 +1048,14 @@ class EventServiceManager - { - subscriptionsMap.erase(obj); +@@ -986,7 +994,14 @@ class EventServiceManager + persistent_data::EventServiceStore::getInstance() + .subscriptionsConfigMap.erase(obj2); updateNoOfSubscribersCount(); - updateSubscriptionData(); + @@ -95,7 +95,7 @@ index a5b37e5..75f5615 100644 } } -@@ -1062,6 +1077,18 @@ class EventServiceManager +@@ -1008,6 +1023,18 @@ class EventServiceManager } } @@ -115,10 +115,10 @@ index a5b37e5..75f5615 100644 { return subscriptionsMap.size(); diff --git a/redfish-core/lib/event_service.hpp b/redfish-core/lib/event_service.hpp -index 53a60d3..435c93d 100644 +index 9def549..6a8421f 100644 --- a/redfish-core/lib/event_service.hpp +++ b/redfish-core/lib/event_service.hpp -@@ -579,7 +579,7 @@ inline void requestRoutesEventDestination(App& app) +@@ -617,7 +617,7 @@ inline void requestRoutesEventDestination(App& app) subValue->updateRetryPolicy(); } @@ -126,7 +126,7 @@ index 53a60d3..435c93d 100644 + EventServiceManager::getInstance().updateSubscription(param); }); BMCWEB_ROUTE(app, "/redfish/v1/EventService/Subscriptions//") - .privileges({{"ConfigureManager"}}) + // The below privilege is wrong, it should be ConfigureManager OR -- -2.25.1 +2.17.1 diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0009-Restructure-Redifsh-EventLog-Transmit-code-flow.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0009-Restructure-Redifsh-EventLog-Transmit-code-flow.patch index 6e635a828..d1fe475f5 100644 --- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0009-Restructure-Redifsh-EventLog-Transmit-code-flow.patch +++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0009-Restructure-Redifsh-EventLog-Transmit-code-flow.patch @@ -1,4 +1,4 @@ -From 7f45c83c0b3acb08461461c23e0d7add46d9191c Mon Sep 17 00:00:00 2001 +From 542505dff60e3921b00b51acae882e207d46f1a6 Mon Sep 17 00:00:00 2001 From: Krzysztof Grobelny Date: Wed, 14 Jul 2021 14:13:11 +0000 Subject: [PATCH] Restructure Redfish EventLog Transmit code flow @@ -35,10 +35,10 @@ Signed-off-by: P Dheeraj Srujan Kumar 1 file changed, 76 insertions(+), 32 deletions(-) diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp -index 430767a..53ed3f6 100644 +index e9bdbfa..5c4de70 100644 --- a/redfish-core/include/event_service_manager.hpp +++ b/redfish-core/include/event_service_manager.hpp -@@ -133,15 +133,10 @@ static const Message* formatMessage(const std::string_view& messageID) +@@ -134,15 +134,10 @@ static const Message* formatMessage(const std::string_view& messageID) namespace event_log { @@ -55,7 +55,7 @@ index 430767a..53ed3f6 100644 // Get the entry timestamp std::time_t curTs = 0; -@@ -639,6 +634,7 @@ class EventServiceManager +@@ -621,6 +616,7 @@ class EventServiceManager } std::string lastEventTStr; @@ -63,7 +63,7 @@ index 430767a..53ed3f6 100644 size_t noOfEventLogSubscribers{0}; size_t noOfMetricReportSubscribers{0}; std::shared_ptr matchTelemetryMonitor; -@@ -1204,7 +1200,22 @@ class EventServiceManager +@@ -1163,7 +1159,22 @@ class EventServiceManager #ifndef BMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES void cacheLastEventTimestamp() { @@ -87,7 +87,7 @@ index 430767a..53ed3f6 100644 std::ifstream logStream(redfishEventLogFile); if (!logStream.good()) { -@@ -1212,27 +1223,44 @@ class EventServiceManager +@@ -1171,27 +1182,44 @@ class EventServiceManager return; } std::string logEntry; @@ -143,7 +143,7 @@ index 430767a..53ed3f6 100644 std::ifstream logStream(redfishEventLogFile); if (!logStream.good()) { -@@ -1242,27 +1270,21 @@ class EventServiceManager +@@ -1201,27 +1229,21 @@ class EventServiceManager std::vector eventRecords; @@ -178,7 +178,7 @@ index 430767a..53ed3f6 100644 std::string timestamp; std::string messageID; -@@ -1274,6 +1296,16 @@ class EventServiceManager +@@ -1233,6 +1255,16 @@ class EventServiceManager continue; } @@ -195,7 +195,7 @@ index 430767a..53ed3f6 100644 std::string registryName; std::string messageKey; event_log::getRegistryAndMessageKey(messageID, registryName, -@@ -1283,11 +1315,23 @@ class EventServiceManager +@@ -1242,11 +1274,23 @@ class EventServiceManager continue; } @@ -221,5 +221,5 @@ index 430767a..53ed3f6 100644 { std::shared_ptr entry = it.second; -- -2.25.1 +2.17.1 -- cgit v1.2.3