Merge "Fix async keyword for Python 3.7"

This commit is contained in:
Zuul 2018-09-25 09:28:08 +00:00 committed by Gerrit Code Review
commit f1d779433b
5 changed files with 16 additions and 47 deletions

View File

@ -8,7 +8,7 @@ proliantutils>=2.6.0
pysnmp>=4.3.0,<5.0.0
python-ironic-inspector-client>=1.5.0
python-oneviewclient<3.0.0,>=2.5.2
python-scciclient>=0.7.2
python-scciclient>=0.8.0
python-ilorest-library>=2.1.0
hpOneView>=4.4.0
UcsSdk==0.8.2.2

View File

@ -646,7 +646,7 @@ VendorMetadata = collections.namedtuple('VendorMetadata', ['method',
'metadata'])
def _passthru(http_methods, method=None, async=None, async_call=None,
def _passthru(http_methods, method=None, async_call=True,
driver_passthru=False, description=None,
attach=False, require_exclusive_lock=True):
"""A decorator for registering a function as a passthru function.
@ -662,7 +662,6 @@ def _passthru(http_methods, method=None, async=None, async_call=None,
:param http_methods: A list of supported HTTP methods by the vendor
function.
:param method: an arbitrary string describing the action to be taken.
:param async: Deprecated, please use async_call instead.
:param async_call: Boolean value. If True invoke the passthru function
asynchronously; if False, synchronously. If a passthru
function touches the BMC we strongly recommend it to
@ -682,26 +681,6 @@ def _passthru(http_methods, method=None, async=None, async_call=None,
for a synchronous passthru method. If False,
don't lock the node. Defaults to True.
"""
# TODO(rloo): In Stein cycle, remove support for 'async' parameter.
# The default value for 'async_call' should then be changed
# to True.
if async_call is None:
if async is not None:
LOG.warning(
'The "async" parameter is deprecated, please use "async_call" '
'instead. The "async" parameter will be removed in the Stein '
'cycle.'
)
async_call = async
else:
async_call = True
else:
if async is not None:
raise TypeError(
"'async_call' and 'async' parameters cannot be used together. "
"Use 'async_call' instead of 'async' since 'async' is "
"deprecated and will be removed in the Stein cycle."
)
def handle_passthru(func):
api_method = method
@ -737,17 +716,17 @@ def _passthru(http_methods, method=None, async=None, async_call=None,
return handle_passthru
def passthru(http_methods, method=None, async=None, description=None,
attach=False, require_exclusive_lock=True, async_call=None):
return _passthru(http_methods, method, async, async_call,
def passthru(http_methods, method=None, async_call=True, description=None,
attach=False, require_exclusive_lock=True):
return _passthru(http_methods, method, async_call,
driver_passthru=False,
description=description, attach=attach,
require_exclusive_lock=require_exclusive_lock)
def driver_passthru(http_methods, method=None, async=None, description=None,
attach=False, async_call=None):
return _passthru(http_methods, method, async, async_call,
def driver_passthru(http_methods, method=None, async_call=True,
description=None, attach=False):
return _passthru(http_methods, method, async_call,
driver_passthru=True, description=description,
attach=attach)

View File

@ -447,8 +447,8 @@ def _attach_virtual_cd(node, bootable_iso_filename):
CONF.irmc.remote_image_user_name,
CONF.irmc.remote_image_user_password)
irmc_client(cd_set_params, async=False)
irmc_client(scci.MOUNT_CD, async=False)
irmc_client(cd_set_params, do_async=False)
irmc_client(scci.MOUNT_CD, do_async=False)
except scci.SCCIClientError as irmc_exception:
LOG.exception("Error while inserting virtual cdrom "
@ -503,8 +503,8 @@ def _attach_virtual_fd(node, floppy_image_filename):
CONF.irmc.remote_image_user_name,
CONF.irmc.remote_image_user_password)
irmc_client(fd_set_params, async=False)
irmc_client(scci.MOUNT_FD, async=False)
irmc_client(fd_set_params, do_async=False)
irmc_client(scci.MOUNT_FD, do_async=False)
except scci.SCCIClientError as irmc_exception:
LOG.exception("Error while inserting virtual floppy "

View File

@ -726,8 +726,8 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
'admin',
'admin0')
irmc_client.assert_has_calls(
[mock.call(cd_set_params, async=False),
mock.call(irmc_boot.scci.MOUNT_CD, async=False)])
[mock.call(cd_set_params, do_async=False),
mock.call(irmc_boot.scci.MOUNT_CD, do_async=False)])
@mock.patch.object(irmc_common, 'get_irmc_client', spec_set=True,
autospec=True)
@ -805,8 +805,8 @@ class IRMCDeployPrivateMethodsTestCase(test_common.BaseIRMCTest):
'admin',
'admin0')
irmc_client.assert_has_calls(
[mock.call(fd_set_params, async=False),
mock.call(irmc_boot.scci.MOUNT_FD, async=False)])
[mock.call(fd_set_params, do_async=False),
mock.call(irmc_boot.scci.MOUNT_FD, do_async=False)])
@mock.patch.object(irmc_common, 'get_irmc_client', spec_set=True,
autospec=True)

View File

@ -100,16 +100,6 @@ class PassthruDecoratorTestCase(base.TestCase):
self.assertNotEqual(inst1.driver_routes['driver_noexception']['func'],
inst2.driver_routes['driver_noexception']['func'])
@mock.patch.object(driver_base.LOG, 'warning')
def test_old_async_warning(self, mock_log_warning):
driver_base.passthru(['POST'], async=True)
mock_log_warning.assert_called_once()
@mock.patch.object(driver_base.LOG, 'warning')
def test_new_async_call_without_warning(self, mock_log_warning):
driver_base.passthru(['POST'], async_call=True)
mock_log_warning.assert_not_called()
class CleanStepDecoratorTestCase(base.TestCase):