diff --git a/planetstack/observer/steps/sync_roles.py b/planetstack/observer/steps/sync_roles.py
index 091ab74..6f7373a 100644
--- a/planetstack/observer/steps/sync_roles.py
+++ b/planetstack/observer/steps/sync_roles.py
@@ -6,6 +6,7 @@
 from core.models.role import Role
 from core.models.site import SiteRole
 from core.models.slice import SliceRole
+from core.models.deployment import DeploymentRole
 
 class SyncRoles(OpenStackSyncStep):
     provides=[Role]
@@ -14,12 +15,15 @@
     def fetch_pending(self):
         site_roles = SiteRole.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None)
         slice_roles = SliceRole.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None))
+        deployment_roles = DeploymentRole.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None))
 
         roles = []
         for site_role in site_roles:
             roles.append(site_role)
         for slice_role in slice_roles:
             roles.append(slice_role)
+        for deployment_role in deployment_roles:
+            roles.append(deployment_role)
 
         return roles
 
