X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Flaunchpad%2Fapi%2Flaunchpad.js;h=17a9154c77ee8d8f99e68ded842d99053d6b1bb3;hp=1ba038bd1df0c2b701933c06b65138e23a800b0a;hb=5b780234242860acc1979bbdece817bcbfa918c8;hpb=5a83ca0dc3306b54e1db18b9e05e860fed21324e diff --git a/skyquake/plugins/launchpad/api/launchpad.js b/skyquake/plugins/launchpad/api/launchpad.js index 1ba038bd1..17a9154c7 100644 --- a/skyquake/plugins/launchpad/api/launchpad.js +++ b/skyquake/plugins/launchpad/api/launchpad.js @@ -48,8 +48,9 @@ APIConfig.NfviMetrics = ['vcpu', 'memory']; RPC.executeNSServicePrimitive = function(req) { var api_server = req.query['api_server']; return new Promise(function(resolve, reject) { + var uri = utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/operations/exec-ns-service-primitive'); var jsonData = { - "input": req.body + "input": utils.addProjectContextToRPCPayload(req, uri, req.body) }; var headers = _.extend({}, @@ -59,7 +60,7 @@ RPC.executeNSServicePrimitive = function(req) { } ); request({ - url: utils.confdPort(api_server) + APIVersion + '/api/operations/exec-ns-service-primitive', + url: uri, method: 'POST', headers: headers, forever: constants.FOREVER_ON, @@ -81,8 +82,10 @@ RPC.getNSServicePrimitiveValues = function(req) { // var nsr_id = req.body['nsr_id_ref']; // var nsConfigPrimitiveName = req.body['name']; return new Promise(function(resolve, reject) { + var uri = utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/operations/get-ns-service-primitive-values'); + var jsonData = { - "input": req.body + "input": utils.addProjectContextToRPCPayload(req, uri, req.body) }; var headers = _.extend({}, @@ -92,7 +95,7 @@ RPC.getNSServicePrimitiveValues = function(req) { } ); request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/operations/get-ns-service-primitive-values', + uri: uri, method: 'POST', headers: headers, forever: constants.FOREVER_ON, @@ -133,6 +136,11 @@ RPC.refreshAccountConnectionStatus = function(req) { } } jsonData.input[rpcInfo[Type].label] = Name; + + var uri = utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/operations/' + rpcInfo[Type].rpc); + + jsonData.input = utils.addProjectContextToRPCPayload(req, uri, jsonData.input); + var headers = _.extend({}, constants.HTTP_HEADERS.accept.data, constants.HTTP_HEADERS.content_type.data, { @@ -140,9 +148,8 @@ RPC.refreshAccountConnectionStatus = function(req) { } ); return new Promise(function(resolve, reject) { - request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/operations/' + rpcInfo[Type].rpc, + uri: uri, method: 'POST', headers: headers, forever: constants.FOREVER_ON, @@ -168,10 +175,11 @@ var DataCenters = {}; Catalog.get = function(req) { var api_server = req.query['api_server']; var results = {} + var projectPrefix = req.session.projectId ? "project-" : ""; return new Promise(function(resolve, reject) { Promise.all([ rp({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/nsd-catalog/nsd?deep', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/nsd-catalog/nsd?deep'), method: 'GET', headers: _.extend({}, constants.HTTP_HEADERS.accept.collection, { 'Authorization': req.session && req.session.authorization @@ -181,7 +189,7 @@ Catalog.get = function(req) { resolveWithFullResponse: true }), rp({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/vnfd-catalog/vnfd?deep', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/vnfd-catalog/vnfd?deep'), method: 'GET', headers: _.extend({}, constants.HTTP_HEADERS.accept.collection, { 'Authorization': req.session && req.session.authorization @@ -191,7 +199,7 @@ Catalog.get = function(req) { resolveWithFullResponse: true }), rp({ - uri: utils.confdPort(api_server) + APIVersion + '/api/operational/ns-instance-opdata?deep', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/operational/ns-instance-opdata?deep'), method: 'GET', headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { 'Authorization': req.session && req.session.authorization @@ -258,12 +266,12 @@ Catalog.get = function(req) { var vnfdCatalog = null; var vnfdDict = {}; if (result[1].body) { - vnfdCatalog = JSON.parse(result[1].body).collection['vnfd:vnfd'].map(function(v, i) { + vnfdCatalog = JSON.parse(result[1].body).collection[projectPrefix + 'vnfd:vnfd'].map(function(v, i) { vnfdDict[v.id] = v['short-name'] || v.name; }) } if (result[0].body) { - response[0].descriptors = JSON.parse(result[0].body).collection['nsd:nsd']; + response[0].descriptors = JSON.parse(result[0].body).collection[projectPrefix + 'nsd:nsd']; if (result[2].body) { var data = JSON.parse(result[2].body); if (data && data["nsr:ns-instance-opdata"] && data["nsr:ns-instance-opdata"]["rw-nsr:nsd-ref-count"]) { @@ -286,10 +294,10 @@ Catalog.get = function(req) { } }; if (result[1].body) { - response[1].descriptors = JSON.parse(result[1].body).collection['vnfd:vnfd']; + response[1].descriptors = JSON.parse(result[1].body).collection[projectPrefix + 'vnfd:vnfd']; }; // if (result[2].body) { - // response[2].descriptors = JSON.parse(result[2].body).collection['pnfd:pnfd']; + // response[2].descriptors = JSON.parse(result[2].body).collection[projectPrefix + 'pnfd:pnfd']; // }; resolve({ statusCode: response.statusCode || 200, @@ -315,7 +323,7 @@ Catalog.delete = function(req) { console.log('Deleting', catalogType, id, 'from', api_server); return new Promise(function(resolve, reject) { request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/' + catalogType + '-catalog/' + catalogType + '/' + id, + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/' + catalogType + '-catalog/' + catalogType + '/' + id), method: 'DELETE', headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { 'Authorization': req.session && req.session.authorization @@ -363,7 +371,7 @@ Catalog.getVNFD = function(req) { return new Promise(function(resolve, reject) { var url = utils.confdPort(api_server) + APIVersion + '/api/config/vnfd-catalog/vnfd' + (id ? '/' + id : '') + '?deep'; request({ - uri: url, + uri: utils.projectContextUrl(req, url), method: 'GET', headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { 'Authorization': authorization @@ -402,7 +410,7 @@ Catalog.create = function(req) { 'Authorization': req.session && req.session.authorization }); request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/' + catalogType + '-catalog', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/' + catalogType + '-catalog'), method: 'POST', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -432,7 +440,7 @@ Catalog.update = function(req) { 'Authorization': req.session && req.session.authorization }); request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/' + catalogType + '-catalog' + '/' + catalogType + '/' + id, + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/' + catalogType + '-catalog' + '/' + catalogType + '/' + id), method: 'PUT', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -508,9 +516,10 @@ NSR.get = function(req) { var nsrPromises = []; var api_server = req.query["api_server"]; var id = req.params.id; + var projectPrefix = req.session.projectId ? "project-" : ""; var nsdInfo = new Promise(function(resolve, reject) { request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/nsd-catalog/nsd?deep', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/nsd-catalog/nsd?deep'), method: 'GET', headers: _.extend({}, constants.HTTP_HEADERS.accept.collection, { 'Authorization': req.session && req.session.authorization @@ -523,7 +532,7 @@ NSR.get = function(req) { var isString = typeof(response.body) == "string"; if (isString && response.body == '') return resolve('empty'); data = isString ? JSON.parse(response.body) : response.body; - var nsdData = data.collection["nsd:nsd"]; + var nsdData = data.collection[projectPrefix + "nsd:nsd"]; if (nsdData.constructor.name == "Object") { nsdData = [nsdData]; } @@ -533,7 +542,7 @@ NSR.get = function(req) { }) var config = new Promise(function(resolve, reject) { request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/operational/ns-instance-config/nsr' + (id ? '/' + id : '') + '?deep', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/operational/ns-instance-config/nsr' + (id ? '/' + id : '') + '?deep'), method: 'GET', headers: _.extend({}, id ? constants.HTTP_HEADERS.accept.data : constants.HTTP_HEADERS.accept.collection, { 'Authorization': req.session && req.session.authorization @@ -557,7 +566,7 @@ NSR.get = function(req) { }); var opData = new Promise(function(resolve, reject) { request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/operational/ns-instance-opdata/nsr' + (id ? '/' + id : '') + '?deep', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/operational/ns-instance-opdata/nsr' + (id ? '/' + id : '') + '?deep'), method: 'GET', headers: _.extend({}, id ? constants.HTTP_HEADERS.accept.data : constants.HTTP_HEADERS.accept.collection, { 'Authorization': req.session && req.session.authorization @@ -863,7 +872,7 @@ NSR.create = function(req) { 'Authorization': req.session && req.session.authorization }); request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config'), method: 'POST', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -907,7 +916,7 @@ NSR.delete = function(req) { 'Authorization': req.session && req.session.authorization }); request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + id, + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + id), method: 'DELETE', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1003,7 +1012,7 @@ NSR.setStatus = function(req) { 'Authorization': req.session && req.session.authorization }); request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + id + '/admin-status/', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + id + '/admin-status/'), method: 'PUT', headers: requestHeaders, json: { @@ -1058,7 +1067,7 @@ NSR.createScalingGroupInstance = function(req) { ); request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + id + '/scaling-group/' + scaling_group_id + '/instance', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + id + '/scaling-group/' + scaling_group_id + '/instance'), method: 'POST', headers: requestHeaders, json: jsonData, @@ -1107,7 +1116,7 @@ NSR.deleteScalingGroupInstance = function(req) { ); request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + id + '/scaling-group/' + scaling_group_id + '/instance/' + scaling_instance_id, + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + id + '/scaling-group/' + scaling_group_id + '/instance/' + scaling_instance_id), method: 'DELETE', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1151,7 +1160,7 @@ NSR.nsd.vld.get = function(req) { ); request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + nsr_id + '/nsd/vld' + (vld_id ? '/' + vld_id : '') +'?deep', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + nsr_id + '/nsd/vld' + (vld_id ? '/' + vld_id : '') +'?deep'), method: 'GET', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1194,7 +1203,7 @@ NSR.nsd.vld.create = function(req) { 'Authorization': req.session && req.session.authorization }); request({ - uri: utils.confdPort(api_server) + '/api/config/ns-instance-config/nsr/' + nsr_id + '/nsd/vld' + (vld_id ? '/' + vld_id : ''), + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + '/api/config/ns-instance-config/nsr/' + nsr_id + '/nsd/vld' + (vld_id ? '/' + vld_id : '')), method: vld_id ? 'PUT' : 'POST', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1238,7 +1247,7 @@ NSR.nsd.vld.delete = function(req) { ); request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + nsr_id + '/nsd/vld/' + vld_id, + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/ns-instance-config/nsr/' + nsr_id + '/nsd/vld/' + vld_id), method: 'DELETE', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1264,7 +1273,7 @@ VNFR.get = function(req) { }); return new Promise(function(resolve, reject) { request({ - url: uri, + url: utils.projectContextUrl(req, uri), method: 'GET', headers: headers, forever: constants.FOREVER_ON, @@ -1346,7 +1355,7 @@ VNFR.getByNSR = function(req) { }); } else { request({ - url: uri, + url: utils.projectContextUrl(req, uri), method: 'GET', headers: headers, forever: constants.FOREVER_ON, @@ -1386,7 +1395,7 @@ VLR.get = function(req) { }); return new Promise(function(resolve, reject) { request({ - url: uri, + url: utils.projectContextUrl(req, uri), method: 'GET', headers: headers, forever: constants.FOREVER_ON, @@ -1410,7 +1419,7 @@ RIFT.api = function(req) { var url = req.path; return new Promise(function(resolve, reject) { request({ - url: uri + url + '?deep', + url: utils.projectContextUrl(req, uri + url + '?deep'), method: 'GET', headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { 'Authorization': req.session && req.session.authorization @@ -1438,7 +1447,7 @@ ComputeTopology.get = function(req) { return new Promise(function(resolve, reject) { var nsrPromise = new Promise(function(success, failure) { request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/operational/ns-instance-opdata/nsr/' + nsr_id + '?deep', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/operational/ns-instance-opdata/nsr/' + nsr_id + '?deep'), method: 'GET', headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { @@ -1487,7 +1496,7 @@ ComputeTopology.get = function(req) { vnfrPromises.push( new Promise(function(success, failure) { rp({ - uri: utils.confdPort(api_server) + APIVersion + '/api/operational/vnfr-catalog/vnfr/' + vnfrId + '?deep', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/operational/vnfr-catalog/vnfr/' + vnfrId + '?deep'), method: 'GET', headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { 'Authorization': req.session && req.session.authorization @@ -1585,7 +1594,7 @@ NetworkTopology.get = function(req) { }); return new Promise(function(resolve, reject) { request({ - url: uri, + url: utils.projectContextUrl(req, uri), method: 'GET', headers: headers, forever: constants.FOREVER_ON, @@ -1616,7 +1625,7 @@ VDUR.get = function(req) { }); return new Promise(function(resolve, reject) { request({ - url: uri, + url: utils.projectContextUrl(req, uri), method: 'GET', headers: headers, forever: constants.FOREVER_ON, @@ -1643,7 +1652,7 @@ VDUR.consoleUrl.get = function(req) { }); return new Promise(function(resolve, reject) { request({ - url: uri, + url: utils.projectContextUrl(req, uri), method: 'GET', headers: headers, forever: constants.FOREVER_ON, @@ -1670,7 +1679,7 @@ CloudAccount.get = function(req) { }); return new Promise(function(resolve, reject) { request({ - url: uri, + url: utils.projectContextUrl(req, uri), method: 'GET', headers: headers, forever: constants.FOREVER_ON, @@ -1707,7 +1716,7 @@ ConfigAgentAccount.get = function(req) { }); request({ - url: utils.confdPort(api_server) + APIVersion + '/api/operational/config-agent/account', + url: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/operational/config-agent/account'), type: 'GET', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1747,7 +1756,7 @@ ConfigAgentAccount.get = function(req) { }); request({ - url: utils.confdPort(api_server) + APIVersion + '/api/operational/config-agent/account/' + id, + url: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/operational/config-agent/account/' + id), type: 'GET', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1800,7 +1809,7 @@ ConfigAgentAccount.create = function(req) { }); request({ - url: utils.confdPort(api_server) + APIVersion + '/api/config/config-agent', + url: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/config-agent'), method: 'POST', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1839,7 +1848,7 @@ ConfigAgentAccount.update = function(req) { }); request({ - url: utils.confdPort(api_server) + APIVersion + '/api/config/config-agent/account/' + id, + url: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/config-agent/account/' + id), method: 'PUT', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1880,7 +1889,7 @@ ConfigAgentAccount.delete = function(req) { 'Authorization': req.session && req.session.authorization }); request({ - url: utils.confdPort(api_server) + APIVersion + '/api/config/config-agent/account/' + id, + url: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/config-agent/account/' + id), method: 'DELETE', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1906,7 +1915,7 @@ DataCenters.get = function(req) { 'Authorization': req.session && req.session.authorization }); request({ - url: utils.confdPort(api_server) + APIVersion + '/api/operational/datacenters?deep', + url: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/operational/datacenters?deep'), method: 'GET', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1947,7 +1956,7 @@ SSHkey.get = function(req) { 'Authorization': req.session && req.session.authorization }); request({ - url: utils.confdPort(api_server) + APIVersion + '/api/config/key-pair?deep', + url: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/key-pair?deep'), method: 'GET', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1981,7 +1990,7 @@ SSHkey.delete = function(req) { console.log('Deleting ssk-key', id); return new Promise(function(resolve, reject) { request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/key-pair/' + id, + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/key-pair/' + id), method: 'DELETE', headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { 'Authorization': req.session && req.session.authorization @@ -2002,7 +2011,7 @@ SSHkey.post = function(req) { var data = req.body; return new Promise(function(resolve, reject) { request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/key-pair/', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/key-pair/'), method: 'POST', headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { 'Authorization': req.session && req.session.authorization @@ -2025,7 +2034,7 @@ SSHkey.put = function(req) { var data = req.body; return new Promise(function(resolve, reject) { request({ - uri: utils.confdPort(api_server) + APIVersion + '/api/config/key-pair/', + uri: utils.projectContextUrl(req, utils.confdPort(api_server) + APIVersion + '/api/config/key-pair/'), method: 'PUT', headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { 'Authorization': req.session && req.session.authorization