diff --git a/Dockerfile.synchronizer b/Dockerfile.synchronizer
index 356ac6b..4ff68ac 100644
--- a/Dockerfile.synchronizer
+++ b/Dockerfile.synchronizer
@@ -16,7 +16,8 @@
 # docker build -t xosproject/rcord-synchronizer:candidate -f Dockerfile.synchronizer .
 
 # xosproject/rcord-synchronizer
-FROM xosproject/xos-synchronizer-base:2.2.5
+
+FROM xosproject/xos-synchronizer-base:2.2.11
 
 COPY xos/synchronizer /opt/xos/synchronizers/rcord
 COPY VERSION /opt/xos/synchronizers/rcord/
diff --git a/xos/synchronizer/migrations/0003_auto_20190308_1437.py b/xos/synchronizer/migrations/0003_auto_20190308_1437.py
new file mode 100644
index 0000000..fa712ef
--- /dev/null
+++ b/xos/synchronizer/migrations/0003_auto_20190308_1437.py
@@ -0,0 +1,59 @@
+# 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-08 19:37
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('rcord', '0002_auto_20190305_0241'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='rcordipaddress_decl',
+            name='backend_status',
+            field=models.CharField(default=b'Provisioning in progress', max_length=1024),
+        ),
+        migrations.AlterField(
+            model_name='rcordipaddress_decl',
+            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='rcordipaddress_decl',
+            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='rcordservice_decl',
+            name='access',
+            field=models.CharField(choices=[(b'voltha', b'VOLTHA'), (b'unknown', b'Unknown')], default=b'voltha', help_text=b'Name of service that is managing the Access Network', max_length=30),
+        ),
+        migrations.AlterField(
+            model_name='rcordsubscriber_decl',
+            name='onu_device',
+            field=models.TextField(help_text=b'ONUDevice serial number'),
+        ),
+        migrations.AlterUniqueTogether(
+            name='rcordipaddress_decl',
+            unique_together=set([('ip', 'subscriber')]),
+        ),
+    ]
diff --git a/xos/synchronizer/models/rcord.xproto b/xos/synchronizer/models/rcord.xproto
index ba3168f..2ba15be 100644
--- a/xos/synchronizer/models/rcord.xproto
+++ b/xos/synchronizer/models/rcord.xproto
@@ -67,20 +67,14 @@
 
     required manytoone subscriber->RCORDSubscriber:ips = 1:1001 [
         help_text = "The subscriber the IP address belongs to",
-        blank = False,
-        db_index = True,
-        null = False];
+        db_index = True];
     required string ip = 2 [
         help_text = "The unique IP address (either IPv4 or IPv6 / netmask)",
-        blank = False,
         db_index = False,
         max_length = 52,
-        null = False,
         unique_with = "subscriber"];
     optional string description = 3 [
         help_text = "A short description of the IP address",
-        blank = False,
         db_index = False,
-        max_length = 254,
-        null = False];
-}
\ No newline at end of file
+        max_length = 254];
+}
