[SEBA-251] Adding OLT name into onos netcfg

Change-Id: I28f4a574dc7c450886be7cc1e0c08d92622eafda
diff --git a/xos/synchronizer/steps/sync_olt_device.py b/xos/synchronizer/steps/sync_olt_device.py
index 241e507..301f123 100644
--- a/xos/synchronizer/steps/sync_olt_device.py
+++ b/xos/synchronizer/steps/sync_olt_device.py
@@ -124,6 +124,39 @@
 
         return model
 
+    def configure_onos(self, model):
+
+        log.info("Adding OLT device in onos-voltha", object=str(model), **model.tologdict())
+
+        onos_voltha = Helpers.get_onos_voltha_info(model.volt_service)
+        onos_voltha_basic_auth = HTTPBasicAuth(onos_voltha['user'], onos_voltha['pass'])
+
+        # Add device info to onos-voltha
+        data = {
+            "devices": {
+                model.dp_id: {
+                    "basic": {
+                        "name": model.name
+                    }
+                }
+            }
+        }
+
+        log.info("Calling ONOS", data=data)
+
+        url = "%s:%d/onos/v1/network/configuration/" % (onos_voltha['url'], onos_voltha['port'])
+        request = requests.post(url, json=data, auth=onos_voltha_basic_auth)
+
+        if request.status_code != 200:
+            log.error(request.text)
+            raise Exception("Failed to add OLT device %s into ONOS" % model.name)
+        else:
+            try:
+                print request.json()
+            except Exception:
+                print request.text
+        return model
+
     def sync_record(self, model):
         log.info("Synching device", object=str(model), **model.tologdict())
 
@@ -137,6 +170,8 @@
         else:
             log.info("OLT device already exists in VOLTHA", object=str(model), **model.tologdict())
 
+        self.configure_onos(model)
+
     def delete_record(self, model):
         log.info("Deleting OLT device", object=str(model), **model.tologdict())