pyghmi 1.5.65__tar.gz → 1.5.66__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. {pyghmi-1.5.65 → pyghmi-1.5.66}/ChangeLog +5 -0
  2. {pyghmi-1.5.65 → pyghmi-1.5.66}/PKG-INFO +1 -1
  3. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/imm.py +7 -2
  4. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/oem/generic.py +7 -2
  5. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/oem/lenovo/xcc.py +7 -2
  6. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi.egg-info/PKG-INFO +1 -1
  7. pyghmi-1.5.66/pyghmi.egg-info/pbr.json +1 -0
  8. pyghmi-1.5.65/pyghmi.egg-info/pbr.json +0 -1
  9. {pyghmi-1.5.65 → pyghmi-1.5.66}/.coveragerc +0 -0
  10. {pyghmi-1.5.65 → pyghmi-1.5.66}/.stestr.conf +0 -0
  11. {pyghmi-1.5.65 → pyghmi-1.5.66}/AUTHORS +0 -0
  12. {pyghmi-1.5.65 → pyghmi-1.5.66}/CONTRIBUTING.rst +0 -0
  13. {pyghmi-1.5.65 → pyghmi-1.5.66}/LICENSE +0 -0
  14. {pyghmi-1.5.65 → pyghmi-1.5.66}/MANIFEST.in +0 -0
  15. {pyghmi-1.5.65 → pyghmi-1.5.66}/README +0 -0
  16. {pyghmi-1.5.65 → pyghmi-1.5.66}/README.md +0 -0
  17. {pyghmi-1.5.65 → pyghmi-1.5.66}/builddeb +0 -0
  18. {pyghmi-1.5.65 → pyghmi-1.5.66}/buildrpm +0 -0
  19. {pyghmi-1.5.65 → pyghmi-1.5.66}/doc/requirements.txt +0 -0
  20. {pyghmi-1.5.65 → pyghmi-1.5.66}/doc/source/conf.py +0 -0
  21. {pyghmi-1.5.65 → pyghmi-1.5.66}/doc/source/contributor/index.rst +0 -0
  22. {pyghmi-1.5.65 → pyghmi-1.5.66}/doc/source/index.rst +0 -0
  23. {pyghmi-1.5.65 → pyghmi-1.5.66}/doc/source/install/index.rst +0 -0
  24. {pyghmi-1.5.65 → pyghmi-1.5.66}/doc/source/reference/index.rst +0 -0
  25. {pyghmi-1.5.65 → pyghmi-1.5.66}/makesetup +0 -0
  26. {pyghmi-1.5.65 → pyghmi-1.5.66}/playbooks/legacy/tempest-devstack-ironic-pxe_ipmitool-pyghmi-src/post.yaml +0 -0
  27. {pyghmi-1.5.65 → pyghmi-1.5.66}/playbooks/legacy/tempest-devstack-ironic-pxe_ipmitool-pyghmi-src/run.yaml +0 -0
  28. {pyghmi-1.5.65 → pyghmi-1.5.66}/py27-constraints.txt +0 -0
  29. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/__init__.py +0 -0
  30. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/cmd/__init__.py +0 -0
  31. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/cmd/fakebmc.py +0 -0
  32. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/cmd/pyghmicons.py +0 -0
  33. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/cmd/pyghmiutil.py +0 -0
  34. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/cmd/virshbmc.py +0 -0
  35. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/constants.py +0 -0
  36. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/exceptions.py +0 -0
  37. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/__init__.py +0 -0
  38. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/bmc.py +0 -0
  39. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/command.py +0 -0
  40. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/console.py +0 -0
  41. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/events.py +0 -0
  42. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/fru.py +0 -0
  43. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/__init__.py +0 -0
  44. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/generic.py +0 -0
  45. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/__init__.py +0 -0
  46. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/config.py +0 -0
  47. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/cpu.py +0 -0
  48. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/dimm.py +0 -0
  49. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/drive.py +0 -0
  50. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/energy.py +0 -0
  51. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/firmware.py +0 -0
  52. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/handler.py +0 -0
  53. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/inventory.py +0 -0
  54. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/nextscale.py +0 -0
  55. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/pci.py +0 -0
  56. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/psu.py +0 -0
  57. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/raid_controller.py +0 -0
  58. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lenovo/raid_drive.py +0 -0
  59. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/oem/lookup.py +0 -0
  60. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/private/__init__.py +0 -0
  61. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/private/constants.py +0 -0
  62. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/private/localsession.py +0 -0
  63. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/private/serversession.py +0 -0
  64. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/private/session.py +0 -0
  65. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/private/simplesession.py +0 -0
  66. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/private/spd.py +0 -0
  67. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/private/util.py +0 -0
  68. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/ipmi/sdr.py +0 -0
  69. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/media.py +0 -0
  70. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/__init__.py +0 -0
  71. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/command.py +0 -0
  72. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/oem/__init__.py +0 -0
  73. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/oem/dell/__init__.py +0 -0
  74. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/oem/dell/idrac.py +0 -0
  75. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/oem/dell/main.py +0 -0
  76. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/oem/lenovo/__init__.py +0 -0
  77. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/oem/lenovo/main.py +0 -0
  78. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/oem/lenovo/tsma.py +0 -0
  79. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/redfish/oem/lookup.py +0 -0
  80. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/storage.py +0 -0
  81. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/tests/__init__.py +0 -0
  82. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/tests/unit/__init__.py +0 -0
  83. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/tests/unit/base.py +0 -0
  84. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/tests/unit/ipmi/__init__.py +0 -0
  85. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/tests/unit/ipmi/test_sdr.py +0 -0
  86. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/util/__init__.py +0 -0
  87. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/util/parse.py +0 -0
  88. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/util/webclient.py +0 -0
  89. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi/version.py +0 -0
  90. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi.egg-info/SOURCES.txt +0 -0
  91. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi.egg-info/dependency_links.txt +0 -0
  92. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi.egg-info/entry_points.txt +0 -0
  93. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi.egg-info/not-zip-safe +0 -0
  94. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi.egg-info/requires.txt +0 -0
  95. {pyghmi-1.5.65 → pyghmi-1.5.66}/pyghmi.egg-info/top_level.txt +0 -0
  96. {pyghmi-1.5.65 → pyghmi-1.5.66}/python-pyghmi.spec +0 -0
  97. {pyghmi-1.5.65 → pyghmi-1.5.66}/python-pyghmi.spec.tmpl +0 -0
  98. {pyghmi-1.5.65 → pyghmi-1.5.66}/requirements.txt +0 -0
  99. {pyghmi-1.5.65 → pyghmi-1.5.66}/setup.cfg +0 -0
  100. {pyghmi-1.5.65 → pyghmi-1.5.66}/setup.py +0 -0
  101. {pyghmi-1.5.65 → pyghmi-1.5.66}/setup.py.tmpl +0 -0
  102. {pyghmi-1.5.65 → pyghmi-1.5.66}/test-requirements.txt +0 -0
  103. {pyghmi-1.5.65 → pyghmi-1.5.66}/tox.ini +0 -0
  104. {pyghmi-1.5.65 → pyghmi-1.5.66}/wheezy.patch +0 -0
  105. {pyghmi-1.5.65 → pyghmi-1.5.66}/zuul.d/project.yaml +0 -0
@@ -1,6 +1,11 @@
1
1
  CHANGES
2
2
  =======
3
3
 
4
+ 1.5.66
5
+ ------
6
+
7
+ * Add retry mechanism to FW update
8
+
4
9
  1.5.65
5
10
  ------
6
11
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: pyghmi
3
- Version: 1.5.65
3
+ Version: 1.5.66
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
@@ -2062,13 +2062,18 @@ class XCCClient(IMMClient):
2062
2062
  complete = False
2063
2063
  phase = "apply"
2064
2064
  statetype = 'TaskState'
2065
- while not complete:
2065
+ # sometimes we get an empty pgress when transitioning from the apply phase to
2066
+ # the validating phase; add a retry here so we don't exit the loop in this case
2067
+ retry = 3
2068
+ while not complete and retry > 0:
2066
2069
  pgress, status = self.grab_redfish_response_with_status(
2067
2070
  monitorurl)
2068
2071
  if status < 200 or status >= 300:
2069
2072
  raise Exception(pgress)
2070
2073
  if not pgress:
2071
- break
2074
+ retry -= 1
2075
+ ipmisession.Session.pause(3)
2076
+ continue
2072
2077
  for msg in pgress.get('Messages', []):
2073
2078
  if 'Verify failed' in msg.get('Message', ''):
2074
2079
  raise Exception(msg['Message'])
@@ -820,10 +820,15 @@ class OEMHandler(object):
820
820
  complete = False
821
821
  phase = "apply"
822
822
  statetype = 'TaskState'
823
- while not complete:
823
+ # sometimes we get an empty pgress when transitioning from the apply phase to
824
+ # the validating phase; add a retry here so we don't exit the loop in this case
825
+ retry = 3
826
+ while not complete and retry > 0:
824
827
  pgress = self._do_web_request(monitorurl, cache=False)
825
828
  if not pgress:
826
- break
829
+ retry -= 1
830
+ time.sleep(3)
831
+ continue
827
832
  for msg in pgress.get('Messages', []):
828
833
  if 'Verify failed' in msg.get('Message', ''):
829
834
  raise Exception(msg['Message'])
@@ -1278,10 +1278,15 @@ class OEMHandler(generic.OEMHandler):
1278
1278
  complete = False
1279
1279
  phase = "apply"
1280
1280
  statetype = 'TaskState'
1281
- while not complete:
1281
+ # sometimes we get an empty pgress when transitioning from the apply phase to
1282
+ # the validating phase; add a retry here so we don't exit the loop in this case
1283
+ retry = 3
1284
+ while not complete and retry > 0:
1282
1285
  pgress = self._do_web_request(monitorurl, cache=False)
1283
1286
  if not pgress:
1284
- break
1287
+ retry -= 1
1288
+ time.sleep(3)
1289
+ continue
1285
1290
  for msg in pgress.get('Messages', []):
1286
1291
  if 'Verify failed' in msg.get('Message', ''):
1287
1292
  raise Exception(msg['Message'])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: pyghmi
3
- Version: 1.5.65
3
+ Version: 1.5.66
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
@@ -0,0 +1 @@
1
+ {"git_version": "4d6921c", "is_release": true}
@@ -1 +0,0 @@
1
- {"git_version": "3f38530", "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