#
2fa32228 |
| 12-Mar-2024 |
Lakshmi Yadlapati <lakshmiy@us.ibm.com> |
mapper: Add GetAssociatedSubTreeById and GetAssociatedSubTreePathsById
These methods are similar to the existing GetSubTree and GetSubTreePaths methods, but they retrieve the paths of the associated
mapper: Add GetAssociatedSubTreeById and GetAssociatedSubTreePathsById
These methods are similar to the existing GetSubTree and GetSubTreePaths methods, but they retrieve the paths of the associated endpoints corresponding to the provided identifier. Here, the "Id" refers to the leaf name of the D-Bus path, which uniquely identifies a specific component or entity within the system. For example, in the path /xyz/openbmc_project/inventory/system/ChassisId/motherboard/FanId, the identifiers could be ChassisId and FanId, where each Id uniquely identifies a chassis or a fan.
These methods use two arrays of interfaces: one to filter paths with the specified identifier and another to filter the endpoint paths of the identifier.
These methods simplify the process by combining subtree retrieval and association lookup into a single call, reducing the number of D-Bus calls needed.
ex: ''' busctl call -j "xyz.openbmc_project.ObjectMapper" "/xyz/openbmc_project/object_mapper" \ "xyz.openbmc_project.ObjectMapper" "GetAssociatedSubTreePathsById" ssiassas "chassis" \ "/xyz/openbmc_project/inventory" 0 1 "xyz.openbmc_project.Inventory.Item.Chassis" "powered_by" \ 1 "xyz.openbmc_project.Inventory.Item.PowerSupply" { "type" : "as", "data" : [ [ "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0", "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1", "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply2", "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply3" ] ] } '''
Change-Id: I7f23ad585a46064aaccb0a3c789ca4a69c923291 Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com>
show more ...
|
#
037a43e5 |
| 15-Jan-2024 |
Patrick Williams <patrick@stwcx.xyz> |
ObjectMapper: Add default paths
The ObjectMapper service is expected to be at a specific location per the description. Document this with code constants as well.
Signed-off-by: Patrick Williams <p
ObjectMapper: Add default paths
The ObjectMapper service is expected to be at a specific location per the description. Document this with code constants as well.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6623d56ae5cfd01a55ffe628bd68c5fcfd3da1dc
show more ...
|
#
6f96e056 |
| 15-Jan-2024 |
Patrick Williams <patrick@stwcx.xyz> |
ObjectMapper: match interfaces with reality
The documented ObjectMapper interfaces do not match the reference implementation in phosphor-objmgr. Lots of code currently uses hand-written dbus calls
ObjectMapper: match interfaces with reality
The documented ObjectMapper interfaces do not match the reference implementation in phosphor-objmgr. Lots of code currently uses hand-written dbus calls to the ObjectMapper, using the real interfaces and not the documented ones. Refactoring all of these implementations is quite a bit of effort, which could be staged at a later time (or leverage a versioned interface). Update the interface to match reality so that generated bindings could be leveraged.
Tested:
Ran the reference implementation and compared the signatures with the YAML and updated as necessary. ``` $ busctl --user introspect xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/object_mapper xyz.openbmc_project.ObjectMapper NAME TYPE SIGNATURE RESULT/VALUE FLAGS .GetAncestors method sas a{sa{sas}} - .GetAssociatedSubTree method ooias a{sa{sas}} - .GetAssociatedSubTreePaths method ooias as - .GetObject method sas a{sas} - .GetSubTree method sias a{sa{sas}} - .GetSubTreePaths method sias as - ```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: If6fc6a403d602d6c18c6e30dc1a216a47d059860
show more ...
|
#
a1347418 |
| 06-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
reformat with latest settings
Reformat with the latest settings from openbmc-build-scripts (and copy latest config files where appropriate). Fix a few minor markdownlint issues.
Signed-off-by: Pat
reformat with latest settings
Reformat with the latest settings from openbmc-build-scripts (and copy latest config files where appropriate). Fix a few minor markdownlint issues.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I55205817c29dc3f182a165ddf9cd5d4e07b90063
show more ...
|
#
b78a0704 |
| 24-Oct-2022 |
Patrick Williams <patrick@stwcx.xyz> |
treewide: use more specific object_path type
The sdbus++ tool allows the YAML to specify either "path" or "object_path". Switch to "object_path" everywhere for consistency and clarity.
Signed-off-
treewide: use more specific object_path type
The sdbus++ tool allows the YAML to specify either "path" or "object_path". Switch to "object_path" everywhere for consistency and clarity.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I60c51b2ece5fc4cb23d05ce5151301db3dcddf3a
show more ...
|
#
8e56f4cd |
| 11-Oct-2022 |
Willy Tu <wltu@google.com> |
mapper: Add Associated subtree method definition
Create new mapper function to make subtree call and association call at the same time. With the association definitition, we will have more endpoints
mapper: Add Associated subtree method definition
Create new mapper function to make subtree call and association call at the same time. With the association definitition, we will have more endpoints to fetch and verify that it is actually the resource that we are looking for. We need to verify that it has the expected interface to confirm that it is right device. In the current workflow this will take two dbus calls to the mapper to get the assocation and the subtree.
This change aims to reduce that down to one by combination the two operations. It will not sigificant performance increase for the daemons, but it can help reduce the load on the dbus-broker.service.
Tested: ``` Normal Call: busctl call "xyz.openbmc_project.ObjectMapper" \ "/xyz/openbmc_project/object_mapper" \ "xyz.openbmc_project.ObjectMapper" "GetSubTreePaths" sias \ "/xyz/openbmc_project/inventory" 0 1 \ "xyz.openbmc_project.Inventory.Item.Storage" as 4 "/xyz/openbmc_project/inventory/storage_0" "/xyz/openbmc_project/inventory/storage_1" "/xyz/openbmc_project/inventory/storage_4" "/xyz/openbmc_project/inventory/storage_3"
Associated Call: (Only 0 and 1 is associated to the chassis) busctl call "xyz.openbmc_project.ObjectMapper" \ "/xyz/openbmc_project/object_mapper" \ "xyz.openbmc_project.ObjectMapper" "GetAssociatedSubTreePaths" ssias \ "/xyz/openbmc_project/inventory/chassis_0/storage" \ "/xyz/openbmc_project/inventory" 0 1 "xyz.openbmc_project.Inventory.Item.Storage" as 2 "/xyz/openbmc_project/inventory/storage_0" "/xyz/openbmc_project/inventory/storage_1" ```
Signed-off-by: Willy Tu <wltu@google.com> Change-Id: I079adf41a5775f80b9c773e8e9e319d46be924ea
show more ...
|
#
8da396ca |
| 14-Mar-2022 |
Patrick Williams <patrick@stwcx.xyz> |
yaml: format with prettier
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I193f690f3612fe72ec69030f81f4d5096a761601
|
#
b1b4d261 |
| 05-Jun-2021 |
William A. Kennington III <wak@google.com> |
treewide: Create yaml directory
This allows the propagated yamldir paramter to work correctly in subproject style builds. We don't want other files in the project conflicting with tools that scan th
treewide: Create yaml directory
This allows the propagated yamldir paramter to work correctly in subproject style builds. We don't want other files in the project conflicting with tools that scan the yamldir.
Change-Id: Ie2759c7f3baf399392cdda0e507055ceb262d2e1 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|