2
0
mirror of https://opendev.org/x/pyghmi synced 2025-01-15 20:27:45 +00:00

65 Commits

Author SHA1 Message Date
Jarrod Johnson
7371a58aba Rename to pyghmi
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
2013-08-07 13:51:05 -04:00
Jarrod Johnson
b985624a4b Remove callback arguments from most functions.
After some contemplation, I realized that given the underlying behavior of 'wait_for_rsp', that
synchronous and asynchronous calls play well with each other.  The pattern of considering an 'onlogon'
function as running in a sort of greenthread works well and leads to much more comprehensible code
for the average person.  While removing those arguments, the module contents were reorganized to
serve as an example of how more straightforward code written in this fashion may be.

Change-Id: I9c83660e4d3c68ad8ae0c016a3377b2a0e7ee6ec
2013-07-25 15:23:06 -04:00
Jarrod Johnson
86a2d39db7 Change session timer to monotonic when possible
Previously the ipmi session was using time.time().  This means
that retries and keepalives could be thrown off by things like ntp
or manual time corrections.

Ideally, we'd use the baked in time.monotonic(), but that doesn't exist
aside from python 3.3

Change-Id: Ia00026cef6df214f9463909309de44767c3752b5
2013-07-23 15:23:20 -04:00
Jarrod Johnson
0e8ca33842 PEP8 compliance
Change instances in code where flake8 complained

Change-Id: I0b125fcff39024f9d4bf3c4c26a863efd0fa5cba
2013-07-16 15:27:04 -04:00
Jenkins
51cf01f6c9 Merge "Add raw command to ipmictl" 2013-07-16 17:46:10 +00:00
Jarrod Johnson
35fb5ce4b0 Add raw command to ipmictl
Enable raw command for example utility

Change-Id: I44d71b5c4cab57e9465fabb2482a78baa505895d
2013-07-16 11:03:41 -04:00
Jarrod Johnson
9dd2c950a7 Add session keepalive
Assure that a live session shows activity at least once every 25-29.9 seconds.
The interval is randomized to mitigate risk of some synchronized activity
bringing on a wave of activity all at once.  The spec indicated timeout is
'about' 60 seconds by default, but an implementation could lower it to 30
seconds within reason within the constraints of the spec.

Change-Id: I74dc78757b11571c23cb309c99eee667787ffc79
2013-07-16 10:53:22 -04:00
Jarrod Johnson
02e353f2fb Add SOL support
SOL support is added in a manner that is actually functional

Change-Id: I3f83e06b27a0d44038ac6e6afcd4f8af1c534946
2013-07-12 16:26:14 -04:00
Jarrod Johnson
a7b4b4a71d Add more constants to ipmi constant list
Allow use of the more helpful names for net function codes in ipmi
specification

Change-Id: I3c7bc71e5df1936fbeac6fcc65e144e1b52ea68a
2013-07-09 14:42:34 -04:00
Jenkins
e9ef542b65 Merge "Correct spelling mistakes" 2013-07-04 16:56:11 +00:00
Jarrod Johnson
e0e39bda9a Fix errors after git repo transition.
I realized that I had never pushed __init__.py for private.

While doing tests locally, I noticed that the pep changes broke at least one
place in code, correct that.

Change-Id: Ia31cb8a75a7109a6d002524e08ef335e1c5018d4
2013-07-02 13:29:26 -04:00
Jarrod Johnson
6360f2ca9e Correct spelling mistakes
Change-Id: I752dc17e8ae3e354253614bdbd5277ca1fd67469
2013-07-02 13:16:16 -04:00
Jarrod Johnson
016326795b Rename _pack_payload to send_payload
Rename '_pack_payload' in private module to 'send_payload' as it is more
descriptive of what is happening and will be called by console.py

Change-Id: Ifa70d269c8a1e37cc5b6466845931f22cd97d6c3
2013-07-02 12:43:59 -04:00
Devananda van der Veen
ca22a48de5 Fix all pep8 errors except E128 and E501
Ran autopep8 on the four .py files in this module.
Manully fixed many additional pep8 errors as well,
Turned some long-line-comments into proper NOTE lines,
but there are more to do...

Change-Id: I657ba037863860ec3956150931c2c0e41085bd63
2013-07-02 06:11:39 -07:00
Monty Taylor
08d2e54d68 Align to OpenStack Build Standards.
Rearranged Sphinx.
Put project under PBR control.
Added tox file.
Added .testr.conf file in anticipation of testr testing.

Change-Id: I55180a6a3d224816c82999bf66156c7874786b17
2013-06-30 14:21:20 -04:00
Monty Taylor
fdca1fc199 Added gitreview file.
Change-Id: If8789bb129a45ad747e596a479a6a4466a5bafe0
2013-06-30 13:58:19 -04:00
Jarrod Johnson
7eec73261d fix setup to include the private parts of the project 2013-06-28 10:35:41 -04:00
Jarrod Johnson
0a01fe446d Reorganize pieces into 'private' to suggest to consumers the bits tehy need not think too hard about 2013-06-28 10:31:43 -04:00
Jarrod Johnson
284621feaf Change to setuptools 2013-06-28 10:12:57 -04:00
Jarrod Johnson
f0e36d8027 Change requires to install_requires 2013-06-28 10:10:28 -04:00
Jarrod Johnson
f333dbff8b Attempt to indicate pycrypto dependency 2013-06-28 10:01:40 -04:00
Jarrod Johnson
bc19838268 Reorganie things and add a setup.py for fun 2013-06-27 15:56:19 -04:00
Jarrod Johnson
05d3d05695 More style changes 2013-06-25 13:38:41 -04:00
Jarrod Johnson
147381a7e3 More cleanup, correct some syntax errors encountered trying to meet line length 2013-06-25 13:11:14 -04:00
Jarrod Johnson
1dde7b8a70 More style reworking 2013-06-25 11:44:57 -04:00
Jarrod Johnson
ab1b981547 Stylistic reworks 2013-06-25 11:23:24 -04:00
Jarrod Johnson
d8c7f9d903 More stylistic changes to ipmi_command.py 2013-06-25 11:16:07 -04:00
Jarrod Johnson
4973d577e3 Rename ipmi_syncexample to something less tounge twisting 2013-06-25 10:43:02 -04:00
Jarrod Johnson
eeb6cb255d Rework docstrings 2013-06-25 10:39:58 -04:00
Jarrod Johnson
41141ea467 Reorder imports 2013-06-25 08:25:06 -04:00
Jarrod Johnson
552ae49c58 Change one conditional to perhaps be a bit more readable 2013-06-25 08:20:16 -04:00
Jarrod Johnson
d660073f77 Add name to TODOs that I put down 2013-06-25 08:17:50 -04:00
Jarrod Johnson
7517bce5f6 Add LICENSE excerpt to each file 2013-06-24 14:37:57 -04:00
Jarrod Johnson
3afd2e17d3 Place project under Apache license 2.0 2013-06-24 14:15:39 -04:00
Jarrod Johnson
a38894664c Get acceptable copyright message in place 2013-06-24 13:43:15 -04:00
Jarrod Johnson
bef7a29e12 Flesh out documentation 2013-06-18 10:00:21 -04:00
Jarrod Johnson
5fb6a95a9d Add sphinx 1.0 structure instead of older version 2013-06-18 09:15:50 -04:00
Jarrod Johnson
2212e11d34 Revert "Add sphinx doc generator bits"
This reverts commit 5c04ffb265cd99b66534f2a2668f5ff31448c26b.
2013-06-18 09:13:28 -04:00
Jarrod Johnson
5c04ffb265 Add sphinx doc generator bits 2013-06-18 09:10:04 -04:00
Jarrod Johnson
fff7b3bd57 Add an example chunk of code showing how to code in a synchronous way to the python library 2013-06-17 16:55:44 -04:00
Jarrod Johnson
cfc6d6ec15 Add set_power, with wait argument to not return until new state confirmed 2013-06-17 16:26:57 -04:00
Jarrod Johnson
5c1713d792 Add retry/timeout behavior to library 2013-06-17 15:02:11 -04:00
Jarrod Johnson
1ecd7c2146 Have get_power coded more similarly to get_bootdev 2013-06-10 15:49:24 -04:00
Jarrod Johnson
b7e27470cc Add boot device control functions 2013-06-06 17:04:49 -04:00
Jarrod Johnson
8c68b1e3ef Put IBM copyright into the files 2013-06-04 13:16:05 -04:00
Jarrod Johnson
2f4a857118 Add a convenience wrapper to do the higher layer simple commands 2013-05-20 11:17:10 -04:00
Jarrod Johnson
785e712763 Fix up error status situation 2013-05-20 10:49:59 -04:00
Jarrod Johnson
da9f801c1f Clean up ipmi_session a little bit 2013-05-20 10:44:12 -04:00
Jarrod Johnson
74f3bf592f Do some rewording 2013-05-20 10:29:01 -04:00
Jarrod Johnson
c8ac83cccc Fix the integrity pad calculation (shame python doesn't have a 'use strict') 2013-05-19 18:51:42 -04:00