pyghmi 1.5.66__tar.gz → 1.5.67__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {pyghmi-1.5.66 → pyghmi-1.5.67}/ChangeLog +6 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/MANIFEST.in +1 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/PKG-INFO +1 -1
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/generic.py +3 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/command.py +12 -2
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/oem/lenovo/main.py +1 -1
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi.egg-info/PKG-INFO +1 -1
- pyghmi-1.5.67/pyghmi.egg-info/pbr.json +1 -0
- pyghmi-1.5.66/pyghmi.egg-info/pbr.json +0 -1
- {pyghmi-1.5.66 → pyghmi-1.5.67}/.coveragerc +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/.stestr.conf +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/AUTHORS +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/CONTRIBUTING.rst +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/LICENSE +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/README +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/README.md +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/builddeb +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/buildrpm +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/doc/requirements.txt +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/doc/source/conf.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/doc/source/contributor/index.rst +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/doc/source/index.rst +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/doc/source/install/index.rst +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/doc/source/reference/index.rst +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/makesetup +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/playbooks/legacy/tempest-devstack-ironic-pxe_ipmitool-pyghmi-src/post.yaml +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/playbooks/legacy/tempest-devstack-ironic-pxe_ipmitool-pyghmi-src/run.yaml +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/py27-constraints.txt +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/cmd/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/cmd/fakebmc.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/cmd/pyghmicons.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/cmd/pyghmiutil.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/cmd/virshbmc.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/constants.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/exceptions.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/bmc.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/command.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/console.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/events.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/fru.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/config.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/cpu.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/dimm.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/drive.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/energy.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/firmware.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/handler.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/imm.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/inventory.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/nextscale.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/pci.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/psu.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/raid_controller.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lenovo/raid_drive.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/oem/lookup.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/private/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/private/constants.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/private/localsession.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/private/serversession.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/private/session.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/private/simplesession.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/private/spd.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/private/util.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/ipmi/sdr.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/media.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/oem/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/oem/dell/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/oem/dell/idrac.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/oem/dell/main.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/oem/generic.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/oem/lenovo/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/oem/lenovo/tsma.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/oem/lenovo/xcc.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/redfish/oem/lookup.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/storage.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/tests/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/tests/unit/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/tests/unit/base.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/tests/unit/ipmi/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/tests/unit/ipmi/test_sdr.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/util/__init__.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/util/parse.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/util/webclient.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi/version.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi.egg-info/SOURCES.txt +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi.egg-info/dependency_links.txt +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi.egg-info/entry_points.txt +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi.egg-info/not-zip-safe +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi.egg-info/requires.txt +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/pyghmi.egg-info/top_level.txt +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/python-pyghmi.spec +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/python-pyghmi.spec.tmpl +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/requirements.txt +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/setup.cfg +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/setup.py +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/setup.py.tmpl +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/test-requirements.txt +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/tox.ini +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/wheezy.patch +0 -0
- {pyghmi-1.5.66 → pyghmi-1.5.67}/zuul.d/project.yaml +0 -0
@@ -115,6 +115,9 @@ class OEMHandler(object):
|
|
115
115
|
if len(extenv) > 1:
|
116
116
|
raise Exception('TODO: how to deal with multiple external environments')
|
117
117
|
self._inlet_name = extenv[0]
|
118
|
+
if not self._inlet_name:
|
119
|
+
raise exc.UnsupportedFunctionality(
|
120
|
+
'Unable to detect inlet sensor name for this platform')
|
118
121
|
return ipmicmd.get_sensor_reading(self._inlet_name)
|
119
122
|
|
120
123
|
def process_event(self, event, ipmicmd, seldata):
|
@@ -1153,6 +1153,8 @@ class Command(object):
|
|
1153
1153
|
chassisurl = chassis['@odata.id']
|
1154
1154
|
chassisinfo = self._do_web_request(chassisurl)
|
1155
1155
|
envurl = chassisinfo.get('EnvironmentMetrics', {}).get('@odata.id', '')
|
1156
|
+
if not envurl:
|
1157
|
+
return {}
|
1156
1158
|
envmetric = self._do_web_request(envurl, cache=1)
|
1157
1159
|
retval = {
|
1158
1160
|
'watts': envmetric.get('PowerWatts', {}).get('Reading', None),
|
@@ -1180,16 +1182,24 @@ class Command(object):
|
|
1180
1182
|
|
1181
1183
|
def get_system_power_watts(self):
|
1182
1184
|
totalwatts = 0
|
1185
|
+
gotpower = False
|
1183
1186
|
for chassis in self.sysinfo.get('Links', {}).get('Chassis', []):
|
1184
1187
|
envinfo = self._get_chassis_env(chassis)
|
1185
|
-
|
1188
|
+
currwatts = envinfo.get('watts', None)
|
1189
|
+
if currwatts is not None:
|
1190
|
+
gotpower = True
|
1191
|
+
totalwatts += envinfo['watts']
|
1192
|
+
if not gotpower:
|
1193
|
+
raise exc.UnsupportedFunctionality("System does not provide Power under redfish EnvironmentMetrics")
|
1186
1194
|
return totalwatts
|
1187
1195
|
|
1188
1196
|
def get_inlet_temperature(self):
|
1189
1197
|
inlets = []
|
1190
1198
|
for chassis in self.sysinfo.get('Links', {}).get('Chassis', []):
|
1191
1199
|
envinfo = self._get_chassis_env(chassis)
|
1192
|
-
|
1200
|
+
currinlet = envinfo.get('inlet', None)
|
1201
|
+
if currinlet:
|
1202
|
+
inlets.append(currinlet)
|
1193
1203
|
if inlets:
|
1194
1204
|
val = sum(inlets) / len(inlets)
|
1195
1205
|
unavail = False
|
@@ -23,7 +23,7 @@ def get_handler(sysinfo, sysurl, webclient, cache, cmd):
|
|
23
23
|
bmcinfo = cmd.bmcinfo
|
24
24
|
if 'Ami' in bmcinfo.get('Oem', {}):
|
25
25
|
return tsma.TsmHandler(sysinfo, sysurl, webclient, cache)
|
26
|
-
if 'FrontPanelUSB' in leninf or sysinfo.get('SKU', '').startswith('7X58'):
|
26
|
+
if 'FrontPanelUSB' in leninf or 'USBManagementPortAssignment' in leninf or sysinfo.get('SKU', '').startswith('7X58'):
|
27
27
|
return xcc.OEMHandler(sysinfo, sysurl, webclient, cache,
|
28
28
|
gpool=cmd._gpool)
|
29
29
|
else:
|
@@ -0,0 +1 @@
|
|
1
|
+
{"git_version": "da7796b", "is_release": true}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"git_version": "4d6921c", "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
|
File without changes
|
File without changes
|