diff --git a/nova/tests/unit/virt/zvm/test_zvm.py b/nova/tests/unit/virt/zvm/test_zvm.py index a089431..8acc097 100644 --- a/nova/tests/unit/virt/zvm/test_zvm.py +++ b/nova/tests/unit/virt/zvm/test_zvm.py @@ -2251,6 +2251,18 @@ class ZVMNetworkTestCases(ZVMTestCase): data = 'Return Code: 596\n Reason Code: 1185' self.assertTrue(zvmutils._is_recoverable_issue(data)) + data = 'Return Code: 596\n Reason Code: 6313' + self.assertFalse(zvmutils._is_recoverable_issue(data)) + + data = 'Return Code: 597\n Reason Code: 6312' + self.assertFalse(zvmutils._is_recoverable_issue(data)) + + data = 'Return Code: 597\n Reason Code: 6313' + self.assertFalse(zvmutils._is_recoverable_issue(data)) + + data = 'Return Code: 596\n Reason Code: 6312' + self.assertTrue(zvmutils._is_recoverable_issue(data)) + class ZVMUtilsTestCases(ZVMTestCase): diff --git a/nova/virt/zvm/utils.py b/nova/virt/zvm/utils.py index e44290b..15d65e6 100644 --- a/nova/virt/zvm/utils.py +++ b/nova/virt/zvm/utils.py @@ -550,7 +550,9 @@ def _is_warning_or_recoverable_issue(err_str): def _is_recoverable_issue(err_str): dirmaint_request_counter_save = ['Return Code: 596', 'Reason Code: 1185'] - recoverable_issues = [dirmaint_request_counter_save] + dirmaint_request_limit = ['Return Code: 596', 'Reason Code: 6312'] + recoverable_issues = [dirmaint_request_counter_save, + dirmaint_request_limit] for issue in recoverable_issues: # Search all matchs in the return value # any mismatch leads to recoverable not empty