Skip to content

Instantly share code, notes, and snippets.

@ratagupt
Created July 10, 2020 11:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ratagupt/0aa4da098a60d49af90a7e4a6ea6d5f2 to your computer and use it in GitHub Desktop.
Save ratagupt/0aa4da098a60d49af90a7e4a6ea6d5f2 to your computer and use it in GitHub Desktop.
Redfish-Dbus mapping
=========================================================================================================
MAP1:
=========================================================================================================
RedfishNode: /redfish/v1/AccountService/
AccountService:
===============
Properties:
{
"MinPasswordLength": {
"/xyz/openbmc-project/user/": {
"xyz.openbmc_project.User.AccountPolicy": {
"PropertiesChanged": ["MinPasswordLength"]
}
}
},
"AccountLockoutDuration": {
"/xyz/openbmc-project/user/": {
"xyz.openbmc_project.User.AccountPolicy": {
"PropertiesChanged": ["AccountUnlockTimeout"]
}
}
},
"LDAP": {
"/xyz/openbmc-project/user/ldap/config": {
"xyz.openbmc_project.User.Ldap.Config": {
"PropertiesChanged": ["LDAPServerURI", "Enabled", "LDAPBindDN", "LDAPBaseDN"]
}
}
},
"ActiveDirectory": {
"/xyz/openbmc-project/user/ldap/config": {
"xyz.openbmc_project.User.Ldap.Config": {
"PropertiesChanged": ["LDAPServerURI", "Enabled", "LDAPBindDN", "LDAPBaseDN"]
}
}
}
}
RedfishNode: /redfish/v1/AccountService/Accounts/<str>/
ManagerAccount
==============
Properties:
{
"Enabled": {
"/xyz/openbmc-project/user/<id>": {
"xyz.openbmc_project.User.Attributes": {
"PropertiesChanged": ["UserEnabled"]
}
}
},
"Locked": {
"/xyz/openbmc-project/user/<id>": {
"xyz.openbmc_project.User.Attributes": {
"PropertiesChanged": ["UserLockedForFailedAttempt"]
}
}
},
"RoleId": {
"/xyz/openbmc-project/user/<id>": {
"xyz.openbmc_project.User.Attributes": {
"PropertiesChanged": ["UserPrivilege"]
}
}
},
"PasswordChangeRequired": {
"/xyz/openbmc-project/user/<id>": {
"xyz.openbmc_project.User.Attributes": {
"PropertiesChanged": ["UserPasswordExpired"]
}
}
}
}
Resources:
{
ManagerAccount: {
"/xyz/openbmc-project/user/<id>": {
"xyz.openbmc_project.User.Attributes":
"InterfaceAdded": ["str=Id"]
}
LogEntry (EventLog)
=======
RedfishNode : /redfish/v1/Systems/system/LogServices/EventLog/Entries/<str>
Properties:
{
}
Resources:
{
LogEntry: {
"/xyz/openbmc-project/logging/<id>": {
"xyz.openbmc_project.Logging.Entry":
"InterfaceAdded": ["str=Id"]
}
LogEntry (Dump)
========
RedfishNode : /redfish/v1/Systems/system/LogServices/system/Entries/
Properties:
{
}
Resources:
{
LogEntry: {
"/xyz/openbmc-project/dump/<id>": {
"xyz.openbmc_project.Logging.Entry":
{
"InterfaceAdded": ["str = id"]
"InterfaceRemoved": ["str = id"]
},
"xyz.openbmc_project.Dump.Entry.System":{
}
}
}
====================================================================================================================
MAP2
======================================================================================================================
Following two mappings would be generted by the above mapping
Mapping between "Redfish ResourceType" and the interested DbusInterfaces
=========================================================================
{
"LogEntry": {
"interfaces": ["xyz.openbmc_project.Logging.Entry","xyz.openbmc_project.dump.Entry","xyz.openbmc_project.Dump.Entry.System"],
"signals": ["interfacesAdded", "interfacesRemoved", "PropertiesChanged"]
},
"LogService":{},
"AccountService":{
"interfaces": [ "xyz.openbmc_project.User.AccountPolicy",
"xyz.openbmc_project.User.PrivilegeMapperEntry",
"xyz.openbmc_project.Ldap.Config" ],
"signals": ["PropertiesChanged", "interfacesAdded", "interfacesRemoved" ]
},
"ManagerAccount": {
"interfaces": ["xyz.openbmc_project.User.Attributes"],
"signals": ["PropertiesChanged", "interfacesAdded", "interfacesRemoved"]
}
}
====================================================================================================================
MAP3
=====================================================================================================================
Mapping between Dbus interfaces to the Redfish resources
========================================================
{
"AccountService": {
"/xyz/openbmc-project/user/": {
"xyz.openbmc_project.User.AccountPolicy": {
"PropertiesChanged": {
"MinPasswordLength": ["/redfish/v1/accountService", "MinPasswordLength", "AccountService"],
"AccountLockoutDuration": ["/redfish/v1/accountService", "AccountUnlockTimeout", "AccountService"],
"MaxLoginAttemptBeforeLockout": ["/redfish/v1/accountService", "AccountLockoutThreshold", "AccountService"]
}
}
},
"/xyz/openbmc-project/user/ldap/config": {
"xyz.openbmc_project.User.Ldap.Config": {
"PropertiesChanged": {
"LDAPServerURI": ["/redfish/v1/accountService", "LDAP", "AccountService"],
"Enabled": ["/redfish/v1/accountService", "LDAP", "AccountService"],
"LDAPBindDN": ["/redfish/v1/accountService", "LDAP", "AccountService"],
"LDAPBaseDN": ["/redfish/v1/accountService", "LDAP", "AccountService"],
"LDAPSearchScope": ["/redfish/v1/accountService", "LDAP", "AccountService"],
"GroupNameAttribute": ["/redfish/v1/accountService", "LDAP", "AccountService"],
"UserNameAttribute": ["/redfish/v1/accountService", "LDAP", "AccountService"]
}
}
},
"/xyz/openbmc-project/user/active_directory/config": {
"xyz.openbmc_project.User.Ldap.Config": {
"PropertiesChanged": {
"LDAPServerURI": ["/redfish/v1/accountService", "ActiveDirectory", "AccountService"],
"Enabled": ["/redfish/v1/accountService", "ActiveDirectory", "AccountService"],
"LDAPBindDN": ["/redfish/v1/accountService", "ActiveDirectory", "AccountService"],
"LDAPBaseDN": ["/redfish/v1/accountService", "ActiveDirectory", "AccountService"],
"LDAPSearchScope": ["/redfish/v1/accountService", "ActiveDirectory", "AccountService"],
"GroupNameAttribute": ["/redfish/v1/accountService", "ActiveDirectory", "AccountService"],
"UserNameAttribute": ["/redfish/v1/accountService", "ActiveDirectory", "AccountService"]
}
}
}
},
"ManagerAccount": {
"/xyz/openbmc-project/user/<id>": {
"xyz.openbmc_project.User.Attribute": {
"PropertiesChanged": {
"UserEnabled": ["/redfish/v1/accountService/accounts/<id>", "Enabled", "ManagerAccount"],
"UserLockedForFailedAttempt": ["/redfish/v1/accountService/accounts/<id>", "Locked", "ManagerAccount"],
"UserPrivilege": ["/redfish/v1/accountService/accounts/<id>", "RoleId", "ManagerAccount"],
"UserPasswordExpired": ["/redfish/v1/accountService/accounts/<id>", "PasswordChangeRequired", "ManagerAccount"]
},
"InterfaceAdded": {
"xyz.openbmc_project.User.Attribute": ["/redfish/v1/accountService/accounts/<id>", "dummy", "ManagerAccount"]
},
"InterfaceRemoved": {
"xyz.openbmc_project.User.Attribute": ["/redfish/v1/accountService/accounts/<id>", "dummy", "ManagerAccount"]
}
}
}
},
"LogEntry": {
"/xyz/openbmc_project/logging/<id>": {
"xyz.openbmc_project.Logging.Entry": {
"interfaceadded": {
"xyz.openbmc_project.Logging.Entry": ["/redfish/v1/systems/system/logservices/eventlog/entries/<id>", "", "LogEntry"]
}
}
},
"/xyz/openbmc_project/dump/<id>": {
"xyz.openbmc_project.dump.Entry": {
"interfaceadded": {
"xyz.openbmc_project.Dump.Entry.System": ["/redfish/v1/systems/system/logservices/eventlog/entries/<id>", "", "LogEntry"],
"xyz.openbmc_project.Dump.Entry.BMC": ["/redfish/v1/systems/managers/bmc/eventlog/entries/<id>", "", "LogEntry"]
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment