diff --git a/Dockerfile.synchronizer b/Dockerfile.synchronizer
index ee84885..9eef086 100644
--- a/Dockerfile.synchronizer
+++ b/Dockerfile.synchronizer
@@ -15,7 +15,7 @@
 # docker build -t xosproject/fabric-synchronizer:candidate -f Dockerfile.synchronizer .
 
 # xosproject/fabric-synchronizer
-FROM xosproject/xos-synchronizer-base:2.2.5
+FROM xosproject/xos-synchronizer-base:2.2.18
 
 COPY xos/synchronizer /opt/xos/synchronizers/fabric
 COPY VERSION /opt/xos/synchronizers/fabric/
diff --git a/xos/synchronizer/migrations/0003_auto_20190312_1839.py b/xos/synchronizer/migrations/0003_auto_20190312_1839.py
new file mode 100644
index 0000000..1dacd7e
--- /dev/null
+++ b/xos/synchronizer/migrations/0003_auto_20190312_1839.py
@@ -0,0 +1,140 @@
+# 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:39
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('fabric', '0002_auto_20190305_0238'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='fabricipaddress',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='fabricipaddress',
+            name='ip',
+            field=models.CharField(help_text=b'The unique IP address (either IPv4 or IPv6 / netmask)', max_length=52),
+        ),
+        migrations.AlterField(
+            model_name='fabricipaddress',
+            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='fabricipaddress',
+            name='updated',
+            field=models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer'),
+        ),
+        migrations.AlterField(
+            model_name='nodetoswitchport',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='nodetoswitchport',
+            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='nodetoswitchport',
+            name='updated',
+            field=models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer'),
+        ),
+        migrations.AlterField(
+            model_name='portinterface',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='portinterface',
+            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='portinterface',
+            name='name',
+            field=models.CharField(help_text=b'The unique name of the fabric switch port', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='portinterface',
+            name='updated',
+            field=models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer'),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='driver',
+            field=models.CharField(default=b'ofdpa3', help_text=b'The driver used by the SDN controller', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='ipv4Loopback',
+            field=models.CharField(help_text=b'Fabric loopback interface', max_length=17),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            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='switch',
+            name='name',
+            field=models.CharField(help_text=b'The unique name of the fabric switch', max_length=254),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='ofId',
+            field=models.CharField(help_text=b'The unique OpenFlow ID of the fabric switch', max_length=19),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='routerMac',
+            field=models.CharField(help_text=b'MAC address of the fabric switch used for all interfaces', max_length=17),
+        ),
+        migrations.AlterField(
+            model_name='switch',
+            name='updated',
+            field=models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer'),
+        ),
+        migrations.AlterField(
+            model_name='switchport',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='switchport',
+            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='switchport',
+            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/fabric.xproto b/xos/synchronizer/models/fabric.xproto
index b542f30..d07fdbb 100644
--- a/xos/synchronizer/models/fabric.xproto
+++ b/xos/synchronizer/models/fabric.xproto
@@ -7,8 +7,7 @@
     
     optional bool autoconfig = 1 [
         help_text="Automatically apply addresses from AddressManager service to Fabric",
-        default = True,
-        null = False];
+        default = True];
 }
 
 message Switch(XOSBase) {
@@ -17,32 +16,25 @@
 
     required string ofId = 1 [
         help_text = "The unique OpenFlow ID of the fabric switch",
-        db_index = False,
         max_length = 19];
     required string name = 2 [
         help_text = "The unique name of the fabric switch",
-        db_index = False,
         max_length = 254];
     required string driver = 3 [
         help_text = "The driver used by the SDN controller",
-        db_index = False,
         default = "ofdpa3",
         max_length = 254];
     required int32 ipv4NodeSid = 4 [
-        help_text = "The MPLS label used by the switch [17 - 1048576]",
-        db_index = False];
+        help_text = "The MPLS label used by the switch [17 - 1048576]"];
     required string ipv4Loopback = 5 [
         help_text = "Fabric loopback interface",
-        db_index = False,
         max_length = 17];
     required string routerMac = 6 [
         help_text = "MAC address of the fabric switch used for all interfaces",
-        db_index = False,
         max_length = 17];
     required bool isEdgeRouter = 7 [
         help_text="True if the fabric switch is a leaf, False if it is a spine",
-        default = True,
-        null = False];
+        default = True];
 }
 
 message SwitchPort(XOSBase) {
@@ -55,12 +47,10 @@
         tosca_key=True];
     required int32 portId = 2 [
         help_text = "The unique port OpenFlow port ID",
-        db_index = False,
         tosca_key=True];
     required bool host_learning = 3 [
         help_text = "whether or not to enable autodiscovery",
-        default = True,
-        db_index = False];
+        default = True];
 }
 
 message PortInterface(XOSBase) {
@@ -72,11 +62,9 @@
         db_index = True];
     required string name = 2 [
         help_text = "The unique name of the fabric switch port",
-        db_index = False,
         max_length = 254];
     optional int32 vlanUntagged = 3 [
-        help_text = "The optional untagged VLAN ID for the interface",
-        db_index = False];
+        help_text = "The optional untagged VLAN ID for the interface"];
 }
 
 message NodeToSwitchPort(XOSBase) {
@@ -103,12 +91,10 @@
         tosca_key = True];
     required string ip = 2 [
         help_text = "The unique IP address (either IPv4 or IPv6 / netmask)",
-        db_index = False,
         max_length = 52,
         tosca_key = True,
         unique_with = "interface"];
     optional string description = 3 [
         help_text = "A short description of the IP address",
-        db_index = False,
         max_length = 254];
 }
