All of lore.kernel.org
 help / color / mirror / Atom feed
* Telemetry Reports dynamic update
@ 2019-12-03 23:57 Justin Thaler
  2019-12-04  6:43 ` [EXTERNAL] " Neeraj Ladkani
  0 siblings, 1 reply; 5+ messages in thread
From: Justin Thaler @ 2019-12-03 23:57 UTC (permalink / raw)
  To: openbmc, Matuszczak, Piotr, vishwa, neladk

Hi All,
	I've been sort of silently reviewing the designs to telemetry reports 
design along with subscriptions. As I was reviewing it, I've had a 
couple of different design points come up and an interesting use case 
I've wanted to ask about. So here's my scenario:

I've set up a telemetry report to the system dynamically by querying the 
sensors and request the values are updated every second. The system was 
in a state where it was powered off, so not many sensors were available. 
After the system is powered on, more sensors are added as different 
devices are powered up. At this point I'd want to add the additional 
sensors to my report. I query the system again for all the available 
sensors and see thermal and power readings for the CPUs. I want updates 
on these every second just like my initial report.

This leads me to the following question:
Can I push a new report definition to the TelemetryService and have the 
event service start providing that new definition without tearing down 
the subscription first, which would leave a gap in the data?

Thanks,
Justin Thaler

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [EXTERNAL] Telemetry Reports dynamic update
  2019-12-03 23:57 Telemetry Reports dynamic update Justin Thaler
@ 2019-12-04  6:43 ` Neeraj Ladkani
  2019-12-04 13:27   ` Justin Thaler
  0 siblings, 1 reply; 5+ messages in thread
From: Neeraj Ladkani @ 2019-12-04  6:43 UTC (permalink / raw)
  To: Justin Thaler, openbmc, Matuszczak, Piotr, vishwa

We don’t have telemetryservice in BMC currently so are you currently doing it using webui? Or you have written a app using redfish APIs?  I asked similar question in last week work group meeting. I think it will be useful to have ability to add new report definitions.

-----Original Message-----
From: Justin Thaler <thalerj@linux.vnet.ibm.com> 
Sent: Tuesday, December 3, 2019 3:57 PM
To: openbmc@lists.ozlabs.org; Matuszczak, Piotr <piotr.matuszczak@intel.com>; vishwa <vishwa@linux.vnet.ibm.com>; Neeraj Ladkani <neladk@microsoft.com>
Subject: [EXTERNAL] Telemetry Reports dynamic update

Hi All,
	I've been sort of silently reviewing the designs to telemetry reports design along with subscriptions. As I was reviewing it, I've had a couple of different design points come up and an interesting use case I've wanted to ask about. So here's my scenario:

I've set up a telemetry report to the system dynamically by querying the sensors and request the values are updated every second. The system was in a state where it was powered off, so not many sensors were available. 
After the system is powered on, more sensors are added as different devices are powered up. At this point I'd want to add the additional sensors to my report. I query the system again for all the available sensors and see thermal and power readings for the CPUs. I want updates on these every second just like my initial report.

This leads me to the following question:
Can I push a new report definition to the TelemetryService and have the event service start providing that new definition without tearing down the subscription first, which would leave a gap in the data?

Thanks,
Justin Thaler

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [EXTERNAL] Telemetry Reports dynamic update
  2019-12-04  6:43 ` [EXTERNAL] " Neeraj Ladkani
@ 2019-12-04 13:27   ` Justin Thaler
  2019-12-06 16:04     ` Matuszczak, Piotr
  0 siblings, 1 reply; 5+ messages in thread
From: Justin Thaler @ 2019-12-04 13:27 UTC (permalink / raw)
  To: Neeraj Ladkani, openbmc, Matuszczak, Piotr, vishwa



On 12/4/19 12:43 AM, Neeraj Ladkani wrote:
> We don’t have telemetryservice in BMC currently so are you currently doing it using webui? Or you have written a app using redfish APIs?  I asked similar question in last week work group meeting. I think it will be useful to have ability to add new report definitions.
I have an app that uses the current websocket implementation on openBMC 
and have been reviewing the needs for transitioning the app to redfish 
when the time comes. One limitation of those is not being able to update 
the active subscription without tearing it down and starting it again, 
resulting in a few seconds of missed readings.

Being able to update the content of the subscription on the fly would be 
a huge value add I think.
> 
> -----Original Message-----
> From: Justin Thaler <thalerj@linux.vnet.ibm.com>
> Sent: Tuesday, December 3, 2019 3:57 PM
> To: openbmc@lists.ozlabs.org; Matuszczak, Piotr <piotr.matuszczak@intel.com>; vishwa <vishwa@linux.vnet.ibm.com>; Neeraj Ladkani <neladk@microsoft.com>
> Subject: [EXTERNAL] Telemetry Reports dynamic update
> 
> Hi All,
> 	I've been sort of silently reviewing the designs to telemetry reports design along with subscriptions. As I was reviewing it, I've had a couple of different design points come up and an interesting use case I've wanted to ask about. So here's my scenario:
> 
> I've set up a telemetry report to the system dynamically by querying the sensors and request the values are updated every second. The system was in a state where it was powered off, so not many sensors were available.
> After the system is powered on, more sensors are added as different devices are powered up. At this point I'd want to add the additional sensors to my report. I query the system again for all the available sensors and see thermal and power readings for the CPUs. I want updates on these every second just like my initial report.
> 
> This leads me to the following question:
> Can I push a new report definition to the TelemetryService and have the event service start providing that new definition without tearing down the subscription first, which would leave a gap in the data?
> 
> Thanks,
> Justin Thaler
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [EXTERNAL] Telemetry Reports dynamic update
  2019-12-04 13:27   ` Justin Thaler
@ 2019-12-06 16:04     ` Matuszczak, Piotr
  2019-12-06 17:27       ` Justin Thaler
  0 siblings, 1 reply; 5+ messages in thread
From: Matuszczak, Piotr @ 2019-12-06 16:04 UTC (permalink / raw)
  To: Justin Thaler, Neeraj Ladkani, openbmc, vishwa

Hi Justin, 

You've raised an interesting topic. In current implementation, when OpenBMC boots when platform is in power off state, not all sensors are available, thus they won't appear in Redfish tree and you won't be able to configure metric report if you want to use these sensors. If BMC boots during the platform boot, all available sensors will be discovered and exposed in the Redfish tree. After this, when platform is powered off, the sensors, that are not available in this platform state shall be still available in the Redfish tree, but they won't provide valid readings. Unfortunately, such behavior is not standardized, thus if we want to be able to define metric reports when platform is powered off, we will have to make the required sensors behavior part of the design. 

Regards
Piotr


-----Original Message-----
From: Justin Thaler <thalerj@linux.vnet.ibm.com> 
Sent: Wednesday, December 4, 2019 2:28 PM
To: Neeraj Ladkani <neladk@microsoft.com>; openbmc@lists.ozlabs.org; Matuszczak, Piotr <piotr.matuszczak@intel.com>; vishwa <vishwa@linux.vnet.ibm.com>
Subject: Re: [EXTERNAL] Telemetry Reports dynamic update



On 12/4/19 12:43 AM, Neeraj Ladkani wrote:
> We don’t have telemetryservice in BMC currently so are you currently doing it using webui? Or you have written a app using redfish APIs?  I asked similar question in last week work group meeting. I think it will be useful to have ability to add new report definitions.
I have an app that uses the current websocket implementation on openBMC and have been reviewing the needs for transitioning the app to redfish when the time comes. One limitation of those is not being able to update the active subscription without tearing it down and starting it again, resulting in a few seconds of missed readings.

Being able to update the content of the subscription on the fly would be a huge value add I think.
> 
> -----Original Message-----
> From: Justin Thaler <thalerj@linux.vnet.ibm.com>
> Sent: Tuesday, December 3, 2019 3:57 PM
> To: openbmc@lists.ozlabs.org; Matuszczak, Piotr 
> <piotr.matuszczak@intel.com>; vishwa <vishwa@linux.vnet.ibm.com>; 
> Neeraj Ladkani <neladk@microsoft.com>
> Subject: [EXTERNAL] Telemetry Reports dynamic update
> 
> Hi All,
> 	I've been sort of silently reviewing the designs to telemetry reports design along with subscriptions. As I was reviewing it, I've had a couple of different design points come up and an interesting use case I've wanted to ask about. So here's my scenario:
> 
> I've set up a telemetry report to the system dynamically by querying the sensors and request the values are updated every second. The system was in a state where it was powered off, so not many sensors were available.
> After the system is powered on, more sensors are added as different devices are powered up. At this point I'd want to add the additional sensors to my report. I query the system again for all the available sensors and see thermal and power readings for the CPUs. I want updates on these every second just like my initial report.
> 
> This leads me to the following question:
> Can I push a new report definition to the TelemetryService and have the event service start providing that new definition without tearing down the subscription first, which would leave a gap in the data?
> 
> Thanks,
> Justin Thaler
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [EXTERNAL] Telemetry Reports dynamic update
  2019-12-06 16:04     ` Matuszczak, Piotr
@ 2019-12-06 17:27       ` Justin Thaler
  0 siblings, 0 replies; 5+ messages in thread
From: Justin Thaler @ 2019-12-06 17:27 UTC (permalink / raw)
  To: Matuszczak, Piotr, Neeraj Ladkani, openbmc, vishwa

Hi Piotr,
	Agreed, this type of thing, OOB Telemetry, in the industry is 
relatively new and we've seen a lot of interest in it, with some pretty 
wide varying use cases. I brought up this particular case as we had the 
same behavior on the legacy rest API where the sensors were dynamically 
added and removed, so any listening software had to actively track that 
list. It really boiled down to knowing when the sensors list would be 
updated, and keying a rescan at that point in time. The trouble I ran 
into is it required a resubscribe to change the sensor list and would 
lead into data gaps during the boot cycle. Workaround of course can be 
made for this but do result in some extra BMC loads.

I think if we had a way to get the event service of redfish to see a 
telemetry report was changed, and begin pushing the new results of that 
report, it would go a long way to solving this issue.This option is 
however limited by the external application having to monitor for those 
state changes, then querying for all the sensors, and pushing a new 
report. This could result in a delay causing some initial readings to be 
missed.

The other alternative you hinted at for the sensors would be to have an 
"all" option on the TelemetryReport, that then causes the 
TelemetryService to track the new sensors getting added to the redfish 
API. The report appears to be updated dynamically, with the new sensor 
adds, with no work needed by an external application. This may be the 
more favorable and hardware agnostic approach, but is definitely more 
work from a BMC perspective.

Thanks,
Justin Thaler

On 12/6/19 10:04 AM, Matuszczak, Piotr wrote:
> Hi Justin,
> 
> You've raised an interesting topic. In current implementation, when OpenBMC boots when platform is in power off state, not all sensors are available, thus they won't appear in Redfish tree and you won't be able to configure metric report if you want to use these sensors. If BMC boots during the platform boot, all available sensors will be discovered and exposed in the Redfish tree. After this, when platform is powered off, the sensors, that are not available in this platform state shall be still available in the Redfish tree, but they won't provide valid readings. Unfortunately, such behavior is not standardized, thus if we want to be able to define metric reports when platform is powered off, we will have to make the required sensors behavior part of the design.
> 
> Regards
> Piotr
> 
> 
> -----Original Message-----
> From: Justin Thaler <thalerj@linux.vnet.ibm.com>
> Sent: Wednesday, December 4, 2019 2:28 PM
> To: Neeraj Ladkani <neladk@microsoft.com>; openbmc@lists.ozlabs.org; Matuszczak, Piotr <piotr.matuszczak@intel.com>; vishwa <vishwa@linux.vnet.ibm.com>
> Subject: Re: [EXTERNAL] Telemetry Reports dynamic update
> 
> 
> 
> On 12/4/19 12:43 AM, Neeraj Ladkani wrote:
>> We don’t have telemetryservice in BMC currently so are you currently doing it using webui? Or you have written a app using redfish APIs?  I asked similar question in last week work group meeting. I think it will be useful to have ability to add new report definitions.
> I have an app that uses the current websocket implementation on openBMC and have been reviewing the needs for transitioning the app to redfish when the time comes. One limitation of those is not being able to update the active subscription without tearing it down and starting it again, resulting in a few seconds of missed readings.
> 
> Being able to update the content of the subscription on the fly would be a huge value add I think.
>>
>> -----Original Message-----
>> From: Justin Thaler <thalerj@linux.vnet.ibm.com>
>> Sent: Tuesday, December 3, 2019 3:57 PM
>> To: openbmc@lists.ozlabs.org; Matuszczak, Piotr
>> <piotr.matuszczak@intel.com>; vishwa <vishwa@linux.vnet.ibm.com>;
>> Neeraj Ladkani <neladk@microsoft.com>
>> Subject: [EXTERNAL] Telemetry Reports dynamic update
>>
>> Hi All,
>> 	I've been sort of silently reviewing the designs to telemetry reports design along with subscriptions. As I was reviewing it, I've had a couple of different design points come up and an interesting use case I've wanted to ask about. So here's my scenario:
>>
>> I've set up a telemetry report to the system dynamically by querying the sensors and request the values are updated every second. The system was in a state where it was powered off, so not many sensors were available.
>> After the system is powered on, more sensors are added as different devices are powered up. At this point I'd want to add the additional sensors to my report. I query the system again for all the available sensors and see thermal and power readings for the CPUs. I want updates on these every second just like my initial report.
>>
>> This leads me to the following question:
>> Can I push a new report definition to the TelemetryService and have the event service start providing that new definition without tearing down the subscription first, which would leave a gap in the data?
>>
>> Thanks,
>> Justin Thaler
>>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-12-06 17:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-03 23:57 Telemetry Reports dynamic update Justin Thaler
2019-12-04  6:43 ` [EXTERNAL] " Neeraj Ladkani
2019-12-04 13:27   ` Justin Thaler
2019-12-06 16:04     ` Matuszczak, Piotr
2019-12-06 17:27       ` Justin Thaler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.