pyghmi 1.5.66__py3-none-any.whl → 1.5.67__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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):
pyghmi/redfish/command.py CHANGED
@@ -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
- totalwatts += envinfo['watts']
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
- inlets.append(envinfo['inlet'])
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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyghmi
3
- Version: 1.5.66
3
+ Version: 1.5.67
4
4
  Summary: Python General Hardware Management Initiative (IPMI and others)
5
5
  Home-page: http://github.com/openstack/pyghmi/
6
6
  Author: Jarrod Johnson
@@ -17,7 +17,7 @@ pyghmi/ipmi/events.py,sha256=zgUidJIARHomwxasgeYAzDO1AEMfEOzb6XVxzry22Us,22569
17
17
  pyghmi/ipmi/fru.py,sha256=sw5ZBMrEVSBDgOUPVU_ksehQMJvrl2v-r7rVyA9xoiE,14430
18
18
  pyghmi/ipmi/sdr.py,sha256=gXVai01amSxCO2rKOj74crMts1Hoi6pmbocWuik5sks,33009
19
19
  pyghmi/ipmi/oem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- pyghmi/ipmi/oem/generic.py,sha256=N-e-bfRxrxocTte9YqwLBDv65pbthn7h0_a15NlQ_Zc,18365
20
+ pyghmi/ipmi/oem/generic.py,sha256=HQ-9qTYIBpZqB1K75jTOTSUsirrKAQcI8BhLx0eAJ1g,18518
21
21
  pyghmi/ipmi/oem/lookup.py,sha256=Ex00OEEolsdWCVhyP0QDGzOxHGEA7sKI8a8fW4kJPD8,3653
22
22
  pyghmi/ipmi/oem/lenovo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  pyghmi/ipmi/oem/lenovo/config.py,sha256=1Ya23kc-7k-k05oLS7tj4jPyBoDtZaGzvr2Av1C-h7c,25694
@@ -43,7 +43,7 @@ pyghmi/ipmi/private/simplesession.py,sha256=cNGaoT0uWIKDut6gUG9kAOX_b_qTzdB26R6I
43
43
  pyghmi/ipmi/private/spd.py,sha256=oEPSXm19X2eNXDiyW_6fVjBFqhuuMAtBI9quRJgclH4,27094
44
44
  pyghmi/ipmi/private/util.py,sha256=ayYodiSydlrrt0_pQppoRB1T6n-KNOiHZSfAlCMcpG0,3847
45
45
  pyghmi/redfish/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- pyghmi/redfish/command.py,sha256=IlaWqtXwAaqk6Iaz0OHvUx5rcG5aYzanWv1gk7gAnUc,56834
46
+ pyghmi/redfish/command.py,sha256=iUjF9d_ss1fmIW-CyPSfXQBiVABNk-4HsDUnelfa6C8,57241
47
47
  pyghmi/redfish/oem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
48
  pyghmi/redfish/oem/generic.py,sha256=LMqj1GkjCzaNfplG6fyN1gm6hbxbT-NwcqnezoVHXVc,39742
49
49
  pyghmi/redfish/oem/lookup.py,sha256=pfJW5xSkUY61OirMeYy0b1SbjBFz6IDfN5ZOYog_Yq4,1530
@@ -51,7 +51,7 @@ pyghmi/redfish/oem/dell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
51
51
  pyghmi/redfish/oem/dell/idrac.py,sha256=pNnmqdV1sOP3ABw0xq0wF1QEO2L8onT7Osc_-sDO8EU,2146
52
52
  pyghmi/redfish/oem/dell/main.py,sha256=g8773SShUpbYxXB9zVx2pD5z1xP04wB_sXAxcAs6_xY,793
53
53
  pyghmi/redfish/oem/lenovo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- pyghmi/redfish/oem/lenovo/main.py,sha256=eaCoePPXAw78BjKj9Ht7cqiXVGlj26Effy5_ybCnVDY,1622
54
+ pyghmi/redfish/oem/lenovo/main.py,sha256=MAJGAoOX-l5hMUiI7MXRsORPf0tGKWXWC8V1rDgb-KE,1665
55
55
  pyghmi/redfish/oem/lenovo/tsma.py,sha256=puSj0fO5Dt5VpDoEMVTRY95CP9q18eXcAqq7TDK350E,34633
56
56
  pyghmi/redfish/oem/lenovo/xcc.py,sha256=5GMujnFfOdYN5rR1RURNrcojtYwCHf1T61XBaMv0Sa4,81876
57
57
  pyghmi/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -62,11 +62,11 @@ pyghmi/tests/unit/ipmi/test_sdr.py,sha256=vb3iLY0cnHJ2K_m4xgYUjEcbPd_ZYhYx-uBowB
62
62
  pyghmi/util/__init__.py,sha256=GZLBWJiun2Plb_VE9dDSh4_PQMCha3gA7QLUqx3oSYI,25
63
63
  pyghmi/util/parse.py,sha256=6VlyBCEcE8gy8PJWmEDdtCyWATaKwPaTswCdioPCWOE,2120
64
64
  pyghmi/util/webclient.py,sha256=jV091_s-HWNDVMKfMxB5XljqiwinQkfXJgHt1u6Umms,14526
65
- pyghmi-1.5.66.dist-info/AUTHORS,sha256=-0iHKtdQwAJfAGKcruCnvcQXrXuE_LgBZ3P15DJI1xY,2044
66
- pyghmi-1.5.66.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
67
- pyghmi-1.5.66.dist-info/METADATA,sha256=OIW2wxKDLlwn_L1HPIG58VZRgd4oOc1Al73hqWhU2YQ,1119
68
- pyghmi-1.5.66.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
69
- pyghmi-1.5.66.dist-info/entry_points.txt,sha256=WkbeJkEZzG9MOILxkaEPSEQ109YP9euntH9kcxbysuk,169
70
- pyghmi-1.5.66.dist-info/pbr.json,sha256=FJ2PFUdjU3Hr55bJHdhyFSMuRGMYMxtwbpavx_RuNw4,46
71
- pyghmi-1.5.66.dist-info/top_level.txt,sha256=aDtt6S9eVu6-tNdaUs4Pz9PbdUd69bziZZMhNvk9Ulc,7
72
- pyghmi-1.5.66.dist-info/RECORD,,
65
+ pyghmi-1.5.67.dist-info/AUTHORS,sha256=-0iHKtdQwAJfAGKcruCnvcQXrXuE_LgBZ3P15DJI1xY,2044
66
+ pyghmi-1.5.67.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
67
+ pyghmi-1.5.67.dist-info/METADATA,sha256=85FyzuBALT5ZJ_Bt9K6bNO8jmgjGlSvm8aPU5oxMWdg,1119
68
+ pyghmi-1.5.67.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
69
+ pyghmi-1.5.67.dist-info/entry_points.txt,sha256=WkbeJkEZzG9MOILxkaEPSEQ109YP9euntH9kcxbysuk,169
70
+ pyghmi-1.5.67.dist-info/pbr.json,sha256=Iw5eWEgpKQjXDXguYvFnFL1LkvEU4MEJ1etQgX-OjJ8,46
71
+ pyghmi-1.5.67.dist-info/top_level.txt,sha256=aDtt6S9eVu6-tNdaUs4Pz9PbdUd69bziZZMhNvk9Ulc,7
72
+ pyghmi-1.5.67.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"git_version": "da7796b", "is_release": true}
@@ -1 +0,0 @@
1
- {"git_version": "4d6921c", "is_release": true}