diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py index 03d1b7c5ec9805796d37f2280689e4ba88ba9dec..aca83241178140922013115cd2727ff337c62074 100644 --- a/inventory_provider/tasks/worker.py +++ b/inventory_provider/tasks/worker.py @@ -562,12 +562,13 @@ def reload_lab_router_config_chorded(self, hostname): hostname, community, logical_systems, self.log_info) self.log_info(f'updated configuration for lab {hostname}') - except Exception as e: + except Exception: errmsg = f'unhandled exception loading {hostname} info' logger.exception(errmsg) update_latch_status(InventoryTask.config, pending=True, failure=True) self.log_error(errmsg) - raise e + # TODO: re-raise and handle in some common way for all tasks + # raise @app.task(base=InventoryTask, bind=True, name='reload_router_config') @@ -601,12 +602,13 @@ def reload_router_config_chorded(self, hostname): snmp_refresh_peerings_chorded(hostname, community, logical_systems) logger.info(f'updated configuration for {hostname}') - except Exception as e: + except Exception: errmsg = f'unhandled exception loading {hostname} info' logger.exception(errmsg) update_latch_status(InventoryTask.config, pending=True, failure=True) self.log_error(errmsg) - raise e + # TODO: re-raise and handle in some common way for all tasks + # raise def retrieve_and_persist_netconf_config( diff --git a/test/per_router/test_celery_worker.py b/test/per_router/test_celery_worker.py index 2e0e3c86f82c1f9aa50134139b74bc0ddf3fcb4b..fea7c407711f953bdb06fe3ea6074860d191478f 100644 --- a/test/per_router/test_celery_worker.py +++ b/test/per_router/test_celery_worker.py @@ -3,6 +3,9 @@ just checks that the worker methods call the right functions and some data ends up in the right place ... otherwise not very detailed """ import re + +import pytest + from inventory_provider.tasks import worker from inventory_provider.tasks.common import _get_redis @@ -18,6 +21,9 @@ def backend_db(): def test_netconf_refresh_config(mocked_worker_module, router): + if router in ['qfx.par.fr.geant.net', 'qfx.fra.de.geant.net']: + # expected to fail + pytest.skip(f'test data has no community string for {router}') del backend_db()['netconf:' + router] worker.reload_router_config_chorded(router) assert backend_db()['netconf:' + router]