#
583ba441 |
| 03-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: Ic2bc1d98d8ad469a3477f9059ec890fc8339907d Signed-off-by: Patrick Williams <p
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: Ic2bc1d98d8ad469a3477f9059ec890fc8339907d Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
2efa95d8 |
| 19-Oct-2024 |
Ed Tanous <ed@tanous.net> |
Remove variant from Thresholds interface
The Thresholds property on the Trigger interface is currently defined as a relatively complex type: variant< array<discrete struct> array<numeric struc
Remove variant from Thresholds interface
The Thresholds property on the Trigger interface is currently defined as a relatively complex type: variant< array<discrete struct> array<numeric struct> >
This causes some oddities in unpacking given that Dbus properties are already a variant, applications consuming this interface have to double wrap the variant. This was confusing enough that bmcweb has to keep the trigger types separate, and cannot use the common typing.
This commit changes by adding two new parameters NumericThresholds: array<numeric struct> DiscreteThresholds: array<discrete struct>
Which deduplicates the double wrapped variant.
The intent is that this duplicated interface will exist for a transition period of a week or two, while bmcweb (the only user of this) transitions the code to use the new properties, then a followup common will drop the thresholds properly.
Tested: WIP
Change-Id: I6717d4075de53c91aa179a90c7a844c4a13534cc Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
c7935fa1 |
| 20-Oct-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-17 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-17 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I016cb74930cc475843c30bd604e739058effa504 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
3a1c297a |
| 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I1ac255c58971ac5cc4697b8bb1069067aad02d18 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
62c08e9b |
| 16-Sep-2022 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Redesigned error handling
Current error handling send only error code, which is not enough to display detailed information. New error handling in additional to error code send property name. This al
Redesigned error handling
Current error handling send only error code, which is not enough to display detailed information. New error handling in additional to error code send property name. This allows to send meaningful messages back to used about errors.
Tested: - Old redfish code properly handles errors (reads only error_code) - Redfish version which read property name from error displays more detailed error information
Change-Id: I54caa20881ac3f3e38cb295a3aa95ddab491303f Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
show more ...
|
#
32305f14 |
| 05-Jul-2022 |
Szymon Dompke <szymon.dompke@intel.com> |
Add length limit for user-defined values
Previously, the only limit for most user-defined values like id or name was the one enforced by dbus, which was fairly big. In order to save space used by pe
Add length limit for user-defined values
Previously, the only limit for most user-defined values like id or name was the one enforced by dbus, which was fairly big. In order to save space used by persistent data, new meson options were added, with length limit for those fields.
This directly impacts following dbus interfaces: - TriggerManager.AddTrigger: - Id - Name - Reports - Thresholds (only name of discrete threshold) - Trigger.Name - Trigger.Reports - Trigger.Thresholds (only name of discrete threshold) - ReportManager.AddReport(FutureVersion): - Id - Name - MetricParameters (metricId) - Report.Name - Report.ReadingParameters (metricId)
For Id fields we support 'prefixes', which also are limited, but those limit are separate. So if limit for prefix is set to 5 and limit for id/name is set to 5, following Ids are fine: - 12345/12345 - 12345 and following are not: - 123456/1234 - 1/123456
Testing done: - UTs are passing. - new limits are reflected when calling mentioned dbus interfaces.
Signed-off-by: Szymon Dompke <szymon.dompke@intel.com> Change-Id: I29291a1cc56a344d92fb65491c9186fdb90a8529
show more ...
|
#
1cdd7e4f |
| 08-Jun-2022 |
Szymon Dompke <szymon.dompke@intel.com> |
Use proper dbus path when possible.
Following methods and properties were updated to use full dbus path, instead of internal telemetry id: - TriggerManager.AddTrigger() - 'reportIds' arg - Trigger.R
Use proper dbus path when possible.
Following methods and properties were updated to use full dbus path, instead of internal telemetry id: - TriggerManager.AddTrigger() - 'reportIds' arg - Trigger.ReportIds - renamed to 'Reports' - Report.TriggerIds - renamed to 'Triggers'
Testing done: - UTs were updated and are passing.
Signed-off-by: Szymon Dompke <szymon.dompke@intel.com> Change-Id: I78d812d38289fac575d25b48503cc8b9c6f736fe
show more ...
|
#
e6d48874 |
| 08-Feb-2022 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Removed dependency to TriggerManager
introduces Messanger class which allows to send messages directly to subscribed targets, which allows to break dependencies between classes.
Testes: - All unit
Removed dependency to TriggerManager
introduces Messanger class which allows to send messages directly to subscribed targets, which allows to break dependencies between classes.
Testes: - All unit tests are passing - Links are correctly updated - Report is correctly updated by Trigger Action
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com> Change-Id: I32d3aaba22f9ec07e611f53fe553bd27e1c04c6d
show more ...
|
#
b4ef22e4 |
| 07-Feb-2022 |
Szymon Dompke <szymon.dompke@intel.com> |
Report: Add TriggerIds property
This change is adding TriggerIds property for Report interface. It is an array of strings, each representing id of trigger which may update given report Readings prop
Report: Add TriggerIds property
This change is adding TriggerIds property for Report interface. It is an array of strings, each representing id of trigger which may update given report Readings property, due to UpdateReport action. This properly is read-only, but it can be changed in the runtime, when: - New Trigger is made using AddTrigger dbus method, when ReportId argument contains id of given report. - Trigger is deleted from dbus, and its ReportNames property included id of given report. - ReportNames property of any trigger is updated to include (or not) id of given report.
When this property is modified by service, signal will be emitted on dbus for property change.
When there is existing trigger with id of non-existing report in its ReportNames property, its id will be added to TriggerIds property of such report, the moment it is created by user.
Testing done: - new UTs were made, all UTs are passing. - manual testing on dbus interface was successful.
Signed-off-by: Szymon Dompke <szymon.dompke@intel.com> Change-Id: I1c4c94ce751ddaee001e3cadde3ea60aa8e1c224
show more ...
|
#
a950e42b |
| 31-Dec-2021 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Added constrains to id generator
This commit prevents id with more than one '/'. Slash can be used to create namespaces to avoid id conflicts between multiple users.
Changed generator logic to take
Added constrains to id generator
This commit prevents id with more than one '/'. Slash can be used to create namespaces to avoid id conflicts between multiple users.
Changed generator logic to take provided id as a name if no name was provided.
Tested: - Tested that id and name generates correctly - It is no longer possible to add id with more than one '/'
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com> Change-Id: Ieef32ddb71b5a4870117aab0d624cbd46b5893e6
show more ...
|
#
b8cc78dd |
| 29-Nov-2021 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Api changes in AddReportFuture version
Added support for CollectionFunction, CollectionDuration, CollectionTimeScope, ReportUpdates, AppendLimit.
New API separates Id and Name, user can decide to p
Api changes in AddReportFuture version
Added support for CollectionFunction, CollectionDuration, CollectionTimeScope, ReportUpdates, AppendLimit.
New API separates Id and Name, user can decide to pass only Name to auto generate Id or pass Id which needs to be unique.
Tested: - No functional changes to old API, everything works as before - All use cases can be replaced with new API to achieve same results - New features which require new API work as expected
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com> Change-Id: I647efab36d90a548754f89968223e162a087481e
show more ...
|
#
e28aa53d |
| 27-Oct-2021 |
Szymon Dompke <szymon.dompke@intel.com> |
Add Id to Trigger
Currently, Trigger is using Name as unique identifier. By adding Id, we can be compliant with redfish specification: - Id will be used as unique identifier - Name will be used as h
Add Id to Trigger
Currently, Trigger is using Name as unique identifier. By adding Id, we can be compliant with redfish specification: - Id will be used as unique identifier - Name will be used as human readable, non-unique name
AddTrigger dbus method is now requiring both id and name. Each of them can be passed as empty string and the service will fill them with correct values. If only id is an empty string, name will be used to generate its value.
Dbus object path and persistent storage filename are now be based on id, instead of name.
Added validation for AddTrigger: - correct characters in id - max id length
Added Name property for Trigger object, which can be modified from dbus.
Testing done: - Unit test added and passing - Trigger was added using dbus, without errors - Id generation is working properly - Name property is accessible and writable from dbus
Signed-off-by: Szymon Dompke <szymon.dompke@intel.com> Change-Id: Ibb553586eaf51943044c93a35bc0725e6ef67ce9
show more ...
|
#
2001301a |
| 23-Jul-2021 |
Szymon Dompke <szymon.dompke@intel.com> |
Modify Trigger dbus api
'AddTrigger' method is now using array of strings for actions instead of boolean flags. The action names are following: - 'UpdateReport' (same as old flag) - 'LogToLogService
Modify Trigger dbus api
'AddTrigger' method is now using array of strings for actions instead of boolean flags. The action names are following: - 'UpdateReport' (same as old flag) - 'LogToLogService' (old 'LogToJournal' flag) - 'RedfishEvent' (old 'LogToRedfish' flag) Additionally, isDiscrete flag was removed from 'AddTrigger' call, as this value can be extracted depending on threshold.
As a result new 'AddTrigger" signature is: "sasa{os}asv" Example call parameters: - TestTrigger 1 UpdateReport 0 0 "a(stsd)" 1 LowerWarning 1000 Either 42.7' - TestTrigger 2 UpdateReport RedfishEvent 0 0 "a(ssts)" 1 userId_1 Warning 10 15.2'
'Trigger' properties were also modified. Instead of action bool properties (same as mentioned above), new property was introduced 'TriggerActions' - which has same values as those used in 'AddTrigger' method. This also affects persistence: store/load functionality was modified accordingly.
As a side change - isDiscrete is no longer stored, as this can be easily recreated in the runtime.
Tested: - Trigger was successfully created using dbus. - busctl introspect was called on test trigger and properties are modified and working as intended. - persistency mechanic is working propetly.
Signed-off-by: Szymon Dompke <szymon.dompke@intel.com> Change-Id: Icd64d4032fd6d446d9b6ad248e28e9031af1fed7
show more ...
|
#
dcc4e193 |
| 08-Mar-2021 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
created AddReportFutureVersion dbus method
New method will support CollectionTimeScope, CollectionDuration
In order to make not breaking interface changes bmcweb will switch to AddReportFutureVersi
created AddReportFutureVersion dbus method
New method will support CollectionTimeScope, CollectionDuration
In order to make not breaking interface changes bmcweb will switch to AddReportFutureVersion, then AddReport will be changed to match AddReportFutureVersion, then redfish will switch back to use AddReport, then AddReportFutureVersion will be removed.
Tested: - Verified that current version of bmcweb works fine with old API
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com> Change-Id: I51a9b7fb2f4da5b8d2f688ccd5e93710352b1ac7
show more ...
|
#
4416fce6 |
| 16-Mar-2021 |
Cezary Zwolak <cezary.zwolak@intel.com> |
Read persistent triggers from storage
Read json storage file for persistent triggers. Add trigger to telemetry service. Cover code with UTs.
Tested: - Passed unit tests - Tested on QEMU * s
Read persistent triggers from storage
Read json storage file for persistent triggers. Add trigger to telemetry service. Cover code with UTs.
Tested: - Passed unit tests - Tested on QEMU * starting app without configuration * restart app with configuration stored * restart app with configuration in incorrect version * restart app with configuration malformed
Change-Id: I2cb9324abdb8323be8a7f0c932ed7f70c5bc2891 Signed-off-by: Cezary Zwolak <cezary.zwolak@intel.com> Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com>
show more ...
|
#
a4e67616 |
| 18-Feb-2021 |
Cezary Zwolak <cezary.zwolak@intel.com> |
Save persistent triggers to storage
Create json storage file for persistent triggers. Handle persistent dbus property. Save/remove persistent triggers on add/delete. Cover code with UTs.
Tested:
Save persistent triggers to storage
Create json storage file for persistent triggers. Handle persistent dbus property. Save/remove persistent triggers on add/delete. Cover code with UTs.
Tested: - Passed unit tests - Tested on QEMU * adding new valid and invalid trigger from cli * verifying if valid trigger is properly stored * deleting existed trigger from storage
Change-Id: I243326e84833a8cb22075fbf565573b62b205b4a Signed-off-by: Cezary Zwolak <cezary.zwolak@intel.com> Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com>
show more ...
|
#
f763c9e3 |
| 12-Mar-2021 |
Szymon Dompke <szymon.dompke@intel.com> |
Added discrete threshold trigger support
Implemented discrete threshold logic Discrete trigger with empty threshold array is handled as 'onChange' Added unit tests coverage for discrete trigger
Sup
Added discrete threshold trigger support
Implemented discrete threshold logic Discrete trigger with empty threshold array is handled as 'onChange' Added unit tests coverage for discrete trigger
Supported scenarios: -discrete threshold with value and dwell time -discrete threshold with value, without dwell time -discrete trigger without threshold ('onChange')
Tests: -Unit tests passed
Change-Id: Id60a48f4113bd955d97e154888c00d1b6e5490af Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
show more ...
|
#
1477fe6a |
| 02-Jan-2021 |
Wludzik, Jozef <jozef.wludzik@intel.com> |
Implement NumericThreshold for Trigger
Implemented NumericThreshold for Trigger that allows to set expected threshold value for collection of sensors and monitors if this value is crossed. Implement
Implement NumericThreshold for Trigger
Implemented NumericThreshold for Trigger that allows to set expected threshold value for collection of sensors and monitors if this value is crossed. Implemented detection of direction when threshold value is crossed. Added initial interface that is used to commit an action when threshold value is crossed. Moved Sensor Cache from Report Factory to Telemetry class, now Sensor Cache is shared between Report Factory and Trigger Factory. Moved fetching sensor from Dbus to seperate header to have single implementation for factories. Disabled tests that uses boost coroutine because of false positive that is catched by address sanitizer.
Tested: - Passed unit tests - Built in yocto envrionment with success - Telemetry service started successfully in OpenBMC
Change-Id: I1ff7ab96174a27576786f0b9a71554fe1eeff436 Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com>
show more ...
|
#
76833cb5 |
| 21-Dec-2020 |
Wludzik, Jozef <jozef.wludzik@intel.com> |
Add TriggerManager and Trigger objects
Implemented initial version of Trigger and TriggerManager DBus interfaces. Now DBus user is able to add new Trigger and delete it. There is no support for othe
Add TriggerManager and Trigger objects
Implemented initial version of Trigger and TriggerManager DBus interfaces. Now DBus user is able to add new Trigger and delete it. There is no support for other functionality added.
Tested: - Built using yocto dependencies with success - Unit tests passed - Verified manually if Trigger and TriggerManager works as expected
Change-Id: Ie68463526ecccc3be67cc7bfaaf9a9aa7326dee6 Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com>
show more ...
|