diff --git a/inventory_provider/storage/external_inventory.py b/inventory_provider/storage/external_inventory.py
index cc7bccf69f48c717202e22656f88f9f55f5c33aa..e721a348d52a83ca82121dd299f674f630d38392 100644
--- a/inventory_provider/storage/external_inventory.py
+++ b/inventory_provider/storage/external_inventory.py
@@ -1,6 +1,7 @@
 import json
 from collections import defaultdict
-from inventory_provider import db
+from flask import current_app
+from inventory_provider import alarmsdb, db
 
 
 services_key = "inv_services"
@@ -8,27 +9,38 @@ interfaces_key = "inv_interfaces"
 equipment_locations_key = "inv_eq_locations"
 service_child_to_parents_key = "inv_service_child_to_parents"
 service_parent_to_children_key = "inv_service_parent_to_children"
+interface_status_key = "service_status"
 
 
 def update_services_to_monitor(services):
     r = db.get_redis()
-    relevant_types = ('path', 'service', 'l2circuit')
+    relevant_types = ("path", "service", "l2circuit")
     r.delete(services_key)
     for service in services:
-        if service['circuit_type'].lower() in relevant_types:
-            r.hset(services_key, service['id'], json.dumps(service))
+        if service["circuit_type"].lower() in relevant_types:
+            r.hset(services_key, service["id"], json.dumps(service))
 
 
 def update_interfaces_to_services(services):
     r = db.get_redis()
-    mapped_interfaces = defaultdict(list)
-    r.delete(interfaces_key)
-    for service in services:
-        key = "{}::{}".format(
-            service['equipment'],
-            service['interface_name']
-        )
-        mapped_interfaces[key].append(service)
+    config = current_app.config["INVENTORY_PROVIDER_CONFIG"]
+    with db.connection(config["alarms-db"]) as cnx:
+        with db.cursor(cnx) as csr:
+            mapped_interfaces = defaultdict(list)
+            r.delete(interfaces_key)
+            for service in services:
+                key = "{}::{}".format(
+                    service["equipment"],
+                    service["interface_name"]
+                )
+                mapped_interfaces[key].append(service)
+                if not r.hexists(interface_status_key, key):
+                    r.hset(interface_status_key, key,
+                           alarmsdb.get_last_known_interface_status(
+                               csr,
+                               service["equipment"],
+                               service["interface_name"]
+                           ))
 
     for key, value in mapped_interfaces.items():
         r.hset(interfaces_key, key, json.dumps(value))
@@ -57,4 +69,4 @@ def update_equipment_locations(equipment_location_data):
     r = db.get_redis()
     r.delete(equipment_locations_key)
     for ld in equipment_location_data:
-        r.hset(equipment_locations_key, ld['equipment_name'], json.dumps(ld))
+        r.hset(equipment_locations_key, ld["equipment_name"], json.dumps(ld))