diff --git a/Dockerfile.synchronizer b/Dockerfile.synchronizer
index 01e8777..d8e1780 100644
--- a/Dockerfile.synchronizer
+++ b/Dockerfile.synchronizer
@@ -16,7 +16,7 @@
 
 # xosproject/att-workflow-driver-synchronizer
 
-FROM xosproject/xos-synchronizer-base:2.2.5
+FROM xosproject/xos-synchronizer-base:2.2.18
 
 COPY xos/synchronizer /opt/xos/synchronizers/att-workflow-driver
 COPY VERSION /opt/xos/synchronizers/att-workflow-driver/
diff --git a/xos/synchronizer/migrations/0003_auto_20190312_1833.py b/xos/synchronizer/migrations/0003_auto_20190312_1833.py
new file mode 100644
index 0000000..0f44341
--- /dev/null
+++ b/xos/synchronizer/migrations/0003_auto_20190312_1833.py
@@ -0,0 +1,80 @@
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.11 on 2019-03-12 22:33
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('att-workflow-driver', '0002_auto_20190305_0239'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='authentication_state',
+            field=models.CharField(choices=[(b'AWAITING', b'Awaiting'), (b'STARTED', b'Started'), (b'REQUESTED', b'Requested'), (b'APPROVED', b'Approved'), (b'DENIED', b'Denied')], default=b'AWAITING', help_text=b'Subscriber authentication state', max_length=50),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='dhcp_state',
+            field=models.CharField(choices=[(b'AWAITING', b'Awaiting'), (b'DHCPDISCOVER', b'DHCPDISCOVER'), (b'DHCPACK', b'DHCPACK'), (b'DHCPREQUEST', b'DHCPREQUEST')], default=b'AWAITING', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='of_dpid',
+            field=models.CharField(help_text=b'OLT Openflow ID', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='onu_state',
+            field=models.CharField(choices=[(b'AWAITING', b'Awaiting'), (b'ENABLED', b'Enabled'), (b'DISABLED', b'Disabled')], default=b'AWAITING', help_text=b'ONU administrative state', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='serial_number',
+            field=models.CharField(help_text=b'Serial number of ONU', max_length=254, unique=True),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverwhitelistentry',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverwhitelistentry',
+            name='device_id',
+            field=models.CharField(help_text=b'OLT Device (logical device id) on which this ONU is expected to show up', max_length=54),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverwhitelistentry',
+            name='leaf_model_name',
+            field=models.CharField(help_text=b'The most specialized model in this chain of inheritance, often defined by a service developer', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverwhitelistentry',
+            name='serial_number',
+            field=models.CharField(help_text=b'ONU Serial Number', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverwhitelistentry',
+            name='updated',
+            field=models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer'),
+        ),
+    ]
diff --git a/xos/synchronizer/models/att-workflow-driver.xproto b/xos/synchronizer/models/att-workflow-driver.xproto
index 6b4d7ba..5d4f61a 100644
--- a/xos/synchronizer/models/att-workflow-driver.xproto
+++ b/xos/synchronizer/models/att-workflow-driver.xproto
@@ -14,7 +14,6 @@
 
     required string serial_number = 2 [
         help_text = "Serial number of ONU",
-        db_index = False,
         max_length = 254,
         tosca_key=True,
         unique = True];
@@ -22,42 +21,34 @@
         help_text = "Subscriber authentication state",
         choices = "(('AWAITING', 'Awaiting'), ('STARTED', 'Started'), ('REQUESTED', 'Requested'), ('APPROVED', 'Approved'), ('DENIED', 'Denied'), )",
         default = "AWAITING",
-        db_index = False,
         feedback_state = True,
         max_length = 50];
     required string of_dpid = 4 [
         help_text = "OLT Openflow ID",
-        db_index = False,
         max_length = 254];
     required int32 uni_port_id = 5 [
-        help_text = "ONU UNI port ID",
-        db_index = False];
+        help_text = "ONU UNI port ID"];
     required string onu_state = 6 [
         help_text = "ONU administrative state",
         choices = "(('AWAITING', 'Awaiting'), ('ENABLED', 'Enabled'), ('DISABLED', 'Disabled'))",
-        db_index = False,
         default = "AWAITING",
         feedback_state = True,
         max_length = 254];
     optional string status_message = 7 [
         help_text = "Status text of current state machine state",
-        db_index = False,
         default = "",
         max_length = 254];
     required string dhcp_state = 8 [
         max_length = 254,
-        db_index = False,
         default = "AWAITING",
         choices = "(('AWAITING', 'Awaiting'), ('DHCPDISCOVER', 'DHCPDISCOVER'), ('DHCPACK', 'DHCPACK'), ('DHCPREQUEST', 'DHCPREQUEST'))",
         feedback_state = True];
     optional string ip_address = 9 [
         help_text = "Subcriber IP address, learned from DHCP",
-        db_index = False,
         feedback_state = True,
         max_length = 20];
     optional string mac_address = 10 [
         help_text = "Subscriber MAC address, leanred from DHCP",
-        db_index = False,
         feedback_state = True,
         max_length = 20];
 }
@@ -73,15 +64,12 @@
         tosca_key = True];
     required string serial_number = 2 [
         help_text = "ONU Serial Number",
-        db_index = False,
         max_length = 254,
         tosca_key = True,
         unique_with = "owner"];
     required int32 pon_port_id = 3 [
-        help_text = "PON Port on which this ONU is expected to show up",
-        db_index = False];
+        help_text = "PON Port on which this ONU is expected to show up"];
     required string device_id = 4 [
         help_text = "OLT Device (logical device id) on which this ONU is expected to show up",
-        db_index = False,
         max_length = 54];
 }
