SEBA-324 reverse field numbers for manytoone relations

Change-Id: I29840b4aa6f1a5724839339d44d0d1f15a61a9af
diff --git a/Dockerfile.synchronizer b/Dockerfile.synchronizer
index a3786ae..ef6d5d1 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.1.12
+FROM xosproject/xos-synchronizer-base:2.1.21
 
 COPY xos/synchronizer /opt/xos/synchronizers/fabric
 COPY VERSION /opt/xos/synchronizers/fabric/
diff --git a/VERSION b/VERSION
index ac2cdeb..7d2ed7c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.1.3
+2.1.4
diff --git a/xos/synchronizer/models/fabric.xproto b/xos/synchronizer/models/fabric.xproto
index 636a474..9c408fc 100644
--- a/xos/synchronizer/models/fabric.xproto
+++ b/xos/synchronizer/models/fabric.xproto
@@ -22,7 +22,7 @@
 message SwitchPort(XOSBase) {
     option verbose_name = "Fabric Switch Port";
 
-    required manytoone switch->Switch:ports = 1 [help_text = "The fabric switch the port belongs to", db_index = True, null = False, blank = False, tosca_key=True];
+    required manytoone switch->Switch:ports = 1:1001 [help_text = "The fabric switch the port belongs to", db_index = True, null = False, blank = False, tosca_key=True];
     required int32 portId = 2 [help_text = "The unique port OpenFlow port ID", null = False, db_index = False, blank = False, tosca_key=True];
     required bool host_learning = 3 [help_text = "whether or not to enable autodiscovery", default = True, null = False, db_index = False, blank = False];
 }
@@ -30,7 +30,7 @@
 message PortInterface(XOSBase) {
     option verbose_name = "Fabric Port Interface";
 
-    required manytoone port->SwitchPort:interfaces = 1 [help_text = "The fabric switch port the interface belongs to", db_index = True, null = False, blank = False];
+    required manytoone port->SwitchPort:interfaces = 1:1001 [help_text = "The fabric switch port the interface belongs to", db_index = True, null = False, blank = False];
     required string name = 2 [help_text = "The unique name of the fabric switch port", max_length = 254, null = False, db_index = False, blank = False];
     required string ips = 3 [help_text = "The interface IP address (xxx.yyy.www.zzz/nm)", max_length = 20, null = False, db_index = False, blank = False, unique_with = "port"];
     optional int32 vlanUntagged = 4 [help_text = "The optional untagged VLAN ID for the interface", null = True, db_index = False, blank = True];
@@ -40,6 +40,6 @@
     option verbose_name = "Node to switch port";
     option description = "Compute Node connection to a Fabric switch port";
 
-    required manytoone port->SwitchPort:node_to_switch_ports = 1 [help_text = "The fabric switch port the node is connected to", db_index = True, null = False, blank = False, tosca_key=True];
-    required manytoone node->Node:node_to_switch_ports = 2 [help_text = "The ComputeNode this port is connected to", db_index = True, null = False, blank = False, tosca_key=True];
+    required manytoone port->SwitchPort:node_to_switch_ports = 1:1002 [help_text = "The fabric switch port the node is connected to", db_index = True, null = False, blank = False, tosca_key=True];
+    required manytoone node->Node:node_to_switch_ports = 2:1004 [help_text = "The ComputeNode this port is connected to", db_index = True, null = False, blank = False, tosca_key=True];
 }
\ No newline at end of file