No sensors displayed in webUI

James Feist james.feist at linux.intel.com
Thu Jan 16 07:45:29 AEDT 2020


On 1/15/20 11:27 AM, Patrick Williams wrote:
> On Wed, Jan 15, 2020 at 09:26:48AM -0800, James Feist wrote:
>> There was a thread about this last week:
>>
>> https://lists.ozlabs.org/pipermail/openbmc/2020-January/020044.html
>> https://lists.ozlabs.org/pipermail/openbmc/2020-January/020136.html
>>
>> TL;DR all the sensors are available in Redfish, but the WebUI hasn't move
>> over to full Redfish support yet. There is a test patch that helps enable
>> this in the thread.
> 
> Hi James,
> 
> This statement about a dependency on Redfish stood out to me.  The
> current UI is mostly using the "old" REST API, but as long as the dbus
> objects are created correctly it should not matter one bit if the
> external interface is the dbus-based REST API or the Redfish one.
> 
> This is a bug in dbus-sensors that is independent of Redfish vs REST.
> 
> The current webui code expects there to be properties that are specified
> in phosphor-dbus-interfaces.  Specifically, it is looking for the "Unit"
> property[1], which is a required property on
> xyz.openbmc_project.Sensor.Value[2].  The dbus-sensors has a bunch of
> Sensor.Value objects that are violating the interface spec by not
> providing "Unit" [3].  Notice that `setInitialProperties` doesn't
> register_property on "Unit" and neither does any other code in this
> repository[4].
> 
> Why is none of this code using the code generated from
> phosphor-dbus-interfaces?  Since it is generating dbus objects "by
> hand" it isn't not getting any compile-time checking if it is doing the
> wrong thing (or more likely that the phosphor-dbus-interface changes out
> from underneath it).

There is a long history of this where I tried to get everyone to update 
the sensor value interface to use double instead of INT. I had a large 
agreement, but unfortunately updating all of the daemons that we did not 
use (and without any good way of testing), and trying to get by-in or 
help from all the maintainers became too large of a job. I updated as 
many daemons as I could to accept both before I ran out of time. At the 
same time, I was also phasing out unit, as unit was easy enough to read 
from the sensor path, and redundant information. All of our internal 
daemons don't use phosphor-dbus-interfaces to create interfaces, as we 
have found the code generation difficult to explain to new users, and it 
also makes it difficult to upgrade daemons as all patches need to be 
merged at once. We have been updating interfaces for documentation 
purposes, but haven't used them for any new work in quite some time.


> 
> [1] https://github.com/openbmc/phosphor-webui/blob/f70f42553615972163b36c9b4d77be07e4399122/app/common/services/api-utils.js#L979
> [2] https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Sensor/Value.interface.yaml#L32
> [3] https://github.com/openbmc/dbus-sensors/blob/fbb44ad1ea716d4e8c2cacdf01d380c6d0f53855/include/sensor.hpp#L13
> [4] https://github.com/openbmc/dbus-sensors/search?utf8=%E2%9C%93&q=unit&type=
> 


More information about the openbmc mailing list