diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py
index 77036cd668f6fddcd7f1e5fd5a7a8deb9e71aa20..52c2807b0336c0dc8ab11ad6c7320e0f409c0760 100644
--- a/inventory_provider/tasks/worker.py
+++ b/inventory_provider/tasks/worker.py
@@ -97,44 +97,6 @@ class InventoryTask(Task):
         self.send_event('task-error', message=message)
 
 
-@app.task(base=InventoryTask, bind=True, name='snmp_refresh_interfaces')
-@log_task_entry_and_exit
-def snmp_refresh_interfaces(self, hostname, community, logical_systems):
-    try:
-        interfaces = list(
-            snmp.get_router_snmp_indexes(hostname, community, logical_systems))
-    except ConnectionError:
-        msg = f'error loading snmp interface data from {hostname}'
-        logger.exception(msg)
-        self.log_warning(msg)
-        r = get_current_redis(InventoryTask.config)
-        interfaces = r.get(f'snmp-interfaces:{hostname}')
-        if not interfaces:
-            raise InventoryTaskError(
-                f'snmp error with {hostname}'
-                f' and no cached snmp interface data found')
-        # unnecessary json encode/decode here ... could be optimized
-        interfaces = json.loads(interfaces.decode('utf-8'))
-        self.log_warning(f'using cached snmp interface data for {hostname}')
-
-    r = get_next_redis(InventoryTask.config)
-
-    rp = r.pipeline()
-    rp.set(f'snmp-interfaces:{hostname}', json.dumps(interfaces))
-
-    # optimization for DBOARD3-372
-    # interfaces is a list of dicts like: {'name': str, 'index': int}
-    for ifc in interfaces:
-        ifc['hostname'] = hostname
-        rp.set(
-            f'snmp-interfaces-single:{hostname}:{ifc["name"]}',
-            json.dumps(ifc))
-
-    rp.execute()
-
-    self.log_info(f'snmp interface info loaded from {hostname}')
-
-
 def _unmanaged_interfaces():
 
     def _convert(d):
@@ -592,7 +554,8 @@ def reload_lab_router_config_chorded(self, hostname):
             logical_systems = juniper.logical_systems(netconf_doc)
 
             # load snmp data, in this thread
-            snmp_refresh_interfaces(hostname, community, logical_systems)
+            snmp_refresh_interfaces_chorded(
+                hostname, community, logical_systems, self.log_info)
 
         self.log_info(f'updated configuration for lab {hostname}')
     except Exception as e:
diff --git a/test/per_router/test_celery_worker.py b/test/per_router/test_celery_worker.py
index 9723a00f4e0cb87862b10ad8058da8557c8b71ea..28776edbf5ea5233a47c2e3011bfd95258672df3 100644
--- a/test/per_router/test_celery_worker.py
+++ b/test/per_router/test_celery_worker.py
@@ -35,7 +35,7 @@ def test_snmp_refresh_interfaces(mocked_worker_module, router):
     for k in list(_ifc_keys()):
         del backend_db()[k]
 
-    worker.snmp_refresh_interfaces(router, 'fake-community', [])
+    worker.snmp_refresh_interfaces_chorded(router, 'fake-community', [])
     assert backend_db()['snmp-interfaces:' + router]
     assert list(_ifc_keys())
 
@@ -76,28 +76,29 @@ def test_reload_router_config(mocked_worker_module, router, mocker):
     assert 'netconf:' + router not in backend_db()
     assert 'snmp-interfaces:' + router not in backend_db()
 
-    def _mocked_netconf_refresh_config_apply(args):
+    def _mocked_retrieve_and_persist_netconf_config(*args, **kwargs):
         key = 'netconf:' + args[0]
         backend_db()[key] = saved_data[key]
+        return saved_data[key]
     mocker.patch(
-        'inventory_provider.tasks.worker.reload_router_config_chorded.apply',
-        _mocked_netconf_refresh_config_apply)
+        'inventory_provider.tasks.worker.retrieve_and_persist_netconf_config',
+        _mocked_retrieve_and_persist_netconf_config)
 
-    def _mocked_reload_router_config_chorded_apply(args):
-        assert len(args) == 3
-        backend_db().update(saved_peerings)
-    mocker.patch(
-        'inventory_provider.tasks.worker.reload_router_config_chorded.apply',
-        _mocked_reload_router_config_chorded_apply)
-
-    def _mocked_snmp_refresh_interfaces_apply(args):
-        assert len(args) == 3
+    def _mocked_snmp_refresh_interfaces_chorded(*args, **kwargs):
+        assert len(args) == 4
         key = 'snmp-interfaces:' + args[0]
         backend_db()[key] = saved_data[key]
 
     mocker.patch(
-        'inventory_provider.tasks.worker.snmp_refresh_interfaces.apply',
-        _mocked_snmp_refresh_interfaces_apply)
+        'inventory_provider.tasks.worker.snmp_refresh_interfaces_chorded',
+        _mocked_snmp_refresh_interfaces_chorded)
+
+    def _mocked_snmp_refresh_peerings_chorded(*args, **kwargs):
+        assert len(args) == 4
+        backend_db().update(saved_peerings)
+    mocker.patch(
+        'inventory_provider.tasks.worker.snmp_refresh_peerings_chorded',
+        _mocked_snmp_refresh_peerings_chorded)
 
     def _mocked_update_status(self, **kwargs):
         pass