Shorten UpgradeCheck class names

When this library is used, the classes get referred to as something
like upgradecheck.UpgradeCheckResult, which is redundant and wordy.
Shortening the class names to remove the "UpgradeCheck" part fixes
both problems.

Change-Id: I621434585ed84256b9fe44d88a516d8c27eb05b3
This commit is contained in:
Ben Nemec 2018-09-18 21:59:52 +00:00
parent 15a5d69812
commit a45e26a3f0
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: