- try:
- with self.db_lock:
- self.db.update_rows("instance_nets", UPDATE={"vim_net_id": net_id}, WHERE={"vim_net_id": task_id})
- except db_base_Exception as e:
- self.logger.error("Error updating database %s", str(e))
+
+ net_name = params[0]
+ net_type = params[1]
+
+ network = None
+ #sdn_controller = self.vim.config.get('sdn-controller')
+ sdn_controller = None
+ if sdn_controller and (net_type == "data" or net_type == "ptp"):
+ network = {"name": net_name, "type": net_type}
+
+ vim_net = self.vim.get_network(net_id)
+ if vim_net.get('encapsulation') != 'vlan':
+ raise vimconn.vimconnException(net_name + "defined as type " + net_type + " but the created network in vim is " + vim_net['encapsulation'])
+
+ network["vlan"] = vim_net.get('segmentation_id')
+
+ sdn_net_id = None
+ with self.db_lock:
+ if network:
+ sdn_net_id = self.ovim.new_network(network)
+ self.db.update_rows("instance_nets", UPDATE={"vim_net_id": net_id, "sdn_net_id": sdn_net_id}, WHERE={"vim_net_id": task_id})
+
+ return True, net_id
+ except db_base_Exception as e:
+ self.logger.error("Error updating database %s", str(e))