pyghmi 1.5.69__tar.gz → 1.5.70__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {pyghmi-1.5.69 → pyghmi-1.5.70}/ChangeLog +7 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/PKG-INFO +1 -1
- {pyghmi-1.5.69 → pyghmi-1.5.70}/builddeb +1 -1
- {pyghmi-1.5.69 → pyghmi-1.5.70}/makesetup +1 -1
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/energy.py +18 -5
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi.egg-info/PKG-INFO +1 -1
- pyghmi-1.5.70/pyghmi.egg-info/pbr.json +1 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/setup.cfg +3 -3
- {pyghmi-1.5.69 → pyghmi-1.5.70}/setup.py.tmpl +1 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/test-requirements.txt +0 -5
- pyghmi-1.5.69/pyghmi.egg-info/pbr.json +0 -1
- {pyghmi-1.5.69 → pyghmi-1.5.70}/.coveragerc +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/.stestr.conf +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/AUTHORS +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/CONTRIBUTING.rst +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/LICENSE +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/MANIFEST.in +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/README +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/README.md +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/buildrpm +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/doc/requirements.txt +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/doc/source/conf.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/doc/source/contributor/index.rst +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/doc/source/index.rst +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/doc/source/install/index.rst +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/doc/source/reference/index.rst +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/playbooks/legacy/tempest-devstack-ironic-pxe_ipmitool-pyghmi-src/post.yaml +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/playbooks/legacy/tempest-devstack-ironic-pxe_ipmitool-pyghmi-src/run.yaml +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/py27-constraints.txt +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/cmd/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/cmd/fakebmc.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/cmd/pyghmicons.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/cmd/pyghmiutil.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/cmd/virshbmc.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/constants.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/exceptions.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/bmc.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/command.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/console.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/events.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/fru.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/generic.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/config.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/cpu.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/dimm.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/drive.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/firmware.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/handler.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/imm.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/inventory.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/nextscale.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/pci.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/psu.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/raid_controller.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lenovo/raid_drive.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/oem/lookup.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/private/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/private/constants.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/private/localsession.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/private/serversession.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/private/session.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/private/simplesession.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/private/spd.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/private/util.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/ipmi/sdr.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/media.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/command.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/oem/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/oem/dell/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/oem/dell/idrac.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/oem/dell/main.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/oem/generic.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/oem/lenovo/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/oem/lenovo/main.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/oem/lenovo/tsma.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/oem/lenovo/xcc.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/redfish/oem/lookup.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/storage.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/tests/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/tests/unit/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/tests/unit/base.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/tests/unit/ipmi/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/tests/unit/ipmi/test_sdr.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/util/__init__.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/util/parse.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/util/webclient.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi/version.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi.egg-info/SOURCES.txt +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi.egg-info/dependency_links.txt +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi.egg-info/entry_points.txt +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi.egg-info/not-zip-safe +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi.egg-info/requires.txt +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/pyghmi.egg-info/top_level.txt +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/python-pyghmi.spec +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/python-pyghmi.spec.tmpl +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/requirements.txt +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/setup.py +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/tox.ini +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/wheezy.patch +0 -0
- {pyghmi-1.5.69 → pyghmi-1.5.70}/zuul.d/project.yaml +0 -0
@@ -4,7 +4,7 @@ mkdir -p /tmp/pyghmi
|
|
4
4
|
cp -a * .git /tmp/pyghmi
|
5
5
|
cd /tmp/pyghmi
|
6
6
|
export PYEXEC=python3
|
7
|
-
export DSCARGS="--with-python2=
|
7
|
+
export DSCARGS="--with-python2=False --with-python3=True"
|
8
8
|
if grep wheezy /etc/os-release; then
|
9
9
|
# also it's old, use python2 instead of python3
|
10
10
|
export PYEXEC=python
|
@@ -3,7 +3,7 @@ cd `dirname $0`
|
|
3
3
|
VERSION=`git describe|cut -d- -f 1`
|
4
4
|
NUMCOMMITS=`git describe|cut -d- -f 2`
|
5
5
|
if [ "$NUMCOMMITS" != "$VERSION" ]; then
|
6
|
-
VERSION=$VERSION.dev$NUMCOMMITS
|
6
|
+
VERSION=$VERSION.dev$NUMCOMMITS+g`git describe|cut -d- -f 3`
|
7
7
|
fi
|
8
8
|
echo $VERSION > VERSION
|
9
9
|
sed -e "s/#VERSION#/$VERSION/" setup.py.tmpl > setup.py
|
@@ -32,8 +32,8 @@ class EnergyManager(object):
|
|
32
32
|
try:
|
33
33
|
rsp = ipmicmd.xraw_command(netfn=0x3a, command=0x32, data=[4, 2, 0, 0, 0])
|
34
34
|
if len(rsp['data']) >= 8:
|
35
|
-
self.supportedmeters = ('DC Energy',
|
36
|
-
|
35
|
+
self.supportedmeters = ('DC Energy', 'GPU Power',
|
36
|
+
'Node Power', 'Total Power')
|
37
37
|
self._mypowermeters = ('node power', 'total power', 'gpu power', 'riser 1 power', 'riser 2 power')
|
38
38
|
self._usefapm = True
|
39
39
|
return
|
@@ -67,9 +67,22 @@ class EnergyManager(object):
|
|
67
67
|
|
68
68
|
def get_sensor(self, name, ipmicmd):
|
69
69
|
if name.lower() not in self._mypowermeters:
|
70
|
-
raise pygexc.UnsupportedFunctionality('
|
71
|
-
|
72
|
-
|
70
|
+
raise pygexc.UnsupportedFunctionality('Unrecognized sensor: {}'.format(name))
|
71
|
+
tries = 3
|
72
|
+
rsp = None
|
73
|
+
while tries:
|
74
|
+
tries -= 1
|
75
|
+
try:
|
76
|
+
rsp = ipmicmd.xraw_command(netfn=0x3a, command=0x32, data=[4, 8, 0, 0, 0])
|
77
|
+
break
|
78
|
+
except pygexc.IpmiException as ie:
|
79
|
+
if tries and ie.ipmicode == 0xc3:
|
80
|
+
ipmicmd.ipmi_session.pause(0.1)
|
81
|
+
continue
|
82
|
+
raise
|
83
|
+
if rsp is None:
|
84
|
+
raise pygexc.UnsupportedFunctionality('Unrecognized sensor: {}'.format(name))
|
85
|
+
npow, gpupow, r1pow, r2pow = struct.unpack('<HHHH', rsp['data'][6:14])
|
73
86
|
if name.lower().startswith('node'):
|
74
87
|
return npow, 'W'
|
75
88
|
elif name.lower().startswith('gpu'):
|
@@ -0,0 +1 @@
|
|
1
|
+
{"git_version": "3673666", "is_release": true}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
[metadata]
|
2
2
|
name = pyghmi
|
3
3
|
summary = Python General Hardware Management Initiative (IPMI and others)
|
4
|
-
|
4
|
+
description_file =
|
5
5
|
README
|
6
6
|
author = Jarrod Johnson
|
7
|
-
|
8
|
-
|
7
|
+
author_email = jjohnson2@lenovo.com
|
8
|
+
home_page = http://github.com/openstack/pyghmi/
|
9
9
|
classifier =
|
10
10
|
Intended Audience :: Information Technology
|
11
11
|
Intended Audience :: System Administrators
|
@@ -21,6 +21,7 @@ setuptools.setup(
|
|
21
21
|
name='pyghmi',
|
22
22
|
version='#VERSION#',
|
23
23
|
description='Python General Hardware Management Initiative (IPMI, redfish, etc)',
|
24
|
+
long_description='Python General Hardware Management Initiative (IPMI, redfish, etc)',
|
24
25
|
author='Jarrod Johnson',
|
25
26
|
author_email='jjohnson2@lenovo.com',
|
26
27
|
packages=['pyghmi', 'pyghmi.util', 'pyghmi.ipmi', 'pyghmi.cmd',
|
@@ -1,9 +1,4 @@
|
|
1
|
-
|
2
1
|
coverage!=4.4,>=4.0 # Apache-2.0
|
3
|
-
fixtures>=3.0.0
|
4
|
-
python-subunit>=1.0.0
|
5
2
|
stestr>=2.0.0,!=2.3.0,!=3.0.0 # Apache-2.0
|
6
|
-
testscenarios>=0.4
|
7
|
-
testtools>=2.2.0
|
8
3
|
oslotest>=3.2.0,<4;python_version<'3.6' # Apache-2.0
|
9
4
|
oslotest>=3.2.0;python_version>='3.6' # Apache-2.0
|
@@ -1 +0,0 @@
|
|
1
|
-
{"git_version": "ed94d36", "is_release": true}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|