Merge "Shorten UpgradeCheck class names"

This commit is contained in:
Zuul 2018-09-28 23:19:31 +00:00 committed by Gerrit Code Review
commit ab8d0e4c7b
4 changed files with 24 additions and 31 deletions

View File

@ -17,11 +17,11 @@ called. For example::
class ProjectSpecificUpgradeCommands(upgradecheck.UpgradeCommands):
def an_upgrade_check(self):
if everything_is_awesome():
return upgradecheck.UpgradeCheckResult(
upgradecheck.UpgradeCheckCode.SUCCESS, 'Success details')
return upgradecheck.Result(
upgradecheck.Code.SUCCESS, 'Success details')
else:
return upgradecheck.UpgradeCheckResult(
upgradecheck.UpgradeCheckCode.FAILURE, 'Failure details')
return upgradecheck.Result(
upgradecheck.Code.FAILURE, 'Failure details')
_upgrade_checks = (('Awesome upgrade check', an_upgrade_check))

View File

@ -21,12 +21,11 @@ from oslo_upgradecheck import upgradecheck
class Checks(upgradecheck.UpgradeCommands):
def success(self):
return upgradecheck.UpgradeCheckResult(
upgradecheck.UpgradeCheckCode.SUCCESS, 'Always succeeds')
return upgradecheck.Result(upgradecheck.Code.SUCCESS,
'Always succeeds')
def failure(self):
return upgradecheck.UpgradeCheckResult(
upgradecheck.UpgradeCheckCode.FAILURE, 'Always fails')
return upgradecheck.Result(upgradecheck.Code.FAILURE, 'Always fails')
_upgrade_checks = (('always succeeds', success),
('always fails', failure),

View File

@ -30,25 +30,21 @@ from oslo_upgradecheck import upgradecheck
class TestUpgradeCheckResult(base.BaseTestCase):
def test_details(self):
result = upgradecheck.UpgradeCheckResult(
upgradecheck.UpgradeCheckCode.SUCCESS,
'test details')
result = upgradecheck.Result(upgradecheck.Code.SUCCESS, 'test details')
self.assertEqual(0, result.code)
self.assertEqual('test details', result.details)
class TestCommands(upgradecheck.UpgradeCommands):
def success(self):
return upgradecheck.UpgradeCheckResult(
upgradecheck.UpgradeCheckCode.SUCCESS, 'Always succeeds')
return upgradecheck.Result(upgradecheck.Code.SUCCESS,
'Always succeeds')
def warning(self):
return upgradecheck.UpgradeCheckResult(
upgradecheck.UpgradeCheckCode.WARNING, 'Always warns')
return upgradecheck.Result(upgradecheck.Code.WARNING, 'Always warns')
def failure(self):
return upgradecheck.UpgradeCheckResult(
upgradecheck.UpgradeCheckCode.FAILURE, 'Always fails')
return upgradecheck.Result(upgradecheck.Code.FAILURE, 'Always fails')
_upgrade_checks = (('always succeeds', success),
('always warns', warning),
@ -62,9 +58,7 @@ class SuccessCommands(TestCommands):
class TestUpgradeCommands(base.BaseTestCase):
def test_get_details(self):
result = upgradecheck.UpgradeCheckResult(
upgradecheck.UpgradeCheckCode.SUCCESS,
'*' * 70)
result = upgradecheck.Result(upgradecheck.Code.SUCCESS, '*' * 70)
upgrade_commands = upgradecheck.UpgradeCommands()
details = upgrade_commands._get_details(result)
wrapped = '*' * 60 + '\n ' + '*' * 10
@ -73,7 +67,7 @@ class TestUpgradeCommands(base.BaseTestCase):
def test_check(self):
inst = TestCommands()
result = inst.check()
self.assertEqual(upgradecheck.UpgradeCheckCode.FAILURE, result)
self.assertEqual(upgradecheck.Code.FAILURE, result)
class TestMain(base.BaseTestCase):
@ -85,7 +79,7 @@ class TestMain(base.BaseTestCase):
def test_main(self):
inst = TestCommands()
self._run_test(inst.check, upgradecheck.UpgradeCheckCode.FAILURE)
self._run_test(inst.check, upgradecheck.Code.FAILURE)
def test_main_exception(self):
def raises():

View File

@ -25,7 +25,7 @@ import prettytable
from oslo_upgradecheck._i18n import _
class UpgradeCheckCode(enum.IntEnum):
class Code(enum.IntEnum):
"""Status codes for the upgrade check command"""
# All upgrade readiness checks passed successfully and there is
@ -42,23 +42,23 @@ class UpgradeCheckCode(enum.IntEnum):
UPGRADE_CHECK_MSG_MAP = {
UpgradeCheckCode.SUCCESS: _('Success'),
UpgradeCheckCode.WARNING: _('Warning'),
UpgradeCheckCode.FAILURE: _('Failure'),
Code.SUCCESS: _('Success'),
Code.WARNING: _('Warning'),
Code.FAILURE: _('Failure'),
}
class UpgradeCheckResult(object):
class Result(object):
"""Class used for 'nova-status upgrade check' results.
The 'code' attribute is an UpgradeCheckCode enum.
The 'code' attribute is a Code enum.
The 'details' attribute is a translated message generally only used for
checks that result in a warning or failure code. The details should provide
information on what issue was discovered along with any remediation.
"""
def __init__(self, code, details=None):
super(UpgradeCheckResult, self).__init__()
super(Result, self).__init__()
self.code = code
self.details = details
@ -85,9 +85,9 @@ class UpgradeCommands(object):
new code. These checks also require access to potentially all of the
Nova databases (nova, nova_api, nova_api_cell0) and external services
such as the placement API service.
:returns: UpgradeCheckCode
:returns: Code
"""
return_code = UpgradeCheckCode.SUCCESS
return_code = Code.SUCCESS
# This is a list if 2-item tuples for the check name and it's results.
check_results = []
for name, func in self._upgrade_checks: