Fixing bug 1437
[osm/RO.git] / RO-SDN-juniper_contrail / osm_rosdn_juniper_contrail / sdn_api.py
index 2bf0b52..6c2f72b 100644 (file)
 import logging
 import json
 
-from osm_ro.wim.sdnconn import SdnConnectorError
+from osm_ro_plugin.sdnconn import SdnConnectorError
 from osm_rosdn_juniper_contrail.rest_lib import ContrailHttp
 from osm_rosdn_juniper_contrail.rest_lib import NotFound
-from osm_rosdn_juniper_contrail.rest_lib import DuplicateFound
-from osm_rosdn_juniper_contrail.rest_lib import HttpException
+# from osm_rosdn_juniper_contrail.rest_lib import DuplicateFound
+# from osm_rosdn_juniper_contrail.rest_lib import HttpException
+
 
 class UnderlayApi:
     """ Class with CRUD operations for the underlay API """
 
     def __init__(self, url, config=None, user=None, password=None, logger=None):
 
-        self.logger = logger or logging.getLogger("openmano.sdnconn.junipercontrail.sdnapi")
+        self.logger = logger or logging.getLogger("ro.sdn.junipercontrail.sdnapi")
         self.controller_url = url
 
         if not url:
@@ -61,7 +62,7 @@ class UnderlayApi:
 
         self.logger.debug("Config parameters for the underlay controller: auth_url: {}, project: {},"
                           " domain: {}, user: {}, password: {}".format(self.auth_url, self.project,
-                            self.domain, self.user, self.password))
+                                                                       self.domain, self.user, self.password))
 
         auth_dict = {}
         auth_dict['auth'] = {}
@@ -142,17 +143,15 @@ class UnderlayApi:
             "operation": "DELETE"
         }
         endpoint = self.controller_url + "ref-update"
-        resp = self.http.post_cmd(url=endpoint,
-                                headers=self.http_header,
-                                post_fields_dict=payload)
+        resp = self.http.post_cmd(url=endpoint, headers=self.http_header, post_fields_dict=payload)
         return resp
 
     # Aux methods to avoid code duplication of name conventions
     def get_vpg_name(self, switch_id, switch_port):
-        return "{}_{}".format(switch_id, switch_port)
+        return "{}_{}".format(switch_id, switch_port).replace(":", "_")
 
     def get_vmi_name(self, switch_id, switch_port, vlan):
-        return "{}_{}-{}".format(switch_id, switch_port, vlan)
+        return "{}_{}-{}".format(switch_id, switch_port, vlan).replace(":", "_")
 
     # Virtual network operations
 
@@ -230,11 +229,10 @@ class UnderlayApi:
         return self.get_by_uuid(self.controller_url, "virtual-port-group", vpg_id)
 
     def get_vpg_by_name(self, vpg_name):
-        fq_name = [
-                    "default-global-system-config",
-                    self.fabric,
-                    vpg_name
-                ]
+        fq_name = ["default-global-system-config",
+                   self.fabric,
+                   vpg_name
+                   ]
         return self.get_by_fq_name("virtual-port-group", fq_name)
 
     def delete_vpg(self, vpg_id):
@@ -250,8 +248,8 @@ class UnderlayApi:
         profile_dict = {
             "local_link_information": [
                 {
-                    "port_id": switch_port,
-                    "switch_id": switch_port,
+                    "port_id": switch_port.replace(":", "_"),
+                    "switch_id": switch_port.replace(":", "_"),
                     "switch_info": switch_id,
                     "fabric": self.fabric
                 }
@@ -321,4 +319,3 @@ class UnderlayApi:
 
     def unref_vmi_vpg(self, vpg_id, vmi_id, vmi_fq_name):
         self.delete_ref("virtual-port-group", vpg_id, "virtual-machine-interface", vmi_id, vmi_fq_name)
-