summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch19
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0005-Add-SSE-style-subscription-support-to-eventservice.patch41
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0006-Add-EventService-SSE-filter-support.patch10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0007-EventService-Log-events-for-subscription-actions.patch42
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0009-Restructure-Redifsh-EventLog-Transmit-code-flow.patch20
5 files changed, 67 insertions, 65 deletions
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 <apparao.puli@linux.intel.com>
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 <apparao.puli@linux.intel.com>
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<boost::beast::http::string_body>;
-@@ -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 <apparao.puli@linux.intel.com>
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 <apparao.puli@linux.intel.com>
+Signed-off-by: Nitin Wankhade <nitinx.arunrao.wankhade@intel.com>
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<std::string> 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<const char*, 1> supportedResourceTypes = {
@@ -654,7 +655,7 @@ index f1d6f5007d79..4a2d58a2f1dd 100644
std::optional<uint32_t> retryAttemps;
std::optional<uint32_t> 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 <dbus_monitor.hpp>
#include <dbus_singleton.hpp>
+#include <eventservice_sse.hpp>
+ #include <google/google_service_root.hpp>
#include <hostname_monitor.hpp>
#include <ibm/management_console_rest.hpp>
- #include <image_upload.hpp>
-@@ -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 <apparao.puli@linux.intel.com>
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<boost::asio::posix::stream_descriptor> 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 <krzysztof.grobelny@intel.com>
-Date: Tue, 13 Jul 2021 12:30:08 +0000
+From b8eb53886106e44e3668857b13f8642d2ad3cfbf Mon Sep 17 00:00:00 2001
+From: AppaRao Puli <apparao.puli@linux.intel.com>
+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 <apparao.puli@intel.com>
Signed-off-by: Ayushi Smriti <smriti.ayushi@intel.com>
---
@@ -27,10 +27,10 @@ Signed-off-by: Ayushi Smriti <smriti.ayushi@intel.com>
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 <sys/inotify.h>
@@ -38,16 +38,16 @@ index a5b37e5..75f5615 100644
#include <boost/asio/io_context.hpp>
#include <boost/beast/core/span.hpp>
-@@ -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/<str>/")
- .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 <krzysztof.grobelny@intel.com>
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 <p.dheeraj.srujan.kumar@intel.com>
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<sdbusplus::bus::match::match> 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<EventLogObjectsType> 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<Subscription> entry = it.second;
--
-2.25.1
+2.17.1