From 6bfa771054e07c164acb4f9f52a95fdd06bf8a06 Mon Sep 17 00:00:00 2001 From: Ivan Kolodyazhny Date: Wed, 7 Mar 2018 13:56:41 +0200 Subject: [PATCH] Replace assert to raise AssertionError This patch is a fix for the issue B101 assert_used found by bandit scanner. As assert functionality could be turned off by the -O option for python interpreter, assert statements were replaced to raise AssertionError. The main reasoning for that is rest code after assert could be not ready for values that assert filters. Change-Id: I16d9c228f0f8aadae2044ce8fb95d7738970b0d5 --- cinder/common/sqlalchemyutils.py | 7 +++++-- cinder/rpc.py | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cinder/common/sqlalchemyutils.py b/cinder/common/sqlalchemyutils.py index 4b4e211a89b..ab3cd16e27e 100644 --- a/cinder/common/sqlalchemyutils.py +++ b/cinder/common/sqlalchemyutils.py @@ -98,7 +98,8 @@ def paginate_query(query, model, limit, sort_keys, marker=None, # the actual primary key, rather than assuming its id LOG.warning('Id not in sort_keys; is sort_keys unique?') - assert(not (sort_dir and sort_dirs)) + if sort_dir and sort_dirs: + raise AssertionError('Both sort_dir and sort_dirs specified.') # Default the sort direction to ascending if sort_dirs is None and sort_dir is None: @@ -108,7 +109,9 @@ def paginate_query(query, model, limit, sort_keys, marker=None, if sort_dirs is None: sort_dirs = [sort_dir for _sort_key in sort_keys] - assert(len(sort_dirs) == len(sort_keys)) + if len(sort_dirs) != len(sort_keys): + raise AssertionError( + 'sort_dirs length is not equal to sort_keys length.') # Add sorting for current_sort_key, current_sort_dir in zip(sort_keys, sort_dirs): diff --git a/cinder/rpc.py b/cinder/rpc.py index 527ea8922b7..c7609e3dc8b 100644 --- a/cinder/rpc.py +++ b/cinder/rpc.py @@ -139,7 +139,8 @@ class RequestContextSerializer(messaging.Serializer): def get_client(target, version_cap=None, serializer=None): - assert TRANSPORT is not None + if TRANSPORT is None: + raise AssertionError('RPC transport is not initialized.') serializer = RequestContextSerializer(serializer) return messaging.RPCClient(TRANSPORT, target, @@ -148,7 +149,8 @@ def get_client(target, version_cap=None, serializer=None): def get_server(target, endpoints, serializer=None): - assert TRANSPORT is not None + if TRANSPORT is None: + raise AssertionError('RPC transport is not initialized.') serializer = RequestContextSerializer(serializer) access_policy = dispatcher.DefaultRPCAccessPolicy return messaging.get_rpc_server(TRANSPORT, @@ -161,7 +163,8 @@ def get_server(target, endpoints, serializer=None): @utils.if_notifications_enabled def get_notifier(service=None, host=None, publisher_id=None): - assert NOTIFIER is not None + if NOTIFIER is None: + raise AssertionError('RPC Notifier is not initialized.') if not publisher_id: publisher_id = "%s.%s" % (service, host or CONF.host) return NOTIFIER.prepare(publisher_id=publisher_id)