def test_job(self):
         JobModel(jobid=self.job_id, jobtype='VNF', jobaction='INST', resid='1').save()
         JobStatusModel(indexid=1, jobid=self.job_id, status='inst', progress=20, descp='inst').save()
-        response = self.client.get("/openoapi/nslcm/v1/jobs/%s" % self.job_id)
+        response = self.client.get("/api/nslcm/v1/jobs/%s" % self.job_id)
         self.failUnlessEqual(status.HTTP_200_OK, response.status_code)
 
 from lcm.jobs.views import JobView
 
 urlpatterns = patterns('',
-                       url(r'^openoapi/nslcm/v1/jobs/(?P<job_id>[0-9a-zA-Z_-]+)$', JobView.as_view()),
+                       url(r'^api/nslcm/v1/jobs/(?P<job_id>[0-9a-zA-Z_-]+)$', JobView.as_view()),
                        )
 
 urlpatterns = format_suffix_patterns(urlpatterns)
 
         "method": "POST",
         "accept": "application/json",
         "contentType": "application/json",
-        "url": "http://127.0.0.1:80/openoapi/nslcm/v1/ns/vls",
+        "url": "http://127.0.0.1:80/api/nslcm/v1/ns/vls",
         "path": {},
         "query": {},
         "body": {
         "method": "POST",
         "accept": "application/json",
         "contentType": "application/json",
-        "url": "http://127.0.0.1:80/openoapi/nslcm/v1/ns/vnfs",
+        "url": "http://127.0.0.1:80/api/nslcm/v1/ns/vnfs",
         "path": {},
         "query": {},
         "body": {
         "method": "GET",
         "accept": "application/json",
         "contentType": "application/json",
-        "url": "http://127.0.0.1:80/openoapi/nslcm/v1/ns/vnfs/{vnfInstId}",
+        "url": "http://127.0.0.1:80/api/nslcm/v1/ns/vnfs/{vnfInstId}",
         "path": {
             "vnfInstId": {
                 "type": "plan",
         "method": "POST",
         "accept": "application/json",
         "contentType": "application/json",
-        "url": "http://127.0.0.1:80/openoapi/nslcm/v1/ns/sfcs",
+        "url": "http://127.0.0.1:80/api/nslcm/v1/ns/sfcs",
         "path": {},
         "query": {},
         "body": {
         "method": "GET",
         "accept": "application/json",
         "contentType": "application/json",
-        "url": "http://127.0.0.1:80/openoapi/nslcm/v1/ns/sfcs/{sfcInstId}",
+        "url": "http://127.0.0.1:80/api/nslcm/v1/ns/sfcs/{sfcInstId}",
         "path": {
             "sfcInstId": {
                 "type": "plan",
         "method": "POST",
         "accept": "application/json",
         "contentType": "application/json",
-        "url": "http://127.0.0.1:80/openoapi/nslcm/v1/jobs/{jobId}",
+        "url": "http://127.0.0.1:80/api/nslcm/v1/jobs/{jobId}",
         "path": {
             "jobId": {
                 "type": "plan",
         "method": "POST",
         "accept": "application/json",
         "contentType": "application/json",
-        "url": "http://127.0.0.1:80/openoapi/nslcm/v1/jobs/{jobId}",
+        "url": "http://127.0.0.1:80/api/nslcm/v1/jobs/{jobId}",
         "path": {
             "jobId": {
                 "type": "plan",
         "method": "POST",
         "accept": "application/json",
         "contentType": "application/json",
-        "url": "http://127.0.0.1:80/openoapi/nslcm/v1/jobs/{jobId}",
+        "url": "http://127.0.0.1:80/api/nslcm/v1/jobs/{jobId}",
         "path": {
             "jobId": {
                 "type": "plan",
         "method": "POST",
         "accept": "application/json",
         "contentType": "application/json",
-        "url": "http://127.0.0.1:80/openoapi/nslcm/v1/ns/{nsInstanceId}/postdeal",
+        "url": "http://127.0.0.1:80/api/nslcm/v1/ns/{nsInstanceId}/postdeal",
         "path": {
             "nsInstanceId": {
                 "type": "plan",
         "method": "POST",
         "accept": "application/json",
         "contentType": "application/json",
-        "url": "http://127.0.0.1:80/openoapi/nslcm/v1/jobs/{jobId}",
+        "url": "http://127.0.0.1:80/api/nslcm/v1/jobs/{jobId}",
         "path": {
             "jobId": {
                 "type": "plan",
 
         <assign name="createVL_URL">
             <copy>
                 <from>
-                    <literal>http://127.0.0.1:80/openoapi/nslcm/v1/ns/vls</literal>
+                    <literal>http://127.0.0.1:80/api/nslcm/v1/ns/vls</literal>
                 </from>
                 <to variable="url"></to>
             </copy>
         <assign name="jobstatus_URL">
             <copy>
                 <from>
-                    <literal>http://127.0.0.1:80/openoapi/nslcm/v1/jobs/{jobId}</literal>
+                    <literal>http://127.0.0.1:80/api/nslcm/v1/jobs/{jobId}</literal>
                 </from>
                 <to variable="url"></to>
             </copy>
         <assign name="createVNF_URL">
             <copy>
                 <from>
-                    <literal>http://127.0.0.1:80/openoapi/nslcm/v1/ns/vnfs</literal>
+                    <literal>http://127.0.0.1:80/api/nslcm/v1/ns/vnfs</literal>
                 </from>
                 <to variable="url"></to>
             </copy>
         <assign name="query_vnf_nslcm_URL">
             <copy>
                 <from>
-                    <literal>http://127.0.0.1:80/openoapi/nslcm/v1/ns/vnfs/{vnfInstId}</literal>
+                    <literal>http://127.0.0.1:80/api/nslcm/v1/ns/vnfs/{vnfInstId}</literal>
                 </from>
                 <to variable="url"></to>
             </copy>
         <assign name="jobstatus_URL">
             <copy>
                 <from>
-                    <literal>http://127.0.0.1:80/openoapi/nslcm/v1/jobs/{jobId}</literal>
+                    <literal>http://127.0.0.1:80/api/nslcm/v1/jobs/{jobId}</literal>
                 </from>
                 <to variable="url"></to>
             </copy>
         <assign name="createSFC_URL">
             <copy>
                 <from>
-                    <literal>http://127.0.0.1:80/openoapi/nslcm/v1/ns/sfcs</literal>
+                    <literal>http://127.0.0.1:80/api/nslcm/v1/ns/sfcs</literal>
                 </from>
                 <to variable="url"></to>
             </copy>
         <assign name="querySFC_URL">
             <copy>
                 <from>
-                    <literal>http://127.0.0.1:80/openoapi/nslcm/v1/ns/sfcs/{sfcInstId}</literal>
+                    <literal>http://127.0.0.1:80/api/nslcm/v1/ns/sfcs/{sfcInstId}</literal>
                 </from>
                 <to variable="url"></to>
             </copy>
         <assign name="jobstatus_URL">
             <copy>
                 <from>
-                    <literal>http://127.0.0.1:80/openoapi/nslcm/v1/jobs/{jobId}</literal>
+                    <literal>http://127.0.0.1:80/api/nslcm/v1/jobs/{jobId}</literal>
                 </from>
                 <to variable="url"></to>
             </copy>
         <assign name="post_do_URL">
             <copy>
                 <from>
-                    <literal>http://127.0.0.1:80/openoapi/nslcm/v1/ns/{nsInstanceId}/postdeal</literal>
+                    <literal>http://127.0.0.1:80/api/nslcm/v1/ns/{nsInstanceId}/postdeal</literal>
                 </from>
                 <to variable="url"></to>
             </copy>
         <assign name="jobstatus_URL">
             <copy>
                 <from>
-                    <literal>http://127.0.0.1:80/openoapi/nslcm/v1/jobs/{jobId}</literal>
+                    <literal>http://127.0.0.1:80/api/nslcm/v1/jobs/{jobId}</literal>
                 </from>
                 <to variable="url"></to>
             </copy>
 
             "dest_ip_range": self.concat_str(self.dest_ip_range)
         }
         # req_param = json.JSONEncoder().encoding(data)
-        # url = "/openoapi/sdncdriver/v1.0/createflowclassfier"
+        # url = "/api/sdncdriver/v1.0/createflowclassfier"
         # ret = req_by_msb(url,"POST", data)
         # if ret[0] > 0:
         #     logger.error('Send Flow Classifier request to Driver failed.')
 
             "symmetric": self.symmetric
         }
 
-        # url = "/openoapi/sdncdriver/v1.0/createchain"
+        # url = "/api/sdncdriver/v1.0/createchain"
         # req_param = json.JSONEncoder.encoding(data)
         # ret = req_by_msb(url, "POST", req_param)
         # ret = req_by_msb("OPENAPI_CREATE_SERVICE_PORT_CHAIN",data)
         #     try:
         #         logger.warn("query sdncontroller by id begins:")
         #
-        #         url = "/openoapi/extsys/v1/sdncontrollers/%s" % (self.sdnControllerId)
+        #         url = "/api/extsys/v1/sdncontrollers/%s" % (self.sdnControllerId)
         #         ret = req_by_msb(url, "GET")
         #         if ret[0] > 0:
         #             logger.error('query sdncontroller failed.')
 
 from lcm.ns.sfcs.views import SfcView, SfcInstanceView, PortPairGpView, FlowClaView, PortChainView
 
 urlpatterns = patterns('',
-                       url(r'^openoapi/nslcm/v1/ns/sfcs$', SfcView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/sfcs/(?P<sfc_inst_id>[0-9a-zA-Z_-]+)$', SfcDetailView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/sfc_instance$', SfcInstanceView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/create_port_pair_group$', PortPairGpView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/create_flow_classifier$', FlowClaView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/create_port_chain$', PortChainView.as_view()),
+                       url(r'^api/nslcm/v1/ns/sfcs$', SfcView.as_view()),
+                       url(r'^api/nslcm/v1/ns/sfcs/(?P<sfc_inst_id>[0-9a-zA-Z_-]+)$', SfcDetailView.as_view()),
+                       url(r'^api/nslcm/v1/ns/sfc_instance$', SfcInstanceView.as_view()),
+                       url(r'^api/nslcm/v1/ns/create_port_pair_group$', PortPairGpView.as_view()),
+                       url(r'^api/nslcm/v1/ns/create_flow_classifier$', FlowClaView.as_view()),
+                       url(r'^api/nslcm/v1/ns/create_port_chain$', PortChainView.as_view()),
                        )
 
 urlpatterns = format_suffix_patterns(urlpatterns)
 
         "version": "1.0.0",
         "title": "ZTE vManager Service rest API"
     },
-    "basePath": "/openoapi/nslcm/v1",
+    "basePath": "/api/nslcm/v1",
     "tags": [
         {
             "name": "lcm Resource"
 
 #             "context": json.dumps(nsd_model)
 #         }
 #         mock_vals = {
-#             "/openoapi/extsys/v1/sdncontrollers/test":
+#             "/api/extsys/v1/sdncontrollers/test":
 #                 [0, json.JSONEncoder().encode({"url": "url_1"}), '200'],
-#             "/openoapi/sdncdriver/v1.0/createflowclassfier":
+#             "/api/sdncdriver/v1.0/createflowclassfier":
 #                 [0, json.JSONEncoder().encode({"id": "test_id_1"}), '200'],
-#             "/openoapi/microservices/v1/services":
+#             "/api/microservices/v1/services":
 #                 [0, None, '200']
 #
 #         }
 #             return mock_vals[args[4]]
 #
 #         mock_call_req.side_effect = side_effect
-#         resp = self.client.post("/openoapi/nslcm/v1/ns/create_flow_classifier", data)
+#         resp = self.client.post("/api/nslcm/v1/ns/create_flow_classifier", data)
 #         ret = FPInstModel.objects.get(fpinstid="fp_inst_1")
 #         self.assertEqual(resp.status_code, status.HTTP_200_OK)
 #         self.assertEqual("test_id_1", ret.flowclassifiers)
 
 #             "context": json.dumps(nsd_model)
 #         }
 #         mock_vals = {
-#             "/openoapi/extsys/v1/sdncontrollers/test_sdncontrollerid":
+#             "/api/extsys/v1/sdncontrollers/test_sdncontrollerid":
 #                 [0, json.JSONEncoder().encode({"url": "url_1"}), '200'],
-#             "/openoapi/sdncdriver/v1.0/createportchain":
+#             "/api/sdncdriver/v1.0/createportchain":
 #                 [0, json.JSONEncoder().encode({"id": "test_id_1"}), '200'],
-#              "/openoapi/microservices/v1/services":
+#              "/api/microservices/v1/services":
 #                  [0, None, '200']
 #         }
 #
 #             return mock_vals[args[4]]
 #
 #         mock_call_req.side_effect = side_effect
-#         resp = self.client.post("/openoapi/nslcm/v1/ns/create_port_chain", data)
+#         resp = self.client.post("/api/nslcm/v1/ns/create_port_chain", data)
 #         ret = FPInstModel.objects.get(fpinstid="fp_inst_1")
 #         self.assertEqual(resp.status_code, status.HTTP_200_OK)
 #         self.assertEqual("test_id_1", ret.sfcid)
 
 #             "context": json.dumps(nsd_model)
 #         }
 #         mock_vals = {
-#             "/openoapi/extsys/v1/sdncontrollers/sdn_controller_1":
+#             "/api/extsys/v1/sdncontrollers/sdn_controller_1":
 #                 [0, json.JSONEncoder().encode({"url": "url_1"}), '200'],
-#             "/openoapi/sdncdriver/v1.0/createportpair":
+#             "/api/sdncdriver/v1.0/createportpair":
 #                 [0, json.JSONEncoder().encode({"id": "createportpair_id"}), '200'],
-#             "/openoapi/sdncdriver/v1.0/createportpairgroup":
+#             "/api/sdncdriver/v1.0/createportpairgroup":
 #                 [0, json.JSONEncoder().encode({"id": "createportpairgroup_id"}), '200'],
-#             "/openoapi/microservices/v1/services":
+#             "/api/microservices/v1/services":
 #                 [0, None, '200']
 #         }
 #
 #             return mock_vals[args[4]]
 #
 #         mock_call_req.side_effect = side_effect
-#         resp = self.client.post("/openoapi/nslcm/v1/ns/create_port_pair_group", data)
+#         resp = self.client.post("/api/nslcm/v1/ns/create_port_pair_group", data)
 #         rest = json.loads(FPInstModel.objects.get(fpinstid="fp_inst_1").portpairgroups)[0]
 #         self.assertEqual(resp.status_code, status.HTTP_200_OK)
 #         self.assertEqual("createportpairgroup_id", rest["groupid"])
 
 #             "sdncontrollerid": "sdnControllerId_1"
 #         }
 #
-#         resp = self.client.post("/openoapi/nslcm/v1/ns/sfc_instance", data, format='json')
+#         resp = self.client.post("/api/nslcm/v1/ns/sfc_instance", data, format='json')
 #         self.assertEqual(resp.status_code, status.HTTP_200_OK)
 #
 #     @mock.patch.object(extsys, "get_sdn_controller_by_id")
 #         }
 #         mock_create_flow_classfier.return_value = [0, json.dumps({'id': '1'})]
 #         mock_get_sdn_controller_by_id.return_value = json.loads('{"test":"test_name","url":"url_add"}')
-#         resp = self.client.post("/openoapi/nslcm/v1/ns/create_flow_classifier", data)
+#         resp = self.client.post("/api/nslcm/v1/ns/create_flow_classifier", data)
 #         self.assertEqual(resp.status_code, status.HTTP_200_OK)
 #
 #     @mock.patch.object(extsys, "get_sdn_controller_by_id")
 #         mock_create_port_pair.return_value = [0, json.dumps({'id': '1'})]
 #         mock_create_port_pair_group.return_value = [0, json.dumps({'id': '1'})]
 #         mock_get_sdn_controller_by_id.return_value = json.loads('{"test":"test_name","url":"url_add"}')
-#         resp = self.client.post("/openoapi/nslcm/v1/ns/create_port_pair_group", data)
+#         resp = self.client.post("/api/nslcm/v1/ns/create_port_pair_group", data)
 #         self.assertEqual(resp.status_code, status.HTTP_200_OK)
 #
 #     @mock.patch.object(extsys, "get_sdn_controller_by_id")
 #         self.update_fp_inst_data()
 #         mock_create_port_chain.return_value = [0, json.dumps({'id': '1'})]
 #         mock_get_sdn_controller_by_id.return_value = json.loads('{"test":"test_name","url":"url_add"}')
-#         resp = self.client.post("/openoapi/nslcm/v1/ns/create_port_chain", data)
+#         resp = self.client.post("/api/nslcm/v1/ns/create_port_chain", data)
 #         self.assertEqual(resp.status_code, status.HTTP_200_OK)
 #
 #     # @mock.patch.object(restcall, 'call_req')
 #     #         "sdncontrollerid": "sdnControllerId_1"
 #     #     }
 #     #
-#     #     resp = self.client.post("/openoapi/nslcm/v1/ns/sfc", data, format='json')
+#     #     resp = self.client.post("/api/nslcm/v1/ns/sfc", data, format='json')
 #     #     self.assertEqual(resp.status_code, status.HTTP_200_OK)
 #
 #     def update_fp_inst_data(self):
 
 #             "fpindex": "fpd_1",
 #             "sdncontrollerid": "sdnControllerId_1"
 #         }
-#         resp = self.client.post("/openoapi/nslcm/v1/ns/sfc_instance", data, format='json')
+#         resp = self.client.post("/api/nslcm/v1/ns/sfc_instance", data, format='json')
 #
 #         vnffg = VNFFGInstModel.objects.get(vnffginstid="vnffg_inst_1")
 #         ret = FPInstModel.objects.get(fpinstid=resp.data["fpinstid"])
 
     
     
     def test_sfc_delete_failed(self):
-        response = self.client.delete("/openoapi/nslcm/v1/ns/sfcs/%s" % "notExist")
+        response = self.client.delete("/api/nslcm/v1/ns/sfcs/%s" % "notExist")
         expect_resp_data = {"result": 0, "detail": "sfc is not exist or has been already deleted"}
         self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
         self.assertEqual(expect_resp_data, response.data)
                     sfcid="10", flowclassifiers="11",
                     portpairgroups=json.JSONEncoder().encode([{"groupid":"98","portpair":"99"}])
                     ).save()
-        response = self.client.delete("/openoapi/nslcm/v1/ns/sfcs/%s" % sfc_inst_id)
+        response = self.client.delete("/api/nslcm/v1/ns/sfcs/%s" % sfc_inst_id)
         expect_resp_data = {"result": 0, "detail": "delete sfc success"}
         self.assertEqual(expect_resp_data, response.data)
 
     def test_sfc_get_failed(self):
         sfc_inst_id="10"
-        response = self.client.get("/openoapi/nslcm/v1/ns/sfcs/%s" % sfc_inst_id)
+        response = self.client.get("/api/nslcm/v1/ns/sfcs/%s" % sfc_inst_id)
         self.assertEqual(status.HTTP_404_NOT_FOUND, response.status_code)
 
     def test_sfc_get_success(self):
                     symmetric="5", policyinfo="6", forworderpaths="7", status="8", sdncontrollerid="9",
                     sfcid="10", flowclassifiers="11",
                     portpairgroups="12").save()
-        response = self.client.get("/openoapi/nslcm/v1/ns/sfcs/%s" % sfc_inst_id)
+        response = self.client.get("/api/nslcm/v1/ns/sfcs/%s" % sfc_inst_id)
         expect_resp_data={'sfcName': 'xxx', 'sfcInstId': '10', 'sfcStatus': '8'}
         self.assertEqual(expect_resp_data, response.data)
 
 
     @mock.patch.object(restcall, "call_req")
     def test_delete_sfc(self, mock_req_by_rest):
         mock_req_by_rest.return_value = [0, '{"test":"test_name","url":"url_add"}']
-        response = self.client.delete("/openoapi/nslcm/v1/ns/sfcs/%s" % self.sfc_inst_id)
+        response = self.client.delete("/api/nslcm/v1/ns/sfcs/%s" % self.sfc_inst_id)
         self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
         expect_resp_data = {"result": 0, "detail": "delete sfc success"}
         self.assertEqual(expect_resp_data, response.data)
         if FPInstModel.objects.filter(fpinstid=self.sfc_inst_id):
             self.fail()
 
-        response = self.client.delete("/openoapi/nslcm/v1/ns/sfcs/%s" % "notExist")
+        response = self.client.delete("/api/nslcm/v1/ns/sfcs/%s" % "notExist")
         self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
         expect_resp_data = {"result": 0, "detail": "sfc is not exist or has been already deleted"}
         self.assertEqual(expect_resp_data, response.data)
 
     def test_query_sfc(self):
-        response = self.client.get("/openoapi/nslcm/v1/ns/sfcs/%s" % self.sfc_inst_id)
+        response = self.client.get("/api/nslcm/v1/ns/sfcs/%s" % self.sfc_inst_id)
         self.assertEqual(status.HTTP_200_OK, response.status_code)
         expect_resp_data = {'sfcInstId': self.sfc_inst_id,
                             'sfcStatus': self.status,
                             'sfcName': "xxx"}
         self.assertEqual(expect_resp_data, response.data)
 
-        response = self.client.get("/openoapi/nslcm/v1/ns/sfcs/%s" % "notExist")
+        response = self.client.get("/api/nslcm/v1/ns/sfcs/%s" % "notExist")
         self.assertEqual(status.HTTP_404_NOT_FOUND, response.status_code)
 
             'nsdid': self.nsd_id,
             'nsname': 'ns',
             'description': 'description'}
-        response = self.client.post("/openoapi/nslcm/v1/ns", data=data)
+        response = self.client.post("/api/nslcm/v1/ns", data=data)
         self.failUnlessEqual(status.HTTP_201_CREATED, response.status_code)
 
     def test_ns_instant_ok(self, mock_convert_nsd_model, mock_call_req):
         mock_convert_nsd_model.return_value = self.context
         mock_vals = {
-            "/openoapi/catalog/v1/csars/7/files?relativePath=abc.yaml":
+            "/api/catalog/v1/csars/7/files?relativePath=abc.yaml":
                 [0, '{"downloadUri":"http://test.yaml", "localPath":"./test.yaml"}', '200'],
-            "/openoapi/tosca/v1/indirect/plan":
+            "/api/tosca/v1/indirect/plan":
                 [0, '{"description":"", "metadata":{}, "nodes":[]}', '200'],
-            "/openoapi/catalog/v1/servicetemplates/2/operations":
+            "/api/catalog/v1/servicetemplates/2/operations":
                 [0, '[{"name":"LCM", "processId":"{http://www.open-o.org/tosca/nfv/2015/12}init-16"}]', '200'],
-            "/openoapi/wso2bpel/v1/process/instance":
+            "/api/wso2bpel/v1/process/instance":
                 [0, '{"status": 1}', '200']}
 
         def side_effect(*args):
                 'nsInstanceId': "123", 'instanceId': "234", 'resourceUrl': "", 'callbackId': "",
                 'additionalParamForVnf': "[{\"b\":1},{\"c\":{\"d\":\"2\"}}]",
                 'additionalParamForNs': "[{\"a\":3},{\"e\":{\"f\":\"4\"}}]", 'flavorParams': ""}
-        resp = self.client.post("/openoapi/nslcm/v1/ns/123/instantiate", data, format='json')
+        resp = self.client.post("/api/nslcm/v1/ns/123/instantiate", data, format='json')
         self.assertEqual(resp.status_code, status.HTTP_200_OK)
     """
     
     def test_swagger_ok(self):
-        resp = self.client.get("/openoapi/nslcm/v1/swagger.json", format='json')
+        resp = self.client.get("/api/nslcm/v1/swagger.json", format='json')
         self.assertEqual(resp.status_code, status.HTTP_200_OK)
 
     def test_ns_instant_ok(self, mock_convert_nsd_model, mock_call_req):
         mock_convert_nsd_model.return_value = self.context
         mock_vals = {
-            "/openoapi/catalog/v1/csars/7/files?relativePath=abc.yaml":
+            "/api/catalog/v1/csars/7/files?relativePath=abc.yaml":
                 [0, '{"downloadUri":"http://test.yaml", "localPath":"./test.yaml"}', '200'],
-            "/openoapi/tosca/v1/indirect/plan":
+            "/api/tosca/v1/indirect/plan":
                 [0, '{"description":"", "metadata":{}, "nodes":[]}', '200'],
-            "/openoapi/catalog/v1/servicetemplates/2/operations":
+            "/api/catalog/v1/servicetemplates/2/operations":
                 [0, '[{"name":"LCM", "processId":"{http://www.open-o.org/tosca/nfv/2015/12}init-16"}]', '200'],
-            "/openoapi/wso2bpel/v1/process/instance":
+            "/api/wso2bpel/v1/process/instance":
                 [0, '{"status": 1}', '200']}
 
         def side_effect(*args):
                 'nsInstanceId': "123", 'instanceId': "234", 'resourceUrl': "", 'callbackId': "",
                 'additionalParamForVnf': "[{\"b\":1},{\"c\":{\"d\":\"2\"}}]",
                 'additionalParamForNs': "[{\"a\":3},{\"e\":{\"f\":\"4\"}}]", 'flavorParams': ""}
-        resp = self.client.post("/openoapi/nslcm/v1/ns/123/instantiate", data, format='json')
+        resp = self.client.post("/api/nslcm/v1/ns/123/instantiate", data, format='json')
         self.assertEqual(resp.status_code, status.HTTP_200_OK)
     """
     @mock.patch.object(NSManualScaleService, 'run')
             'nsdid': self.nsd_id,
             'nsname': 'ns',
             'description': 'description'}
-        response = self.client.post("/openoapi/nslcm/v1/ns/%s/scale"%self.nsd_id, data=data)
+        response = self.client.post("/api/nslcm/v1/ns/%s/scale"%self.nsd_id, data=data)
         self.failUnlessEqual(status.HTTP_202_ACCEPTED, response.status_code)
 
     @mock.patch.object(restcall, 'call_req')
         self.assertTrue(NSInstModel.objects.get(id=self.ns_inst_id).status, NS_INST_STATUS.ACTIVE)
 
     def test_swagger_ok(self):
-        resp = self.client.get("/openoapi/nslcm/v1/swagger.json", format='json')
+        resp = self.client.get("/api/nslcm/v1/swagger.json", format='json')
         self.assertEqual(resp.status_code, status.HTTP_200_OK)
 
         req_data = {
             "terminationType": "forceful",
             "gracefulTerminationTimeout": "600"}
-        response = self.client.post("/openoapi/nslcm/v1/ns/%s/terminate" % self.ns_inst_id, data=req_data)
+        response = self.client.post("/api/nslcm/v1/ns/%s/terminate" % self.ns_inst_id, data=req_data)
         self.failUnlessEqual(status.HTTP_202_ACCEPTED, response.status_code)
 
-        response = self.client.delete("/openoapi/nslcm/v1/ns/%s" % self.ns_inst_id)
+        response = self.client.delete("/api/nslcm/v1/ns/%s" % self.ns_inst_id)
         self.failUnlessEqual(status.HTTP_204_NO_CONTENT, response.status_code)
 
     @mock.patch.object(restcall, "call_req")
         job_id = JobUtil.create_job("VNF", JOB_TYPE.TERMINATE_VNF, self.nf_inst_id)
 
         mock_vals = {
-            "/openoapi/nslcm/v1/ns/vls/1":
+            "/api/nslcm/v1/ns/vls/1":
                 [0, json.JSONEncoder().encode({"jobId": self.job_id}), '200'],
-            "/openoapi/nslcm/v1/ns/sfcs/1":
+            "/api/nslcm/v1/ns/sfcs/1":
                 [0, json.JSONEncoder().encode({"jobId": self.job_id}), '200'],
-            "/openoapi/nslcm/v1/ns/vnfs/1":
+            "/api/nslcm/v1/ns/vnfs/1":
                 [0, json.JSONEncoder().encode({}), '200'],
-            "/openoapi/ztevmanagerdriver/v1/jobs/" + self.job_id + "&responseId=0":
+            "/api/ztevmanagerdriver/v1/jobs/" + self.job_id + "&responseId=0":
                 [0, json.JSONEncoder().encode({"jobid": self.job_id,
                                                "responsedescriptor": {"progress": "100",
                                                                       "status": JOB_MODEL_STATUS.FINISHED,
 
             "nsInstanceId": self.ns_inst_id,
             "context": json.JSONEncoder().encode(self.context),
             "vlindex": vl_id}
-        response = self.client.post("/openoapi/nslcm/v1/ns/vls", data=req_data)
+        response = self.client.post("/api/nslcm/v1/ns/vls", data=req_data)
         self.assertEqual(status.HTTP_201_CREATED, response.status_code)
         self.assertEqual(0, response.data["result"])
 
                                          '{"test":"test_name","name":"vim_name","type":"type_name","url":"url_add"'
                                          ',"userName":"user_name","password":"password","tenant":"tenant"}']
         mock_create_network.return_value = [1, (1)]
-        response = self.client.post("/openoapi/nslcm/v1/ns/vls", data=req_data)
+        response = self.client.post("/api/nslcm/v1/ns/vls", data=req_data)
         retinfo = {"detail": "vl instantiation failed, detail message: Send post vl request to vim failed."}
         self.assertEqual(retinfo["detail"], response.data["detail"])
 
         mock_req_by_rest.return_value = [0,
                                          '{"test":"test_name","name":"vim_name","type":"type_name","url":"url_add"'
                                          ',"userName":"user_name","password":"password","tenant":"tenant"}']
-        response = self.client.delete("/openoapi/nslcm/v1/ns/vls/%s" % self.vl_inst_id)
+        response = self.client.delete("/api/nslcm/v1/ns/vls/%s" % self.vl_inst_id)
         self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
         expect_resp_data = {"result": 0, "detail": "delete vl success"}
         self.assertEqual(expect_resp_data, response.data)
         if VLInstModel.objects.filter(vlinstanceid=self.vl_inst_id):
             self.fail()
 
-        response = self.client.delete("/openoapi/nslcm/v1/ns/vls/%s" % "notExist")
+        response = self.client.delete("/api/nslcm/v1/ns/vls/%s" % "notExist")
         self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
         expect_resp_data = {"result": 0, "detail": "vl is not exist or has been already deleted"}
         self.assertEqual(expect_resp_data, response.data)
 
     def test_query_vl(self):
-        response = self.client.get("/openoapi/nslcm/v1/ns/vls/%s" % self.vl_inst_id)
+        response = self.client.get("/api/nslcm/v1/ns/vls/%s" % self.vl_inst_id)
         self.assertEqual(status.HTTP_200_OK, response.status_code)
         expect_resp_data = {'vlId': self.vl_inst_id, 'vlName': self.vl_name, 'vlStatus': "active"}
         self.assertEqual(expect_resp_data, response.data)
 
-        response = self.client.get("/openoapi/nslcm/v1/ns/vls/%s" % "notExist")
+        response = self.client.get("/api/nslcm/v1/ns/vls/%s" % "notExist")
         self.assertEqual(status.HTTP_404_NOT_FOUND, response.status_code)
 
         NfInstModel.objects.all().delete()
 
     def test_get_vnf(self):
-        response = self.client.get("/openoapi/nslcm/v1/ns/vnfs/%s" % self.nf_inst_id)
+        response = self.client.get("/api/nslcm/v1/ns/vnfs/%s" % self.nf_inst_id)
         self.failUnlessEqual(status.HTTP_200_OK, response.status_code)
         context = json.loads(response.content)
         self.failUnlessEqual(self.nf_inst_id, context['vnfInstId'])
 
     @mock.patch.object(CreateVnfs, 'run')
     def test_create_vnf(self, mock_run):
-        response = self.client.post("/openoapi/nslcm/v1/ns/vnfs", data=self.data)
+        response = self.client.post("/api/nslcm/v1/ns/vnfs", data=self.data)
         self.failUnlessEqual(status.HTTP_202_ACCEPTED, response.status_code)
         context = json.loads(response.content)
         self.assertTrue(NfInstModel.objects.filter(nfinstid=context['vnfInstId']).exists())
     @mock.patch.object(restcall, 'call_req')
     def test_create_vnf_thread(self, mock_call_req):
         mock_vals = {
-            "/openoapi/ztevmanagerdriver/v1/1/vnfs":
+            "/api/ztevmanagerdriver/v1/1/vnfs":
                 [0, json.JSONEncoder().encode({"jobId": self.job_id, "vnfInstanceId": 3}), '200'],
-            "/openoapi/extsys/v1/vnfms/1":
+            "/api/extsys/v1/vnfms/1":
                 [0, json.JSONEncoder().encode({"name": 'vnfm1'}), '200'],
-            "/openoapi/resmgr/v1/vnf":
+            "/api/resmgr/v1/vnf":
                 [0, json.JSONEncoder().encode({}), '200'],
-            "/openoapi/resmgr/v1/vnfinfo":
+            "/api/resmgr/v1/vnfinfo":
                 [0, json.JSONEncoder().encode({}), '200'],
-            "/openoapi/ztevmanagerdriver/v1/jobs/" + self.job_id + "&responseId=0":
+            "/api/ztevmanagerdriver/v1/jobs/" + self.job_id + "&responseId=0":
                 [0, json.JSONEncoder().encode({"jobid": self.job_id,
                                                "responsedescriptor": {"progress": "100",
                                                                       "status": JOB_MODEL_STATUS.FINISHED,
             "terminationType": "forceful",
             "gracefulTerminationTimeout": "600"}
 
-        response = self.client.post("/openoapi/nslcm/v1/ns/vnfs/%s" % self.nf_inst_id, data=req_data)
+        response = self.client.post("/api/nslcm/v1/ns/vnfs/%s" % self.nf_inst_id, data=req_data)
         self.failUnlessEqual(status.HTTP_201_CREATED, response.status_code)
 
     @mock.patch.object(restcall, "call_req")
             self.failUnlessEqual(1, 0)
 
         mock_vals = {
-            "/openoapi/ztevmanagerdriver/v1/1/vnfs/111/terminate":
+            "/api/ztevmanagerdriver/v1/1/vnfs/111/terminate":
                 [0, json.JSONEncoder().encode({"jobId": job_id}), '200'],
-            "/openoapi/extsys/v1/vnfms/1":
+            "/api/extsys/v1/vnfms/1":
                 [0, json.JSONEncoder().encode({"name": 'vnfm1', "type": 'ztevmanagerdriver'}), '200'],
-            "/openoapi/resmgr/v1/vnf/1":
+            "/api/resmgr/v1/vnf/1":
                 [0, json.JSONEncoder().encode({"jobId": job_id}), '200'],
-            "/openoapi/ztevmanagerdriver/v1/1/jobs/" + job_id + "?responseId=0":
+            "/api/ztevmanagerdriver/v1/1/jobs/" + job_id + "?responseId=0":
                 [0, json.JSONEncoder().encode({"jobId": job_id,
                                                "responsedescriptor": {"progress": "100",
                                                                       "status": JOB_MODEL_STATUS.FINISHED,
 
 
         mock_vals = {
-            "/openoapi/ztevmanagerdriver/v1/1/vnfs/111/terminate":
+            "/api/ztevmanagerdriver/v1/1/vnfs/111/terminate":
                 [0, json.JSONEncoder().encode({"jobId": job_id}), '200'],
-            "/openoapi/ztevmanagerdriver/v1/1/vnfs/111/terminate":
+            "/api/ztevmanagerdriver/v1/1/vnfs/111/terminate":
                 [0, json.JSONEncoder().encode({"jobId": job_id}), '200']
         }
         NFManualScaleService(self.nf_inst_id, req_data).run()
 
         pass
 
     def test_verify_vnfs(self):
-        response = self.client.post("/openoapi/nslcm/v1/vnfonboarding", data=self.data)
+        response = self.client.post("/api/nslcm/v1/vnfonboarding", data=self.data)
         self.failUnlessEqual(status.HTTP_202_ACCEPTED, response.status_code)
\ No newline at end of file
 
     NSManualScaleView
 
 urlpatterns = patterns('',
-                       url(r'^openoapi/nslcm/v1/ns$', CreateNSView.as_view()),
-                       url(r'^openoapi/nslcm/v1/swagger.json$', SwaggerJsonView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/instantiate$',
+                       url(r'^api/nslcm/v1/ns$', CreateNSView.as_view()),
+                       url(r'^api/nslcm/v1/swagger.json$', SwaggerJsonView.as_view()),
+                       url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/instantiate$',
                            NSInstView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/terminate$',
+                       url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/terminate$',
                            TerminateNSView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)$', NSDetailView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/postdeal$',
+                       url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)$', NSDetailView.as_view()),
+                       url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/postdeal$',
                            NSInstPostDealView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/scale$',
+                       url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/scale$',
                            NSManualScaleView.as_view()),
                        )
 
 
             "fileUri":file_url
         }
         req_param = json.JSONEncoder().encode(input_data)
-        policy_engine_url = 'openoapi/polengine/v1/policyinfo'
+        policy_engine_url = 'api/polengine/v1/policyinfo'
         ret = req_by_msb(policy_engine_url, "POST", req_param)
         if ret[0] != 0:
             logger.error("Failed to send ns policy req")
 
 from lcm.ns.vls.views import VlView, VlDetailView
 
 urlpatterns = patterns('',
-                       url(r'^openoapi/nslcm/v1/ns/vls$', VlView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/vls/(?P<vl_inst_id>[0-9a-zA-Z_-]+)$', VlDetailView.as_view()),
+                       url(r'^api/nslcm/v1/ns/vls$', VlView.as_view()),
+                       url(r'^api/nslcm/v1/ns/vls/(?P<vl_inst_id>[0-9a-zA-Z_-]+)$', VlDetailView.as_view()),
                        )
 
 urlpatterns = format_suffix_patterns(urlpatterns)
 
 from lcm.ns.vnfs.views import NfView, NfDetailView, NfGrant, LcmNotify, NfScaleView, NfVerifyView
 
 urlpatterns = patterns('',
-                       url(r'^openoapi/nslcm/v1/ns/vnfs$', NfView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/vnfs/(?P<vnfinstid>[0-9a-zA-Z_-]+)$', NfDetailView.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/grantvnf$', NfGrant.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/(?P<vnfmid>[0-9a-zA-Z_-]+)'
+                       url(r'^api/nslcm/v1/ns/vnfs$', NfView.as_view()),
+                       url(r'^api/nslcm/v1/ns/vnfs/(?P<vnfinstid>[0-9a-zA-Z_-]+)$', NfDetailView.as_view()),
+                       url(r'^api/nslcm/v1/ns/grantvnf$', NfGrant.as_view()),
+                       url(r'^api/nslcm/v1/ns/(?P<vnfmid>[0-9a-zA-Z_-]+)'
                            r'/vnfs/(?P<vnfInstanceId>[0-9a-zA-Z_-]+)/Notify$',
                            LcmNotify.as_view()),
-                       url(r'^openoapi/nslcm/v1/ns/vnfs/(?P<vnfinstid>[0-9a-zA-Z_-]+)/scaling$', NfScaleView.as_view()),
-                       url(r'^openoapi/nslcm/v1/vnfonboarding$', NfVerifyView.as_view()),
+                       url(r'^api/nslcm/v1/ns/vnfs/(?P<vnfinstid>[0-9a-zA-Z_-]+)/scaling$', NfScaleView.as_view()),
+                       url(r'^api/nslcm/v1/vnfonboarding$', NfVerifyView.as_view()),
                        )
 
 urlpatterns = format_suffix_patterns(urlpatterns)
 
             "csarId":self.data["PackageID"],
             "labVimId":ignore_case_get(self.verify_config, "labVimId")
         }
-        ret = req_by_msb("/openoapi/nslcm/v1/vnfpackage", "POST", json.JSONEncoder().encode(onboarding_data))
+        ret = req_by_msb("/api/nslcm/v1/vnfpackage", "POST", json.JSONEncoder().encode(onboarding_data))
         if ret[0] != 0:
             raise NSLCMException("Failed to call vnf onboarding: %s" % ret[1])
         rsp_data = json.JSONDecoder().decode(ret[1])
             "additionalParamForVnf": vnf_param,
             "vnfIndex": "1"
         }
-        ret = req_by_msb("/openoapi/nslcm/v1/ns/vnfs", "POST", json.JSONEncoder().encode(inst_data))
+        ret = req_by_msb("/api/nslcm/v1/ns/vnfs", "POST", json.JSONEncoder().encode(inst_data))
         if ret[0] != 0:
             raise NSLCMException("Failed to call inst vnf: %s" % ret[1])
         rsp_data = json.JSONDecoder().decode(ret[1])
             "terminationType": "forceful",
             "gracefulTerminationTimeout": "600"
         }
-        ret = req_by_msb("/openoapi/nslcm/v1/ns/vnfs/%s" % self.vnf_inst_id, "POST", json.JSONEncoder().encode(term_data))
+        ret = req_by_msb("/api/nslcm/v1/ns/vnfs/%s" % self.vnf_inst_id, "POST", json.JSONEncoder().encode(term_data))
         if ret[0] != 0:
             raise NSLCMException("Failed to call term vnf: %s" % ret[1])
         rsp_data = json.JSONDecoder().decode(ret[1])
         while count < retry_count:
             count = count + 1
             time.sleep(interval_second)
-            ret = req_by_msb("/openoapi/nslcm/v1/jobs/%s?responseId=%s" % (job_id, response_id), "GET")
+            ret = req_by_msb("/api/nslcm/v1/jobs/%s?responseId=%s" % (job_id, response_id), "GET")
             if ret[0] != 0:
                 logger.error("Failed to query job: %s:%s", ret[2], ret[1])
                 continue
 
 
     @mock.patch.object(NfOnBoardingThread, 'run')
     def test_nf_pkg_on_boarding_normal(self, mock_run):
-        resp = self.client.post("/openoapi/nslcm/v1/vnfpackage", {
+        resp = self.client.post("/api/nslcm/v1/vnfpackage", {
             "csarId": "1",
             "vimIds": ["1"]
             }, format='json')
     @mock.patch.object(restcall, 'call_req')
     def test_nf_on_boarding_when_nfd_already_exists(self, mock_call_req):
         mock_vals = {
-            "/openoapi/catalog/v1/csars/2":
+            "/api/catalog/v1/csars/2":
                 [0, json.JSONEncoder().encode({
                     "onBoardState": "onBoardFailed", "processState": "deleteFailed"}), '200'],
-            "/openoapi/catalog/v1/servicetemplates/queryingrawdata":
+            "/api/catalog/v1/servicetemplates/queryingrawdata":
                 [0, json.JSONEncoder().encode(self.vnfd_raw_data), '200']}
 
         def side_effect(*args):
                                               mock__init__, mock_download_file_from_http, mock_call_req):
         mock_download_file_from_http.return_value = True, "/root/package"
         mock_vals = {
-            "/openoapi/catalog/v1/csars/2":
+            "/api/catalog/v1/csars/2":
                 [0, json.JSONEncoder().encode({
                     "onBoardState": "onBoardFailed", "processState": "deleteFailed"}), '200'],
-            "/openoapi/catalog/v1/servicetemplates/queryingrawdata":
+            "/api/catalog/v1/servicetemplates/queryingrawdata":
                 [0, json.JSONEncoder().encode(self.vnfd_raw_data), '200'],
-            "/openoapi/catalog/v1/csars/2/files?relativePath=/SoftwareImages/image-lb":
+            "/api/catalog/v1/csars/2/files?relativePath=/SoftwareImages/image-lb":
                 [0, json.JSONEncoder().encode({
                     "csar_file_info": [{"downloadUri": "8"}, {"localPath": "9"}]}), '200'],
-            "/openoapi/extsys/v1/vims":
+            "/api/extsys/v1/vims":
                 [0, json.JSONEncoder().encode([{
                     "vimId": "1", "type": VIM_OPENSTACK,
                     "url": "/root/package", "userName": "tom",
                     "password": "tom", "tenant": "10"}]), '200'],
-            "/openoapi/catalog/v1/csars/2?onBoardState=onBoarded": [0, '{}', 200],
-            "/openoapi/catalog/v1/csars/2?operationalState=Enabled": [0, '{}', 200],
-            "/openoapi/catalog/v1/csars/2?processState=normal": [0, '{}', 200]}
+            "/api/catalog/v1/csars/2?onBoardState=onBoarded": [0, '{}', 200],
+            "/api/catalog/v1/csars/2?operationalState=Enabled": [0, '{}', 200],
+            "/api/catalog/v1/csars/2?processState=normal": [0, '{}', 200]}
         mock_create_image.return_value = [0, {"id": "30", "name": "jerry", "res_type": 0}]
         mock__init__.return_value = None
         mock_get_image.return_value = [0, {"id": "30", "name": "jerry", "size": "60", "status": "active"}]
         nf_package.SLEEP_INTERVAL_SECONDS = 1
         mock_download_file_from_http.return_value = True, "/root/package"
         mock_vals = {
-            "/openoapi/catalog/v1/csars/3":
+            "/api/catalog/v1/csars/3":
             [0, json.JSONEncoder().encode({"onBoardState": "onBoardFailed",
                                            "processState": "deleteFailed"}), '200'],
-            "/openoapi/catalog/v1/servicetemplates/queryingrawdata":
+            "/api/catalog/v1/servicetemplates/queryingrawdata":
                 [0, json.JSONEncoder().encode(self.vnfd_raw_data), '200'],
-            "/openoapi/catalog/v1/csars/3/files?relativePath=/SoftwareImages/image-lb":
+            "/api/catalog/v1/csars/3/files?relativePath=/SoftwareImages/image-lb":
                 [0, json.JSONEncoder().encode({
                     "csar_file_info": [{"downloadUri": "8"}, {"localPath": "9"}]}), '200'],
-            "/openoapi/catalog/v1/csars/3?processState=onBoardFailed": [0, '{}', 200],
-            "/openoapi/extsys/v1/vims":
+            "/api/catalog/v1/csars/3?processState=onBoardFailed": [0, '{}', 200],
+            "/api/extsys/v1/vims":
                 [0, json.JSONEncoder().encode([{
                     "vimId": "1", "type": VIM_OPENSTACK,
                     "url": "/root/package", "userName": "tom",
                                                         mock__init__, mock_download_file_from_http, mock_call_req):
         mock_download_file_from_http.return_value = True, "/root/package"
         mock_vals = {
-            "/openoapi/catalog/v1/csars/5":
+            "/api/catalog/v1/csars/5":
                 [0, json.JSONEncoder().encode({
                     "onBoardState": "onBoardFailed", "processState": "deleteFailed"}), '200'],
-            "/openoapi/catalog/v1/servicetemplates/queryingrawdata":
+            "/api/catalog/v1/servicetemplates/queryingrawdata":
                 [0, json.JSONEncoder().encode(self.vnfd_raw_data), '200'],
-            "/openoapi/catalog/v1/csars/5/files?relativePath=/SoftwareImages/image-lb":
+            "/api/catalog/v1/csars/5/files?relativePath=/SoftwareImages/image-lb":
                 [0, json.JSONEncoder().encode({
                     "csar_file_info": [{"downloadUri": "8"}, {"localPath": "9"}]}), '200'],
-            "/openoapi/catalog/v1/csars/5?processState=onBoardFailed": [0, '{}', 200],
-            "/openoapi/extsys/v1/vims":
+            "/api/catalog/v1/csars/5?processState=onBoardFailed": [0, '{}', 200],
+            "/api/extsys/v1/vims":
                 [0, json.JSONEncoder().encode([{
                     "vimId": "1", "type": VIM_OPENSTACK,
                     "url": "/root/package", "userName": "tom",
         VnfPackageFileModel(id="1", filename="filename", imageid="00001",
                             vimid="1", vimuser="001", tenant="12", status="1", vnfpid="13").save()
         NfInstModel(nfinstid="1", mnfinstid="001", nf_name="name", package_id="13").save()
-        resp = self.client.get("/openoapi/nslcm/v1/vnfpackage/13")
+        resp = self.client.get("/api/nslcm/v1/vnfpackage/13")
         self.assertEqual(resp.status_code, status.HTTP_200_OK)
         expect_data = {
             "csarId": '13',
     @mock.patch.object(restcall, 'call_req')
     def test_delete_csarr_when_exception(self, mock_call_req, mock_delete_image, mock_init_):
         mock_vals = {
-            ("/openoapi/catalog/v1/csars/1", "DELETE"):
+            ("/api/catalog/v1/csars/1", "DELETE"):
                 [1, "{}", "400"],
-            ("/openoapi/catalog/v1/csars/1?processState=deleting", "PUT"):
+            ("/api/catalog/v1/csars/1?processState=deleting", "PUT"):
                 [0, "{}", "200"],
-            ("/openoapi/catalog/v1/csars/1?processState=deleteFailed", "PUT"):
+            ("/api/catalog/v1/csars/1?processState=deleteFailed", "PUT"):
                 [0, "{}", "200"],
-            ("/openoapi/catalog/v1/csars/1", "GET"):
+            ("/api/catalog/v1/csars/1", "GET"):
                 [0, json.JSONEncoder().encode({"processState": "normal"}), "200"],
-            ("/openoapi/extsys/v1/vims", "GET"):
+            ("/api/extsys/v1/vims", "GET"):
                 [0, json.JSONEncoder().encode([{"vimId": "002",
                                                 "url": "url_test",
                                                 "userName": "test01",
     @mock.patch.object(restcall, 'call_req')
     def test_delete_csar_when_successfully(self, mock_call_req, mock_delete_image, mock_init_):
         mock_vals = {
-            ("/openoapi/catalog/v1/csars/1", "DELETE"):
+            ("/api/catalog/v1/csars/1", "DELETE"):
                 [0, json.JSONEncoder().encode({"successfully": "successfully"}), "200"],
-            ("/openoapi/catalog/v1/csars/1?processState=deleting", "PUT"):
+            ("/api/catalog/v1/csars/1?processState=deleting", "PUT"):
                 [0, json.JSONEncoder().encode({"successfully": "successfully"}), "200"],
-            ("/openoapi/catalog/v1/csars/1?processState=deleteFailed", "PUT"):
+            ("/api/catalog/v1/csars/1?processState=deleteFailed", "PUT"):
                 [0, json.JSONEncoder().encode({"successfully": "successfully"}), "200"],
-            ("/openoapi/catalog/v1/csars/1", "GET"):
+            ("/api/catalog/v1/csars/1", "GET"):
                 [0, json.JSONEncoder().encode({"notProcessState": "notProcessState"}), "200"],
-            ("/openoapi/extsys/v1/vims", "GET"):
+            ("/api/extsys/v1/vims", "GET"):
                 [0, json.JSONEncoder().encode([{
                     "vimId": "002",
                     "url": "url_test",
     
     def test_get_nf_csars_normal(self):
         NfPackageModel(uuid="01", nfpackageid="1", vnfdid="2").save()
-        resp = self.client.get("/openoapi/nslcm/v1/vnfpackage")
+        resp = self.client.get("/api/nslcm/v1/vnfpackage")
         self.assertEqual(resp.status_code, status.HTTP_200_OK)
         self.assertEqual(1, len(resp.data["csars"]))
         self.assertEqual("1", resp.data["csars"][0]["csarId"])
 
     @mock.patch.object(restcall, 'call_req')
     def test_ns_pkg_on_boarding_when_on_boarded(self, mock_call_req):
         mock_call_req.return_value = [0, json.JSONEncoder().encode({"onBoardState": "onBoarded"}), '200']
-        resp = self.client.post("/openoapi/nslcm/v1/nspackage", {"csarId": "1"}, format='json')
+        resp = self.client.post("/api/nslcm/v1/nspackage", {"csarId": "1"}, format='json')
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("failed", resp.data["status"])
         self.assertEqual("CSAR(1) already onBoarded.", resp.data["statusDescription"])
     def test_ns_pkg_on_boarding_when_nsd_already_exists(self, mock_call_req):
         self.set_nsd_metadata(key="id", val="2")
         mock_vals = {
-            "/openoapi/catalog/v1/csars/2":
+            "/api/catalog/v1/csars/2":
                 [0, json.JSONEncoder().encode({"onBoardState": "non-onBoarded"}), '200'],
-            "/openoapi/catalog/v1/servicetemplates/queryingrawdata":
+            "/api/catalog/v1/servicetemplates/queryingrawdata":
                 [0, json.JSONEncoder().encode(self.nsd_raw_data), '200']}
 
         def side_effect(*args):
         mock_call_req.side_effect = side_effect
 
         NSDModel(id="1", nsd_id="2").save()
-        resp = self.client.post("/openoapi/nslcm/v1/nspackage", {"csarId": "2"}, format='json')
+        resp = self.client.post("/api/nslcm/v1/nspackage", {"csarId": "2"}, format='json')
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("failed", resp.data["status"])
         self.assertEqual("NSD(2) already exists.", resp.data["statusDescription"])
         self.set_nsd_metadata(key="id", val="2")
         self.set_nsd_vnf_id(val="3")
         mock_vals = {
-            "/openoapi/catalog/v1/csars/3":
+            "/api/catalog/v1/csars/3":
                 [0, json.JSONEncoder().encode({"onBoardState": "non-onBoarded"}), '200'],
-            "/openoapi/catalog/v1/servicetemplates/queryingrawdata":
+            "/api/catalog/v1/servicetemplates/queryingrawdata":
                 [0, json.JSONEncoder().encode(self.nsd_raw_data), '200']}
 
         def side_effect(*args):
             return mock_vals[args[4]]
         mock_call_req.side_effect = side_effect
 
-        resp = self.client.post("/openoapi/nslcm/v1/nspackage", {"csarId": "3"}, format='json')
+        resp = self.client.post("/api/nslcm/v1/nspackage", {"csarId": "3"}, format='json')
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("failed", resp.data["status"])
         self.assertEqual("VNF package(3) is not onBoarded.", resp.data["statusDescription"])
         self.set_nsd_metadata(key="id", val="2")
         self.set_nsd_vnf_id(val="6")
         mock_vals = {
-            "/openoapi/catalog/v1/csars/4":
+            "/api/catalog/v1/csars/4":
                 [0, json.JSONEncoder().encode({"onBoardState": "non-onBoarded"}), '200'],
-            "/openoapi/catalog/v1/servicetemplates/queryingrawdata":
+            "/api/catalog/v1/servicetemplates/queryingrawdata":
                 [0, json.JSONEncoder().encode(self.nsd_raw_data), '200'],
-            "/openoapi/catalog/v1/csars/5":
+            "/api/catalog/v1/csars/5":
                 [0, json.JSONEncoder().encode({"onBoardState": "non-onBoarded"}), '200'], }
 
         def side_effect(*args):
         mock_call_req.side_effect = side_effect
 
         NfPackageModel(uuid="1", nfpackageid="5", vnfdid="6").save()
-        resp = self.client.post("/openoapi/nslcm/v1/nspackage", {"csarId": "4"}, format='json')
+        resp = self.client.post("/api/nslcm/v1/nspackage", {"csarId": "4"}, format='json')
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("failed", resp.data["status"])
         self.assertEqual("VNF package(5) is not onBoarded on catalog.", resp.data["statusDescription"])
         self.set_nsd_metadata(key="version", val="6")
         self.set_nsd_vnf_id(val="7")
         mock_vals = {
-            "/openoapi/catalog/v1/csars/5":
+            "/api/catalog/v1/csars/5":
                 [0, json.JSONEncoder().encode({
                     "onBoardState": "non-onBoarded",
                     "createTime": "2016-05-15 12:30:34",
                     "modifyTime": "2016-05-15 12:30:34"}), '200'],
-            "/openoapi/catalog/v1/servicetemplates/queryingrawdata":
+            "/api/catalog/v1/servicetemplates/queryingrawdata":
                 [0, json.JSONEncoder().encode(self.nsd_raw_data), '200'],
-            "/openoapi/catalog/v1/csars/6":
+            "/api/catalog/v1/csars/6":
                 [0, json.JSONEncoder().encode({"onBoardState": "onBoarded"}), '200'],
-            "/openoapi/catalog/v1/csars/5?operationalState=Enabled": [0, '{}', 200],
-            "/openoapi/catalog/v1/csars/5?onBoardState=onBoarded": [0, "OK", '200']}
+            "/api/catalog/v1/csars/5?operationalState=Enabled": [0, '{}', 200],
+            "/api/catalog/v1/csars/5?onBoardState=onBoarded": [0, "OK", '200']}
 
         def side_effect(*args):
             return mock_vals[args[4]]
         mock_call_req.side_effect = side_effect
 
         NfPackageModel(uuid="1", nfpackageid="6", vnfdid="7").save()
-        resp = self.client.post("/openoapi/nslcm/v1/nspackage", {"csarId": "5"}, format='json')
+        resp = self.client.post("/api/nslcm/v1/nspackage", {"csarId": "5"}, format='json')
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("success", resp.data["status"])
         self.assertEqual("CSAR(5) onBoarded successfully.", resp.data["statusDescription"])
     @mock.patch.object(restcall, 'call_req')
     def test_delete_csar_when_id_not_exist(self, mock_call_req):
         mock_call_req.return_value = [0, "", '204']
-        resp = self.client.delete("/openoapi/nslcm/v1/nspackage/6")
+        resp = self.client.delete("/api/nslcm/v1/nspackage/6")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("success", resp.data["status"])
         self.assertEqual("Delete CSAR(6) successfully.", resp.data["statusDescription"])
         NSDModel(id="7", nsd_id="2").save()
         NSInstModel(id="1", nspackage_id="7").save()
 
-        resp = self.client.delete("/openoapi/nslcm/v1/nspackage/7")
+        resp = self.client.delete("/api/nslcm/v1/nspackage/7")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("success", resp.data["status"])
         self.assertEqual("Set deletionPending to True of CSAR(7) successfully.",
 
         NSDModel(id="8", nsd_id="2").save()
 
-        resp = self.client.delete("/openoapi/nslcm/v1/nspackage/8")
+        resp = self.client.delete("/api/nslcm/v1/nspackage/8")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("success", resp.data["status"])
         self.assertEqual("Delete CSAR(8) successfully.", resp.data["statusDescription"])
 
     ###############################################################################################################
     def test_delete_pending_csar_when_id_not_exist(self):
-        resp = self.client.delete("/openoapi/nslcm/v1/nspackage/9/deletionpending")
+        resp = self.client.delete("/api/nslcm/v1/nspackage/9/deletionpending")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("success", resp.data["status"])
         self.assertEqual("Delete pending CSAR(9) successfully.", resp.data["statusDescription"])
     def test_delete_pending_csar_when_pending_is_false(self, mock_call_req):
         mock_call_req.return_value = [0, '{"deletionPending": "false"}', '200']
         NSDModel(id="10", nsd_id="2").save()
-        resp = self.client.delete("/openoapi/nslcm/v1/nspackage/10/deletionpending")
+        resp = self.client.delete("/api/nslcm/v1/nspackage/10/deletionpending")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("failed", resp.data["status"])
         self.assertEqual("CSAR(10) need not to be deleted.", resp.data["statusDescription"])
         mock_call_req.return_value = [0, '{"deletionPending": "true"}', '200']
         NSDModel(id="11", nsd_id="2").save()
         NSInstModel(id="1", nspackage_id="11").save()
-        resp = self.client.delete("/openoapi/nslcm/v1/nspackage/11/deletionpending")
+        resp = self.client.delete("/api/nslcm/v1/nspackage/11/deletionpending")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("failed", resp.data["status"])
         self.assertEqual("CSAR(11) is in using, cannot be deleted.", resp.data["statusDescription"])
             [0, '{"deletionPending": "true"}', '200'],
             [0, "OK", '204']]
         NSDModel(id="12", nsd_id="2").save()
-        resp = self.client.delete("/openoapi/nslcm/v1/nspackage/12/deletionpending")
+        resp = self.client.delete("/api/nslcm/v1/nspackage/12/deletionpending")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("success", resp.data["status"])
         self.assertEqual("Delete CSAR(12) successfully.", resp.data["statusDescription"])
         NSInstModel(id="1", nspackage_id="13", name="11").save()
         NSInstModel(id="2", nspackage_id="13", name="22").save()
 
-        resp = self.client.get("/openoapi/nslcm/v1/nspackage/13")
+        resp = self.client.get("/api/nslcm/v1/nspackage/13")
         self.assertEqual(resp.status_code, status.HTTP_200_OK)
         expect_data = {"nsInstanceInfo": [{"nsInstanceId": "1", "nsInstanceName": "11"},
                                           {"nsInstanceId": "2", "nsInstanceName": "22"}], "csarId": "13",
 
     ###############################################################################################################
     def test_disable_csar_when_id_not_exist_table(self):
-        resp = self.client.put("/openoapi/nslcm/v1/nspackage/14/disabled")
+        resp = self.client.put("/api/nslcm/v1/nspackage/14/disabled")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("failed", resp.data["status"])
         self.assertEqual("CSAR(14) does not exist.", resp.data["statusDescription"])
     def test_disable_csar_when_csar_is_disabled(self, mock_call_req):
         NSDModel(id="15", nsd_id="2").save()
         mock_call_req.return_value = [0, json.JSONEncoder().encode({"operationalState": "Disabled"}), '200']
-        resp = self.client.put("/openoapi/nslcm/v1/nspackage/15/disabled")
+        resp = self.client.put("/api/nslcm/v1/nspackage/15/disabled")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("failed", resp.data["status"])
         self.assertEqual("CSAR(15) already disabled.", resp.data["statusDescription"])
     def test_disable_csar_successfully(self, mock_call_req):
         NSDModel(id="16", nsd_id="2").save()
         mock_vals = {
-            "/openoapi/catalog/v1/csars/16":
+            "/api/catalog/v1/csars/16":
                 [0, json.JSONEncoder().encode({"operationalState": "Enabled"}), '200'],
-            "/openoapi/catalog/v1/csars/16?operationState=Disabled":
+            "/api/catalog/v1/csars/16?operationState=Disabled":
                 [0, "OK", '200']}
 
         def side_effect(*args):
             return mock_vals[args[4]]
         mock_call_req.side_effect = side_effect
 
-        resp = self.client.put("/openoapi/nslcm/v1/nspackage/16/disabled")
+        resp = self.client.put("/api/nslcm/v1/nspackage/16/disabled")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("success", resp.data["status"])
         self.assertEqual("Set operationState to Disabled of CSAR(16) successfully.", resp.data["statusDescription"])
 
     ###############################################################################################################
     def test_enable_csar_when_id_not_exist_table(self):
-        resp = self.client.put("/openoapi/nslcm/v1/nspackage/17/enabled")
+        resp = self.client.put("/api/nslcm/v1/nspackage/17/enabled")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("failed", resp.data["status"])
         self.assertEqual("CSAR(17) does not exist.", resp.data["statusDescription"])
     def test_enable_csar_when_csar_is_enabled(self, mock_call_req):
         NSDModel(id="18", nsd_id="2").save()
         mock_call_req.return_value = [0, json.JSONEncoder().encode({"operationalState": "Enabled"}), '200']
-        resp = self.client.put("/openoapi/nslcm/v1/nspackage/18/enabled")
+        resp = self.client.put("/api/nslcm/v1/nspackage/18/enabled")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("failed", resp.data["status"])
         self.assertEqual("CSAR(18) already enabled.", resp.data["statusDescription"])
     def test_enable_csar_successfully(self, mock_call_req):
         NSDModel(id="19", nsd_id="2").save()
         mock_vals = {
-            "/openoapi/catalog/v1/csars/19":
+            "/api/catalog/v1/csars/19":
                 [0, json.JSONEncoder().encode({"operationalState": "Disabled"}), '200'],
-            "/openoapi/catalog/v1/csars/19?operationState=Enabled":
+            "/api/catalog/v1/csars/19?operationState=Enabled":
                 [0, "OK", '200']}
 
         def side_effect(*args):
             return mock_vals[args[4]]
         mock_call_req.side_effect = side_effect
 
-        resp = self.client.put("/openoapi/nslcm/v1/nspackage/19/enabled")
+        resp = self.client.put("/api/nslcm/v1/nspackage/19/enabled")
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual("success", resp.data["status"])
         self.assertEqual("Set operationState to Enabled of CSAR(19) successfully.", resp.data["statusDescription"])
\ No newline at end of file
 
 from lcm.packages import views
 
 urlpatterns = [
-    url(r'^openoapi/nslcm/v1/nspackage/(?P<csarId>[0-9a-zA-Z\-\_]+)$', views.ns_access_csar, name='ns_access_csar'),
-    url(r'^openoapi/nslcm/v1/nspackage$', views.ns_on_boarding, name='ns_on_boarding'),
-    url(r'^openoapi/nslcm/v1/nspackage/(?P<csarId>[0-9a-zA-Z\-\_]+)/deletionpending$',
+    url(r'^api/nslcm/v1/nspackage/(?P<csarId>[0-9a-zA-Z\-\_]+)$', views.ns_access_csar, name='ns_access_csar'),
+    url(r'^api/nslcm/v1/nspackage$', views.ns_on_boarding, name='ns_on_boarding'),
+    url(r'^api/nslcm/v1/nspackage/(?P<csarId>[0-9a-zA-Z\-\_]+)/deletionpending$',
         views.ns_delete_pending_csar, name='ns_delete_pending_csar'),
-    url(r'^openoapi/nslcm/v1/nspackage/(?P<csarId>[0-9a-zA-Z\-\_]+)/(?P<operation>(disabled|enabled))$',
+    url(r'^api/nslcm/v1/nspackage/(?P<csarId>[0-9a-zA-Z\-\_]+)/(?P<operation>(disabled|enabled))$',
         views.ns_set_state_csar, name='ns_set_state_csar'),
-    url(r'^openoapi/nslcm/v1/vnfpackage/(?P<csarId>[0-9a-zA-Z\-\_]+)$', views.nf_access_csar, name='nf_access_csar'),
-    url(r'^openoapi/nslcm/v1/vnfpackage$', views.nf_on_boarding, name='nf_on_boarding'),
-    url(r'^openoapi/nslcm/v1/vnfpackage/(?P<csarId>[0-9a-zA-Z\-\_]+)/deletionpending$',
+    url(r'^api/nslcm/v1/vnfpackage/(?P<csarId>[0-9a-zA-Z\-\_]+)$', views.nf_access_csar, name='nf_access_csar'),
+    url(r'^api/nslcm/v1/vnfpackage$', views.nf_on_boarding, name='nf_on_boarding'),
+    url(r'^api/nslcm/v1/vnfpackage/(?P<csarId>[0-9a-zA-Z\-\_]+)/deletionpending$',
         views.nf_delete_pending_csar, name='nf_delete_pending_csar'), ]
 
 urlpatterns = format_suffix_patterns(urlpatterns)
 
 
 # [register]
 REG_TO_MSB_WHEN_START = True
-REG_TO_MSB_REG_URL = "/openoapi/microservices/v1/services"
+REG_TO_MSB_REG_URL = "/api/microservices/v1/services"
 REG_TO_MSB_REG_PARAM = {
     "serviceName": "nslcm",
     "version": "v1",
-    "url": "/openoapi/nslcm/v1",
+    "url": "/api/nslcm/v1",
     "protocol": "REST",
     "visualRange": "1",
     "nodes": [{
 
     description = models.CharField(db_column='DESCRIPTION', max_length=200, null=True, blank=True)
     version = models.CharField(db_column='VERSION', max_length=200, null=True, blank=True)
     nsd_model = models.TextField(db_column='NSDMODEL', max_length=65535, null=True, blank=True)
+    nsd_path = models.CharField(db_column='NSDPATH', max_length=300, null=True, blank=True)
 
 
 class NSInstModel(models.Model):
     vnfdversion = models.CharField(db_column='VNFDVERSION', max_length=255)
     vnfversion = models.CharField(db_column='VNFVERSION', max_length=255)
     vnfdmodel = models.TextField(db_column='VNFDMODEL', max_length=65535, blank=True, null=True)
+    vnfd_path = models.CharField(db_column='VNFDPATH', max_length=300, null=True, blank=True)
 
     class Meta:
         db_table = 'NFVO_NFPACKAGE'
 
 
 
 def query_csar_from_catalog(csar_id, key=''):
-    ret = req_by_msb("/openoapi/catalog/v1/csars/%s" % csar_id, "GET")
+    ret = req_by_msb("/api/catalog/v1/csars/%s" % csar_id, "GET")
     if ret[0] != 0:
         logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
         if ret[2] == '404':
 
 def query_rawdata_from_catalog(csar_id, input_parameters=[]):
     req_param = json.JSONEncoder().encode({"csarId": csar_id, "inputParameters": input_parameters})
-    ret = req_by_msb("/openoapi/catalog/v1/servicetemplates/queryingrawdata", "POST", req_param)
+    ret = req_by_msb("/api/catalog/v1/servicetemplates/queryingrawdata", "POST", req_param)
     if ret[0] != 0:
         logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
         raise NSLCMException("Failed to query rawdata of CSAR(%s) from catalog." % csar_id)
 
 
 def set_csar_state(csar_id, prop, val):
-    ret = req_by_msb("/openoapi/catalog/v1/csars/%s?%s=%s" % (csar_id, prop, val), "PUT")
+    ret = req_by_msb("/api/catalog/v1/csars/%s?%s=%s" % (csar_id, prop, val), "PUT")
     if ret[0] != 0:
         logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
         return [1, "Failed to set %s to %s of CSAR(%s)." % (prop, val, csar_id)]
 
 
 def delete_csar_from_catalog(csar_id):
-    ret = req_by_msb("/openoapi/catalog/v1/csars/%s" % csar_id, "DELETE")
+    ret = req_by_msb("/api/catalog/v1/csars/%s" % csar_id, "DELETE")
     if ret[0] != 0 and ret[2] != '404':
         logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
         set_csar_state(csar_id, "processState", P_STATUS_DELETEFAILED)
 
 
 def get_download_url_from_catalog(csar_id, relative_path):
-    ret = req_by_msb("/openoapi/catalog/v1/csars/%s/files?relativePath=%s" % (csar_id, relative_path), "GET")
+    ret = req_by_msb("/api/catalog/v1/csars/%s/files?relativePath=%s" % (csar_id, relative_path), "GET")
     if ret[0] != 0:
         logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
         raise NSLCMException("Failed to get download url of CSAR(%s)." % csar_id)
 
 
 def get_process_id(name, srv_template_id):
-    ret = req_by_msb('/openoapi/catalog/v1/servicetemplates/%s/operations' % srv_template_id, 'GET')
+    ret = req_by_msb('/api/catalog/v1/servicetemplates/%s/operations' % srv_template_id, 'GET')
     if ret[0] != 0:
         raise NSLCMException('Failed to get service[%s,%s] process id' % (name, srv_template_id))
     items = json.JSONDecoder().decode(ret[1])
     raise NSLCMException('service[%s,%s] process id not exist' % (name, srv_template_id))
 
 def get_servicetemplate_id(nsd_id):
-    ret = req_by_msb('/openoapi/catalog/v1/servicetemplates', 'GET')
+    ret = req_by_msb('/api/catalog/v1/servicetemplates', 'GET')
     if ret[0] != 0:
         raise NSLCMException('Failed to get servicetemplates info')
     stpls = json.JSONDecoder().decode(ret[1])
     raise NSLCMException('servicetemplate(%s) does not exist.' % nsd_id)
     
 def get_servicetemplate(nsd_id):
-    ret = req_by_msb('/openoapi/catalog/v1/servicetemplates', 'GET')
+    ret = req_by_msb('/api/catalog/v1/servicetemplates', 'GET')
     if ret[0] != 0:
         raise NSLCMException('Failed to get servicetemplates info')
     stpls = json.JSONDecoder().decode(ret[1])
 
 
 
 def get_vims():
-    ret = req_by_msb("/openoapi/extsys/v1/vims", "GET")
+    ret = req_by_msb("/api/extsys/v1/vims", "GET")
     if ret[0] != 0:
         logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
         raise NSLCMException("Failed to query vims from extsys.")
 
 
 def get_vim_by_id(vim_id):
-    ret = req_by_msb("/openoapi/extsys/v1/vims/%s" % vim_id, "GET")
+    ret = req_by_msb("/api/extsys/v1/vims/%s" % vim_id, "GET")
     if ret[0] != 0:
         logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
         raise NSLCMException("Failed to query vim(%s) from extsys." % vim_id)
 
 
 def get_sdn_controller_by_id(sdn_ontroller_id):
-    ret = req_by_msb("/openoapi/extsys/v1/sdncontrollers/%s" % sdn_ontroller_id, "GET")
+    ret = req_by_msb("/api/extsys/v1/sdncontrollers/%s" % sdn_ontroller_id, "GET")
     if ret[0] != 0:
         logger.error("Failed to query sdn ontroller(%s) from extsys. detail is %s.", sdn_ontroller_id, ret[1])
         raise NSLCMException("Failed to query sdn ontroller(%s) from extsys." % sdn_ontroller_id)
 
 
 def get_vnfm_by_id(vnfm_inst_id):
-    uri = '/openoapi/extsys/v1/vnfms/%s' % vnfm_inst_id
+    uri = '/api/extsys/v1/vnfms/%s' % vnfm_inst_id
     ret = req_by_msb(uri, "GET")
     if ret[0] > 0:
         logger.error('Send get VNFM information request to extsys failed.')
     return json.JSONDecoder().decode(ret[1])
 
 def select_vnfm(vnfm_type, vim_id):
-    uri = '/openoapi/extsys/v1/vnfms'
+    uri = '/api/extsys/v1/vnfms'
     ret = req_by_msb(uri, "GET")
     if ret[0] > 0:
         logger.error("Failed to call %s: %s", uri, ret[1])
 
 def call_from_ns_cancel_resource(res_type, instid):
     method = "DELETE"
     if res_type == 'vl':
-        uri = '/openoapi/nslcm/v1/ns/vls/%s' % instid
+        uri = '/api/nslcm/v1/ns/vls/%s' % instid
 
     elif res_type == 'sfc':
-        uri = '/openoapi/nslcm/v1/ns/sfcs/%s' % instid
+        uri = '/api/nslcm/v1/ns/sfcs/%s' % instid
     else:
         # vnf
         method = "POST"
-        uri = '/openoapi/nslcm/v1/ns/vnfs/%s' % instid
+        uri = '/api/nslcm/v1/ns/vnfs/%s' % instid
     req_param = {}
     ret = req_by_msb(uri, method, json.dumps(req_param))
     logger.info("[NS terminate] call vnfm [%s] result:%s" % (res_type, ret))
 
 
 
 def create_vl(req_param):
-    ret = req_by_msb("/openoapi/resmgr/v1/vl", "POST", json.JSONEncoder().encode(req_param))
+    ret = req_by_msb("/api/resmgr/v1/vl", "POST", json.JSONEncoder().encode(req_param))
     if ret[0] != 0:
         logger.error("Failed to create vl to resmgr. detail is %s.", ret[1])
         #raise NSLCMException('Failed to create vl to resmgr.')
 
 
 def delete_vl(vl_inst_id):
-    ret = req_by_msb("/openoapi/resmgr/v1/vl/%s" % vl_inst_id, "DELETE")
+    ret = req_by_msb("/api/resmgr/v1/vl/%s" % vl_inst_id, "DELETE")
     if ret[0] != 0:
         logger.error("Failed to delete vl(%s) to resmgr. detail is %s.", vl_inst_id, ret[1])
         #raise NSLCMException("Failed to delete vl(%s) to resmgr." % vl_inst_id)
 
 
 def delete_sfc(sfc_inst_id):
-    ret = req_by_msb("/openoapi/resmgr/v1/sfc/%s" % sfc_inst_id, "DELETE")
+    ret = req_by_msb("/api/resmgr/v1/sfc/%s" % sfc_inst_id, "DELETE")
     if ret[0] != 0:
         logger.error("Failed to delete sfc(%s) to resmgr. detail is %s.", sfc_inst_id, ret[1])
         #raise NSLCMException("Failed to delete sfc(%s) to resmgr." % sfc_inst_id)
 
 def grant_vnf(req_param):
     grant_data = json.JSONEncoder().encode(req_param)
-    ret = req_by_msb("/openoapi/resmgr/v1/resource/grant", "PUT", grant_data)
+    ret = req_by_msb("/api/resmgr/v1/resource/grant", "PUT", grant_data)
     if ret[0] != 0:
         logger.error("Failed to grant vnf to resmgr. detail is %s.", ret[1])
         #raise NSLCMException('Failed to grant vnf to resmgr.')
 
 
 def create_vnf(data):
-    uri = '/openoapi/resmgr/v1/vnf'
+    uri = '/api/resmgr/v1/vnf'
     req_param = json.JSONEncoder().encode({
         'orchVnfInstanceId': data['nf_inst_id'],
         'vnfInstanceId': data['vnfm_nf_inst_id'],
 
 
 def create_vnf_creation_info(data):
-    uri = '/openoapi/resmgr/v1/vnfinfo'
+    uri = '/api/resmgr/v1/vnfinfo'
     req_param = json.JSONEncoder().encode({
         'vnfInstanceId': data['nf_inst_id'],
         'nsId': data['ns_inst_id'],
 
 
 def terminate_vnf(vnf_inst_id):
-    uri = '/openoapi/resmgr/v1/vnf/%s' % vnf_inst_id
+    uri = '/api/resmgr/v1/vnf/%s' % vnf_inst_id
     req_param = {}
     ret = req_by_msb(uri, "DELETE", json.dumps(req_param))
     if ret[0] > 0:
 
 
 
 def delete_port_chain(req_param):
-    url = "/openoapi/sdncdriver/v1/delchain"
+    url = "/api/sdncdriver/v1/delchain"
     str = "delete port chain"
     delete_func(req_param, url, str)
 
 
 def delete_flow_classifier(req_param):
-    url = "/openoapi/sdncdriver/v1/delclassifier"
+    url = "/api/sdncdriver/v1/delclassifier"
     str = "delete flow classifier"
     delete_func(req_param, url, str)
 
 
 def delete_port_pair_group(req_param):
-    url = "/openoapi/sdncdriver/v1/delportpairgroup"
+    url = "/api/sdncdriver/v1/delportpairgroup"
     str = "delete port pair"
     delete_func(req_param, url, str)
 
 
 def delete_port_pair(req_param):
-    url = "/openoapi/sdncdriver/v1/delportpair"
+    url = "/api/sdncdriver/v1/delportpair"
     str = "delete port pair"
     delete_func(req_param, url, str)
 
 
 
 def create_flow_classfier(data):
-    url = "/openoapi/ztesdncdriver/v1/createflowclassfier"
+    url = "/api/ztesdncdriver/v1/createflowclassfier"
     str = "create flow classfier"
     return create(data, url, str)
 
 
 def create_port_pair(data):
-    url = "/openoapi/ztesdncdriver/v1/createportpair"
+    url = "/api/ztesdncdriver/v1/createportpair"
     str = "create port pair"
     return create(data, url, str)
 
 
 def create_port_pair_group(data):
-    url = "/openoapi/ztesdncdriver/v1/createportpairgroup"
+    url = "/api/ztesdncdriver/v1/createportpairgroup"
     str = "create port pair group"
     return create(data, url, str)
 
 
 def create_port_chain(data):
-    url = "/openoapi/ztesdncdriver/v1/createportchain"
+    url = "/api/ztesdncdriver/v1/createportchain"
     str = "create port chain"
     return create(data, url, str)
 
 
     """
     content = {"uri": uri, "inputs": inputs}
     content_str = json.JSONEncoder().encode(content)
-    ret = req_by_msb("/openoapi/tosca/v1/indirect/instance", "POST", content_str)
+    ret = req_by_msb("/api/tosca/v1/indirect/instance", "POST", content_str)
     if ret[0] != 0:
         raise NSLCMException("status code is %s, detail is %s.", ret[2], ret[1])
     if ret[2] != '200':
 
 
 def send_nf_init_request(vnfm_inst_id, req_param):
     vnfm = get_vnfm_by_id(vnfm_inst_id)
-    uri = '/openoapi/%s/v1/%s/vnfs' % (vnfm["type"], vnfm_inst_id)
+    uri = '/api/%s/v1/%s/vnfs' % (vnfm["type"], vnfm_inst_id)
     ret = req_by_msb(uri, "POST", req_param)
     if ret[0] != 0:
         logger.error("Failed to send nf init req:%s,%s", ret[2], ret[1])
 
 def send_nf_terminate_request(vnfm_inst_id, vnf_inst_id, req_param):
     vnfm = get_vnfm_by_id(vnfm_inst_id)
-    uri = '/openoapi/%s/v1/%s/vnfs/%s/terminate' % (vnfm["type"], vnfm_inst_id, vnf_inst_id)
+    uri = '/api/%s/v1/%s/vnfs/%s/terminate' % (vnfm["type"], vnfm_inst_id, vnf_inst_id)
     ret = req_by_msb(uri, "POST", req_param)
     if ret[0] > 0:
         logger.error("Failed to send nf terminate req:%s,%s", ret[2], ret[1])
 def query_vnfm_job(vnfm_inst_id, job_id, response_id=0):
     vnfm = get_vnfm_by_id(vnfm_inst_id)
     retry_time = 3
-    uri = '/openoapi/%s/v1/%s/jobs/%s?responseId=%s' % (vnfm["type"], 
+    uri = '/api/%s/v1/%s/jobs/%s?responseId=%s' % (vnfm["type"], 
         vnfm_inst_id, job_id, response_id)
     while retry_time > 0:
         rsp = req_by_msb(uri, "GET")
 
 def send_nf_scaling_request(vnfm_inst_id, vnf_inst_id, req_param):
     vnfm = get_vnfm_by_id(vnfm_inst_id)
-    uri = '/openoapi/%s/v1/%s/vnfs/%s/scale' % (vnfm["type"], vnfm_inst_id, vnf_inst_id)
+    uri = '/api/%s/v1/%s/vnfs/%s/scale' % (vnfm["type"], vnfm_inst_id, vnf_inst_id)
     ret = req_by_msb(uri, "POST", req_param)
     if ret[0] > 0:
         logger.error("Failed to send nf scale req:%s,%s", ret[2], ret[1])
 
 
 def workflow_run(content):
     content_str = json.JSONEncoder().encode(content)
-    ret = req_by_msb("/openoapi/wso2bpel/v1/process/instance", "POST", content_str)
+    ret = req_by_msb("/api/wso2bpel/v1/process/instance", "POST", content_str)
     if ret[0] != 0:
         raise NSLCMException("Status code is %s, detail is %s.", ret[2], ret[1])
     return json.JSONDecoder().decode(ret[1])
 
 from lcm.samples import views
 
 urlpatterns = [
-    url(r'^openoapi/nslcm/v1/mandb/(?P<modelName>[a-zA-Z\-]+)$', views.TablesList.as_view()),
+    url(r'^api/nslcm/v1/mandb/(?P<modelName>[a-zA-Z\-]+)$', views.TablesList.as_view()),
     url(r'^samples/$', views.SampleList.as_view()), ]