History log of /openbmc/bmcweb/redfish-core/lib/ (Results 26 – 50 of 1569)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
b437a53520-Dec-2024 Asmitha Karunanithi <asmitk01@in.ibm.com>

account_service: Move to unpackproperty method

Change-Id: If677e2b4e9bd03b359913670d120f15d4a5f29b9
Signed-off-by: Asmitha Karunanithi <asmitk01@in.ibm.com>

a64919e812-Dec-2024 Boleslaw Ogonczyk Makowski <boleslawx.ogonczyk-makowski@intel.com>

Fix issues in MRD patch requests

After commit [1] 'null' value was being rejected with
[json_utils.hpp] Value for key Metrics was incorrect type: null
Using 'null' here seems to be one of the cases

Fix issues in MRD patch requests

After commit [1] 'null' value was being rejected with
[json_utils.hpp] Value for key Metrics was incorrect type: null
Using 'null' here seems to be one of the cases that [2] describes

Commit [3] fixed an issue where {} replaced "MetricProperties" of
a metric with an empty array but introduced a different one
- trying to replace a metric caused new values in "MetricProperties"
to get added to old ones.
if (metric.find("MetricProperties") == metric.end()) check was initially
present in [4] but got removed at some point,
re-adding it fixes the issue

Tested:
Patch request to [5] with body: {"Metrics": [null]} no longer fails
and deletes a metric
Patch request with {"Metrics": [{}]} leaves metric unchanged
Patch request with
{"Metrics": [{"MetricProperties": ["<path_to_sensor>"]}]}
updates metric properly,
without appending to old "MetricProperties" values
Patch requests containing mixed values also work correctly

[1]: b14f357f527eae05aa1bd7a115d3f6ed237a35bb
[2]: 8099c51796bf6f94ad5fbb1f6844d700f498d3bb
[3]: ba498310f761b3c0f475ecbdb293cf1386544a33
[4]: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/72319
[5]: https://<bmcip>/redfish/v1/TelemetryService/MetricReportDefinitions/<existing_mrd_name>

Change-Id: Ia3d4699784f493bd63a2df4d6edf5053760221e1
Signed-off-by: Boleslaw Ogonczyk Makowski <boleslawx.ogonczyk-makowski@intel.com>

show more ...

6e1a52fa15-Nov-2024 Ed Tanous <etanous@nvidia.com>

Fix setting gateways

There's a number of conditions in setting gateways that don't work
properly. Specifically, one of the issues is setting a gateway on an
address that already exists. It returns

Fix setting gateways

There's a number of conditions in setting gateways that don't work
properly. Specifically, one of the issues is setting a gateway on an
address that already exists. It returns a PropertyValueConflict error
on Ipv4Addresses/1/Gateway with Ipv4Addresses/1/Gateway

Obviously an address can't conflict with itself, so this is wrong.

To address this, move the gateway setting and selection code into a
routine outside of the main loop, after all the gateways are accounted
for, and so we can treat them separately.

Tested;
PATCH to an existing ip address works, and no longer returns the error.

More test cases likely needed.

Change-Id: I0339e02fc27164337416637153d0b0f744b64ad8
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

81ee0e7420-Dec-2024 Chandramohan Harkude <Chandramohan.harkude@gmail.com>

Update Submit Test event feature to send custom data

Changes Added : Updated the submit test event feature to send test
data as per spec

https://www.dmtf.org/sites/default/files/standards/documents

Update Submit Test event feature to send custom data

Changes Added : Updated the submit test event feature to send test
data as per spec

https://www.dmtf.org/sites/default/files/standards/documents/
DSP2046_2019.1.pdf


Testing :

Tested sending custom test data
and same data received at the event listener
Change-Id: I2c2363a676aafd39c121c9fe4e16402c0f5961e2
Signed-off-by: Chandramohan Harkude <chandramohan.harkude@gmail.com>

show more ...

daadfb2e20-Dec-2024 Ed Tanous <etanous@nvidia.com>

Fix clang-tidy

Change-Id: Iefe1b695b86a640d8dfaafd1f77f374fa34246de
Signed-off-by: Ed Tanous <etanous@nvidia.com>

deae6a7811-Nov-2024 Ed Tanous <etanous@nvidia.com>

Move getProperty calls to utility

Having all dbus calls run through the same utility reduces the amount of
generated code, and more importantly, gives us a place where we can log
the requests and re

Move getProperty calls to utility

Having all dbus calls run through the same utility reduces the amount of
generated code, and more importantly, gives us a place where we can log
the requests and responses to help with debugging.

Tested: Redfish service validator passes.

Change-Id: Ic1bf45130b5069cd57f7af26e12c8d3159c87c67
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

6a37140a03-Dec-2024 Ed Tanous <etanous@nvidia.com>

Put simple update behind an option

4e338b2313f9f2a91aa1fb36693e36a328d58933 Removed tftp update support
from the codebase, but left SimpleUpdate in a non functional state.

Given that a number of fo

Put simple update behind an option

4e338b2313f9f2a91aa1fb36693e36a328d58933 Removed tftp update support
from the codebase, but left SimpleUpdate in a non functional state.

Given that a number of forks have implemented the HTTPS/SCP versions of
simple update, we don't want to fully delete the code at this time, so
for the moment put it behind an option flag.

Tested: WIP

Change-Id: Ibab1e3a48ff640787eabf8ed5f7a5c08e3381307
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

19ea286410-Dec-2024 Gunnar Mills <gmills@us.ibm.com>

Always fall back to ChassisType RackMount

https://gerrit.openbmc.org/c/openbmc/bmcweb/+/75914 added support for
dynamic ChassisType. Before 75914, ChassisType was hardcoded to
RackMount. If you impl

Always fall back to ChassisType RackMount

https://gerrit.openbmc.org/c/openbmc/bmcweb/+/75914 added support for
dynamic ChassisType. Before 75914, ChassisType was hardcoded to
RackMount. If you implement Inventory.Item.Chassis the default Chassis
Type is Unknown. Unknown in 75914 maps to Invalid and ChassisType is
left off the Redfish Chassis resource. The Redfish Validator flags this
as an error since ChassisType is a required property in the Chassis
schema.

The implementations should be setting the ChassisType but let's get
bmcweb bumps back on the rails and just set ChassisType = RackMount if
there is an error or if the Chassis Type is something we can't map (like
Unknown). This "your default ChassisType is RackMount" matches what we
had before.

Tested: Inspection and unit tests only.

Change-Id: Id577be522be7c2d3463da9c497d9063a284a4d54
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

show more ...

56b8199202-Dec-2024 Ed Tanous <etanous@nvidia.com>

Make message registries use 2 digit versions

Redfish specification, section 9.5.11.2 says:

The MessageId property value shall be in the format:
<MessageRegistryPrefix>.<MajorVersion>.<MinorVersion>

Make message registries use 2 digit versions

Redfish specification, section 9.5.11.2 says:

The MessageId property value shall be in the format:
<MessageRegistryPrefix>.<MajorVersion>.<MinorVersion>.<MessageKey>

bmcweb in certain places has incorrectly used the 3 digit version
instead of the 2 digit version. This commit fixes that by modifying the
parse_registries script to generate 3 separate struct entries to
represent the registry version, and parse them where appropriate.

MessageRegistryFileCollection uses the 3 digit version. No behavior
changes.
Message/event log entries use the 2 digit version. This will cause a
MessageId change from:
Base.1.19.0.InternalError
to
Base.1.19.InternalError

This is a breaking change, so a new option to allow the old behavior is
provided.

Tested: Redfish Service validator passes.
Heartbeat events on EventService show 2 digit versions.

Change-Id: I4165e994f73e200f13bed8ea76cb58bee2b69faa
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...


/openbmc/bmcweb/config/meson.build
/openbmc/bmcweb/meson.options
/openbmc/bmcweb/redfish-core/include/registries.hpp
/openbmc/bmcweb/redfish-core/include/registries/base_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/composition_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/environmental_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/ethernet_fabric_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/fabric_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/heartbeat_event_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/job_event_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/license_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/log_service_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/network_device_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/openbmc_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/platform_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/power_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/resource_event_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/sensor_event_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/storage_device_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/task_event_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/telemetry_message_registry.hpp
/openbmc/bmcweb/redfish-core/include/registries/update_message_registry.hpp
message_registries.hpp
/openbmc/bmcweb/scripts/parse_registries.py
/openbmc/bmcweb/test/redfish-core/include/utils/dbus_utils.cpp
/openbmc/bmcweb/test/redfish-core/include/utils/json_utils_test.cpp
be2f124c03-Dec-2024 Jishnu CM <jishnunambiarcm@duck.com>

Extract reusable logic into separate function

Moved post session creation logic to new function called
processAfterSessionCreation.
This refactor improves code reuse for MFA changes in commit
https:

Extract reusable logic into separate function

Moved post session creation logic to new function called
processAfterSessionCreation.
This refactor improves code reuse for MFA changes in commit
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/74938

Tested by:
Created session with expired password.
Verified password change is forced.

Created session with valid password.

Change-Id: Id91c53661c2c875c229cee9b5a6575560031ad75
Signed-off-by: Jishnu CM <jishnunambiarcm@duck.com>

show more ...

f7a2607304-Dec-2024 Myung Bae <myungbae@us.ibm.com>

Refactor Message Header and Url Selector

This is to refactor the access of header and url parts from
MessageRegistry to reduce the replicated comparison of the registry
name.

Tested:
- GET /redfis

Refactor Message Header and Url Selector

This is to refactor the access of header and url parts from
MessageRegistry to reduce the replicated comparison of the registry
name.

Tested:
- GET /redfish/v1/Registries/<str>/<str> like
```
- /redfish/v1/Registries/Base/Base
- /redfish/v1/Registries/TaskEvent/TaskEvent
- /redfish/v1/Registries/ResourceEvent/ResourceEvent
- /redfish/v1/Registries/OpenBMC/OpenBMC
- /redfish/v1/Registries/Telemetry/Telemetry
```

Change-Id: Id5806343709084292273e8021e0d0b4a114ac06f
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...

fb54610529-Oct-2024 Myung Bae <myungbae@us.ibm.com>

Implement Subscription Heartbeat Logic

This implements the subscription heartbeat logic which will send the
message `RedfishServiceFunctional` periodically with the interval of
`HeartbeatIntervalMin

Implement Subscription Heartbeat Logic

This implements the subscription heartbeat logic which will send the
message `RedfishServiceFunctional` periodically with the interval of
`HeartbeatIntervalMinutes` specified in subscription property [1][2], if
`SendHeartbeat` is enabled..

Note the heartbeat enablement is per event destination as DMTF specifies
[3] like
```
... This message shall only be sent if specifically requested by an event
destination during the creation of a subscription...
```

This also add `HeartbeatEvent` to supported registry prefixes like
```
curl -k -X GET https://${bmc}/redfish/v1/EventService/
{
...
"RegistryPrefixes": [
"Base",
"OpenBMC",
"TaskEvent",
"HeartbeatEvent"
],
"ResourceTypes": [
"Task",
"Heartbeat"
],
```

Tested:

1) A single subscription and heartbeat via Redfish Event Listener

- Create a subscription via Redfish Event Listener
- PATCH `SendHeartbeat=true` and `HeartbeatIntervalMinutes` like

```
curl -k -X PATCH https://${bmc}/redfish/v1/EventService/Subscriptions/${SUBID} \
-H "Content-Type: application/json" \
-d '{"SendHeartbeat":true, "HeartbeatIntervalMinutes":1}'
```

- Monitor the Redfish Event Listener and check the following heartbeat
messages periodically (per HeartbeatIntervalMinutes)

```
response_type: POST
headers: {'Host': '9.3.62.209', 'Content-Length': '230'}

response={
"@odata.type": "#Event.v1_4_0.Event",
"Events": [
{
"@odata.type": "#Message.v1_1_1.Message",
"EventId": "HeartbeatId",
"EventTimestamp": "2024-11-21T12:21:47+00:00",
"MemberId": "0",
"Message": "Redfish service is functional.",
"MessageArgs": [],
"MessageId": "HeartbeatEvent.1.0.1.RedfishServiceFunctional",
"MessageSeverity": "OK",
"OriginOfCondition": "/redfish/v1/EventService/Subscriptions/1521743607",
"Resolution": "None."
}
],
"Id": "HeartbeatId",
"Name": "Event Log"
}
```

- Change `SendHeartbeat` to false and see whether the heartbeat message
is stopped.

2) Multiple sbscribers with the different heartbeat setups

- create 2 event listeners with 2 different destinations (e.g., port
8080 and 8081).
- Patch sendheartbeat=true to only one subscriber.
- Check whether the only subscriber that enables `SendHeartbeat` is
receiving the heartbeat messages.

3) Redfish Service Validator passes

[1] https://github.com/openbmc/bmcweb/blob/02ea923f13de196726ac2f022766a6f80bee1c0a/redfish-core/schema/dmtf/json-schema/EventDestination.v1_15_0.json#L356
[2] https://redfish.dmtf.org/registries/HeartbeatEvent.1.0.1.json
[3] https://github.com/DMTF/Redfish/blob/d9e54fc8393d8930bd42e8b134741f5051a2680f/registries/HeartbeatEvent.1.0.1.json#L14

Change-Id: I8682e05f4459940913ba189f1ed016874e38dd4a
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...

5064a25b04-Oct-2024 Myung Bae <myungbae@us.ibm.com>

Add Persistent Heartbeat subscription properties

This adds Heartbeat parameters to subscriptions so that the future
heartbeat implementation can use those parameters specified by the
schema [1][2][3

Add Persistent Heartbeat subscription properties

This adds Heartbeat parameters to subscriptions so that the future
heartbeat implementation can use those parameters specified by the
schema [1][2][3].
- SendHeartbeat
- HeartbeatIntervalMinutes

Tested:

1. POST Subscription
- Create a subscription (e.g. via Redfish-Event-Listener) or like

```
curl -k -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/EventService/Subscriptions \
-d '{
"Context": "Public",
"DeliveryRetryPolicy": "TerminateAfterRetries",
"Destination": "https://DESTINATION-IPADDR/Redfish-Evt-Listener",
"EventFormatType": "Event",
"HeartbeatIntervalMinutes": 2,
"HttpHeaders": [],
"MessageIds": [],
"MetricReportDefinitions": [],
"Protocol": "Redfish",
"RegistryPrefixes": [],
"ResourceTypes": [],
"SendHeartbeat": true,
"SubscriptionType": "RedfishEvent",
"VerifyCertificate": true
}'
```

2. GET the subscription and check the content
```
SUBID=<id>
curl -k -X GET https://${bmc}/redfish/v1/EventService/Subscriptions/${SUBID}
```

3. PATCH Subscription
- PATCH with various SendHeartbeat & HeartbeatIntervalMinutes

For example,
```
curl -k -X PATCH https://${bmc}/redfish/v1/EventService/Subscriptions/${SUBID} \
-H "Content-Type: application/json" \
-d '{"SendHeartbeat":true, "HeartbeatIntervalMinutes":10}'
```

- Restart bmcweb or reboot BMC

- Get the subscription data and see whether the heartbeat properties are
persistent.

4. Redfish Validator Service passes

[1] https://github.com/openbmc/bmcweb/blob/d109e2b60f7bb367dc8115475c6cb86bca6e1914/redfish-core/schema/dmtf/json-schema/EventDestination.v1_15_0.json#L356
[2] https://github.com/openbmc/bmcweb/blob/d109e2b60f7bb367dc8115475c6cb86bca6e1914/redfish-core/schema/dmtf/json-schema/EventDestination.v1_15_0.json#L222
[3] https://www.dmtf.org/sites/default/files/standards/documents/DSP2046_2022.3.html

Change-Id: I9e7feadb2e851ca320147df2231f65ece58ddf25
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...

8274eb1118-Nov-2024 Ed Tanous <etanous@nvidia.com>

Simplify journal paging

sd-journal has its own paging mechanisms for generating and seeking to
unique ids. Ironically they look fairly similar to what we've
implemented here, but they have more con

Simplify journal paging

sd-journal has its own paging mechanisms for generating and seeking to
unique ids. Ironically they look fairly similar to what we've
implemented here, but they have more content, presumably because they
can use internal implementation details to do paging.

This commit switches all sd-journal paging to use cursors. Functionally
this changes the odata.id from being a concatenated string into being a
base64 encoded identifier that is much longer.

The end result is vastly simplified code.

Tested:
check journal script [1] succeeds

[1] https://github.com/openbmc/openbmc-tools/blob/master/check_journal/check_journal

Script runs to completion and shows all tests passed.

Change-Id: Ia49fbfc272bef6dfbe1ea45a8d993dc785041659
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

2952f64819-Nov-2024 Joseph-Jonathan Salzano <joseph-jonathan.salzano@hp.com>

Dynamically determine ChassisType for Redfish

The function handleChassisGetSubTree will now handle properties that
are part of the xyz.openbmc_project.Inventory.Item.Chassis interface.
At time of de

Dynamically determine ChassisType for Redfish

The function handleChassisGetSubTree will now handle properties that
are part of the xyz.openbmc_project.Inventory.Item.Chassis interface.
At time of development this is only ChassisType. The new function
"handleChassisProperties" will attempt to get the Type property from
the interface, translate it to a Redfish standard string and set it as
the ChassisType value. If the property cannot be found the default
"RackMount" will be used.

Tested: Added and ran 4 new unit tests. Ran manual tests with
ChassisType being exposed via dbus in QEMU emulated environments.
Tested on ASPEED 2600 eval board.

Change-Id: Ibbd048db5007f5154e88495ec6e651a3a2137b06
Signed-off-by: Joseph-Jonathan Salzano <joseph-jonathan.salzano@hp.com>

show more ...

48fb20b917-Nov-2024 Ed Tanous <etanous@nvidia.com>

Update error types to use dmtf

In a prior patch these were InvalidUpload, an openbmc oem defined
message. Map the messages to dmtf base registry messages, primarily
MissingOrMalformedPart

Tested:

Update error types to use dmtf

In a prior patch these were InvalidUpload, an openbmc oem defined
message. Map the messages to dmtf base registry messages, primarily
MissingOrMalformedPart

Tested: on last patch of series.

Change-Id: I0b04deabb01b8e299af259e0036f6007737068c6
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

c87294a617-Nov-2024 Ed Tanous <etanous@nvidia.com>

Remove InvalidUpload response code

Invalid response is something from the openbmc registry, so it's not
a valid thing to return as a response code. For this patch, remove
the generated error messag

Remove InvalidUpload response code

Invalid response is something from the openbmc registry, so it's not
a valid thing to return as a response code. For this patch, remove
the generated error message, and replace the one place it's used with
internalError.

Tested: On last patch in series.

Change-Id: I8215935f00923c72fd7763645c06d0b6af73c01d
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

9008975e20-Nov-2024 Ed Tanous <etanous@nvidia.com>

Fix regression on metadata uri

e9f120141c8d2a1404660e46ce2126c83521405d caused a regression on this
that can be seen from the find and replace. Unfortunately service
validator doesn't catch this, b

Fix regression on metadata uri

e9f120141c8d2a1404660e46ce2126c83521405d caused a regression on this
that can be seen from the find and replace. Unfortunately service
validator doesn't catch this, but protocol validator does.

Tested: Run redfish protocol validator and see this test is now passing.

Change-Id: Ie90be9e7dd9332924a33f71ee6125b82cb21bcec
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

d109e2b618-Nov-2024 Alexander Hansen <alexander.hansen@9elements.com>

Refactor: move registries functions to their file

There were same functions from namespace 'registries' in
event_service_manager.hpp. Move them to registries.cpp/hpp.

Tested:
- Using Redfish Event

Refactor: move registries functions to their file

There were same functions from namespace 'registries' in
event_service_manager.hpp. Move them to registries.cpp/hpp.

Tested:
- Using Redfish Event Listener, test subscriptions and eventing.
- Redfish Service Validator passes

Change-Id: Id0912f6581637bb4117e67b138122c355256b561
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...

6a42dc6116-Sep-2024 Potin Lai <potin.lai@quantatw.com>

Change primary postcode interface to byte array

At least one processor implementation currently uses 9 byte post codes,
which does not fit nicely into any standard types. The backends are
changing

Change primary postcode interface to byte array

At least one processor implementation currently uses 9 byte post codes,
which does not fit nicely into any standard types. The backends are
changing dbus interface to be two arrays rather than a {uint64, array},
which will allow arbitrary sized postcodes[1].

[1]: https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/74633

Tested:
- Test with 9 bytes postcode system
```
{
"@odata.id": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries",
"@odata.type": "#LogEntryCollection.LogEntryCollection",
"Description": "Collection of POST Code Log Entries",
"Members": [
{
"@odata.id": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1",
"@odata.type": "#LogEntry.v1_9_0.LogEntry",
"Created": "2024-10-08T16:37:51.180760+00:00",
"EntryType": "Event",
"Id": "B1-1",
"Message": "Boot Count: 1; Time Stamp Offset: 0.0000 seconds; POST Code: 0x01000000000001C000",
"MessageArgs": [
"1",
"0.0000",
"0x01000000000001C000"
],
"MessageId": "OpenBMC.0.2.BIOSPOSTCode",
"Name": "POST Code Log Entry",
"Severity": "OK"
},
{
"@odata.id": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-2",
"@odata.type": "#LogEntry.v1_9_0.LogEntry",
"Created": "2024-10-08T16:37:51.282429+00:00",
"EntryType": "Event",
"Id": "B1-2",
"Message": "Boot Count: 1; Time Stamp Offset: 0.1017 seconds; POST Code: 0x01000000020001C100",
"MessageArgs": [
"1",
"0.1017",
"0x01000000020001C100"
],
"MessageId": "OpenBMC.0.2.BIOSPOSTCode",
"Name": "POST Code Log Entry",
"Severity": "OK"
},
{
"@odata.id": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-3",
"@odata.type": "#LogEntry.v1_9_0.LogEntry",
"Created": "2024-10-08T16:37:51.654501+00:00",
"EntryType": "Event",
"Id": "B1-3",
"Message": "Boot Count: 1; Time Stamp Offset: 0.4737 seconds; POST Code: 0x01000000010001C000",
"MessageArgs": [
"1",
"0.4737",
"0x01000000010001C000"
],
"MessageId": "OpenBMC.0.2.BIOSPOSTCode",
"Name": "POST Code Log Entry",
"Severity": "OK"
},
......
}
```

- Test attachment (secondary postcode) with maunul feed postcode
- promary: 0x010203040506070809
- secondary: 0x090807060504030201
```
root@bmc:~# busctl set-property xyz.openbmc_project.State.Boot.Raw /xyz/openbmc_project/state/boot/raw0 xyz.openbmc_project.State.Boot.Raw Value '(ayay)' 9 1 2 3 4 5 6 7 8 9 9 9 8 7 6 5 4 3 2 1
root@bmc:~# curl -u root:0penBmc -k https://127.0.0.1/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1
{
"@odata.id": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1",
"@odata.type": "#LogEntry.v1_9_0.LogEntry",
"AdditionalDataURI": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1/attachment",
"Created": "2024-10-15T00:52:38.408819+00:00",
"EntryType": "Event",
"Id": "B1-1",
"Message": "Boot Count: 1; Time Stamp Offset: 0.0000 seconds; POST Code: 0x010203040506070809",
"MessageArgs": [
"1",
"0.0000",
"0x010203040506070809"
],
"MessageId": "OpenBMC.0.2.BIOSPOSTCode",
"Name": "POST Code Log Entry",
"Severity": "OK"
}
root@bmc:~# curl -u root:0penBmc -k https://127.0.0.1/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1/attachment
CQgHBgUEAwIB
```

Signed-off-by: Potin Lai <potin.lai@quantatw.com>
Change-Id: Id5e8779b191e733e6be32294d21a0a1775c48db4

show more ...

fa800c8a13-Nov-2024 Gunnar Mills <gmills@us.ibm.com>

Manager: Remove SerialConsole and TODO

In 2020, the OCP Profile moved to accept SerialConsole in either
Manager or System.[1]

That was the reason of still having this code. SerialConsole was
deprec

Manager: Remove SerialConsole and TODO

In 2020, the OCP Profile moved to accept SerialConsole in either
Manager or System.[1]

That was the reason of still having this code. SerialConsole was
deprecated in Manager v1_10_0. v1_19_2 is the latest Manager
version[2].

SerialConsole was added to System in 2021[3]. In 2023, SerialConsole was
enhanced to get the status not just hardcode to enabled.

[1]: https://github.com/opencomputeproject/HWMgmt-OCP-Profiles/issues/23
[2]: https://redfish.dmtf.org/schemas/v1/Manager.v1_19_2.json
[3]: https://github.com/openbmc/bmcweb/commit/0e8ac5e706c531d2a3e2fc8390d9a31b90a91eb1
[4]: https://github.com/openbmc/bmcweb/commit/5c3e927283e32e1633ccd409f34ee17fab626ca1

Tested: Covered by automated tests.

Change-Id: I0a95e9215d4aa4626a3da75c989cb7d5eaf94be1
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

show more ...

d27c31e915-Oct-2024 Jagpal Singh Gill <paligill@gmail.com>

update service name for UPDATESERVICE_USE_DBUS

Update the Dbus service name and path for
BMCWEB_REDFISH_UPDATESERVICE_USE_DBUS. As part of updated implementation
the new BMC code updater daemon name

update service name for UPDATESERVICE_USE_DBUS

Update the Dbus service name and path for
BMCWEB_REDFISH_UPDATESERVICE_USE_DBUS. As part of updated implementation
the new BMC code updater daemon name is
xyz.openbmc_project.Software.Manager, update setActiveImage and
FactoryReset flows to reflect so.

Tested:
```
> curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/Managers/bmc/Actions/Manager.ResetToDefaults -d '{"ResetType": "ResetAll"}'
{
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageId": "Base.1.19.0.Success",
"MessageSeverity": "OK",
"Resolution": "None."
}
]
}

> curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH https://${bmc}/redfish/v1/Managers/bmc -d '{"Links": {"ActiveSoftwareImage": {"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/70f4c0cb"}}}'
{
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageId": "Base.1.19.0.Success",
"MessageSeverity": "OK",
"Resolution": "None."
}
]
}
```

Change-Id: I42ef2485fa119474b7fd12ea94dd654c3432c067
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>

show more ...

5fe4ef3519-Oct-2024 Myung Bae <myungbae@us.ibm.com>

Make UserSubscription as shared_ptr in Subscription

Currently UserSubscription are used as value in Subscription. This
causes the copy of the object between subscriptionsMap and
subscriptionConfigMa

Make UserSubscription as shared_ptr in Subscription

Currently UserSubscription are used as value in Subscription. This
causes the copy of the object between subscriptionsMap and
subscriptionConfigMap when doing PATCH.

Using a shared_ptr for UserSubscription avoids the memory copy of it.

Tested:

- Using Redfish Event Listener, test subscriptions and eventing.
- Redfish Service Validator passes

Change-Id: I5821b72f28ba737a5c9b75288d377766c84c6a6a
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...

b07942e331-Oct-2024 George Liu <liuxiwei@ieisystem.com>

Fix snmp port out of range

SNMP out of range port doesn't works, it should throw HTTPS 400 error
It went ahead and configures it, with default port which is not the
correct behavior.

Tested: If the

Fix snmp port out of range

SNMP out of range port doesn't works, it should throw HTTPS 400 error
It went ahead and configures it, with default port which is not the
correct behavior.

Tested: If the snmp port is out of range, a 400 error will be thrown.
```
$ curl --header "Content-Type: application/json" X POST -i -k -u root:0penBmc https://{bmc}/redfish/v1/EventService/Subscriptions --data-raw '{"Destination": "snmp://xx.xx.xx.76:65537","SubscriptionType": "SNMPTrap", "Protocol": "SNMPv2c"}' -vv
...

< HTTP/1.1 400 Bad Request
...

{
"Destination@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The value '\"snmp://xx.xx.xx.76:65537\"' for the property Destination is of a different format than the property can accept.",
"MessageArgs": [
"\"snmp://xx.xx.xx.76:65537\"",
"Destination"
],
"MessageId": "Base.1.16.0.PropertyValueFormatError",
"MessageSeverity": "Warning",
"Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed."
}
]
* Connection #0 to host 127.0.0.1 left intact
}
```

Change-Id: I6e002153ca37b4eb3d4538a64fa61ab35e9dab85
Signed-off-by: George Liu <liuxiwei@ieisystem.com>

show more ...

02ea923f25-Oct-2024 Gunnar Mills <gmills@us.ibm.com>

Remove 2nd incorrect TotalCores

bmcweb has 2 places where it is setting the processor's TotalCores, here
and in the getCpuDataByInterface call[1].

The way being removed of getting TotalCores, assum

Remove 2nd incorrect TotalCores

bmcweb has 2 places where it is setting the processor's TotalCores, here
and in the getCpuDataByInterface call[1].

The way being removed of getting TotalCores, assumes the path of cores
is <processorPath/core*>, it also has some interesting logic for
present.

The getCpuDataByInterface goes out to D-Bus and gets the CoreCount
value, part of the CPU interface[2] in PDI.

IBM isn't using this path way of getting TotalCores. Don't see any
company that is but hard to know. Since this way is wrong, don't think
we should put behind a meson option, instead just remove.

History:
Aug, 2019: IBM added getting "TotalCores" by assuming this core path[3]
Aug, 2020: Intel added CPU properties including corecount to PDI[4]
Sept, 2020: Intel adds using this D-Bus property[5]

Long term, it would be good to model the cores, the cores and processor
have an association,[6] the bmcweb review for the cores is using this
association[7].

[1]: https://github.com/openbmc/bmcweb/blob/master/redfish-core/lib/processor.hpp#L133
[2]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/73c931fb942daa714bfff17e950b9d5622a25842/yaml/xyz/openbmc_project/Inventory/Item/Cpu.interface.yaml#L46
[3]: https://github.com/openbmc/bmcweb/commit/ec8faf9243b6f6320daeb3ba6a94d1f257034506
[4]: https://github.com/openbmc/phosphor-dbus-interfaces/commit/259f49e0c40b287d9ea79f77db1654da47161340
[5]: https://github.com/openbmc/bmcweb/commit/029cc1f4106968f7e871d17a8bcb71a303a12ffa
[6]: https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/56395
[7]: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/38570

Tested: It builds. TotalCores is still there.

Change-Id: I9f244a33eca0e4a9838eb55ada09733807439877
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

show more ...

12345678910>>...63