Change from poll() to select() for the potentially long wait in ipmi
event loop. This is to facilitate interop with being monkey patched
with eventlet, as eventlet does not currently monkey patch poll(), but
does monkey patch select()
Change-Id: I8d6f42193ee82e2c5de7ad112232c2c77ef78825
Previously, wait would always be indefinite and act in many ways like
a busy wait. The check for completion now takes one second between
every check. The default behavior now goes for 300 seconds, but
wait can now take an int to indicate a different preference by the
caller. 300 seconds may seem like a lot, but the 'softoff' request
in particular suggests waiting for OS shutdown process to complete.
Additionally, some bugs in the retry logic were noted in the process
of having the retry timer drive the delay and are corrected.
Change-Id: Ibe34e87c2a58f13981d60e5f80b4b636e67ac3f9
It has been expressed as a concern that 'ipmi' is too generic a name.
Additionally, it is also the case that non-ipmi capability is likely
to be incorporated as it goes along (e.g. Enclosure management and
virtual media are frequently not IPMI based).
Move existing content under the 'pyghmi' namespace. pyghmi stands for
'python general hardware management infrastructure' and is pronounced
'pygmy'
Change-Id: Ib549a9f5b7dd549c7dc5ddbab251a2e06c572e41