Hi Shyamala,

That is not the behavior I see.  Does this maybe depend on the plugin?  I am 
using the ipmidirect plugin, connected via LAN to an IPMI 2.0 compliant chassis 
manager in a non-ATCA platform.

First of all, it is impossible to subscribe for events before starting the 
daemon, because an attempt to call saHpiSessionOpen() returns an error, 
SA_ERR_HPI_NO_RESPONSE.

After starting the daemon, it continues to return that error to 
saHpiSessionOpen() for some time.  I keep retrying the call, until eventually 
it returns SA_OK.

At that point, I immediately call saHpiSubscribe(), and then alternately call 
saHpiEventGet() and saHpiRptEntryGet().  saHpiEventGet() always returns 
SA_ERR_HPI_TIMEOUT, indicating no events are available to read.  
saHpiRptEntryGet() returns SA_ERR_HPI_NOT_PRESENT indicating that no RPT 
entries are present.

After some time (30 seconds to a minute), saHpiEventGet() continues to return 
SA_ERR_HPI_TIMEOUT - still no events - but, saHpiRptEntryGet() now returns the 
first RPT entry, and I can walk through the entire table.

Thus, all those RPT entries seem to have been added to the table, while the 
session was open and subscribed, but no events were received.

If I call saHpiDiscover() just after the successful saHpiSessionOpen() return, 
it blocks for that 30 seconds to a minute.  Calling saHpiRptEntryGet() just 
after it returns, I see that the RPT table is filled.

David

From: shyamala openhpi [mailto:[email protected]]
Sent: Wednesday, October 05, 2011 7:34 AM
To: [email protected]
Subject: Re: [Openhpi-devel] saHpiDiscover() Required?

Hi David,

Hot-swap or resource-added events will be received if we subscribe for the 
events before starting the openhpid daemon.

Regards,
Shyamala
On Wed, Oct 5, 2011 at 1:34 AM, David McKinley 
<[email protected]<mailto:[email protected]>> wrote:
Hello,

I have just seen a problem with OpenHPI that I thought was fixed years ago.

I started up the openhpi daemon as well as a client program.  For a while, as 
the daemon was reading SDRs and such, I could not open a session.  After a 
while, though, I could.  When the session was open, I subscribed to receive 
events, and then tried to access the RPT and found it empty.  A while later - 
after more reading of SDRs, FRU data, SELs, etc. by the daemon, I checked the 
RPT again, and it was now populated.

>>> But no hot-swap or resource-added events were received by the open 
>>> session!!!  <<<

This would seem to be very bad behavior for an HPI implementation.  If a user 
can have a session open, the RPT and RDR tables should never change without 
events being issued.

It seems I can work around this problem by calling saHpiDiscover() immediately 
after opening a session, but according to the HPI specification this is 
explicitly not required.  Is this a known bug in OpenHPI?

Thanks,

David

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Openhpi-devel mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/openhpi-devel

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Openhpi-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openhpi-devel

Reply via email to