X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Flaunchpad%2Fapi%2Flaunchpad.js;h=d74bb3e2e5362aa8d14925d4ac48c26f1d5579e3;hp=02c28eb4fa6eb9939f26a6bfcb8b14666d2a7ba8;hb=038ea882b9b415fc47450f101fab43c934012340;hpb=e29efc315df33d546237e270470916e26df391d6 diff --git a/skyquake/plugins/launchpad/api/launchpad.js b/skyquake/plugins/launchpad/api/launchpad.js index 02c28eb4f..d74bb3e2e 100644 --- a/skyquake/plugins/launchpad/api/launchpad.js +++ b/skyquake/plugins/launchpad/api/launchpad.js @@ -1,5 +1,5 @@ /* - * + * * Copyright 2016 RIFT.IO Inc * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -790,8 +790,14 @@ NSR.addVnfrDataPromise = function(req, nsrs) { try { if (nsr["monitoring-param"]) { nsr["monitoring-param"].map(function(m) { - var vnfr = vnfrs[m["vnfr-id"]] || {}; + // var vnfr = vnfrs[m["vnfr-id"]] || {}; + // m["vnfr-name"] = vnfr['name'] ? vnfr['name'] : (vnfr['short-name'] ? vnfr['short-name'] : 'VNFR'); + var groupTag = m['group-tag']; + var vnfrId = m['vnfr-mon-param-ref'] && m['vnfr-mon-param-ref'][0] && m['vnfr-mon-param-ref'][0]['vnfr-id-ref']; + var vnfr = vnfrs[vnfrId] || {}; m["vnfr-name"] = vnfr['name'] ? vnfr['name'] : (vnfr['short-name'] ? vnfr['short-name'] : 'VNFR'); + m['group-tag'] = (groupTag ? (groupTag + ' - ') : '') + m['vnfr-name'] + (vnfrId ? ' (' + vnfrId.substring(1,8) + '...)' : ''); + }); } } catch (e) { @@ -809,9 +815,11 @@ NSR.addVnfrDataPromise = function(req, nsrs) { nsr['console-urls'] = nsr['console-urls'] ? nsr['console-urls'] : []; vnfr && vnfr['vdur'] && vnfr['vdur'].map(function(vdur) { - vdur['console-url'] && nsr['console-urls'].push({ + // This console-url is what front-end will hit to generate a real console-url + vdur['console-url'] = 'api/vnfr/' + vnfr.id + '/vdur/' + vdur.id + '/console-url'; + nsr['console-urls'].push({ id: vdur.id, - name: vdur.name, + name: vnfr.name, 'console-url': vdur['console-url'] }); }); @@ -1275,7 +1283,11 @@ VNFR.get = function(req) { vnfr['nfvi-metrics'] = buildNfviGraphs(vnfr.vdur); vnfr['epa-params'] = epa_aggregator(vnfr.vdur); vnfr['service-primitives-present'] = (vnfr['vnf-configuration'] && vnfr['vnf-configuration']['service-primitive'] && vnfr['vnf-configuration']['service-primitive'].length > 0) ? true : false; - }) + vnfr['vdur'] && vnfr['vdur'].map(function(vdur, vdurIndex) { + // This console-url is what front-end will hit to generate a real console-url + vdur['console-url'] = 'api/vnfr/' + vnfr.id + '/vdur/' + vdur.id + '/console-url'; + }); + }); return resolve(returnData); }; }); @@ -1625,10 +1637,40 @@ VDUR.get = function(req) { }) } +VDUR.consoleUrl = {}; +VDUR.consoleUrl.get = function(req) { + var api_server = req.query["api_server"]; + var vnfrID = req.params.vnfr_id; + var vdurID = req.params.vdur_id; + var uri = utils.confdPort(api_server); + uri += APIVersion + '/api/operational/vnfr-console/vnfr/' + vnfrID + '/vdur/' + vdurID + '/console-url' + '?deep'; + var headers = _.extend({}, constants.HTTP_HEADERS.accept.data, { + 'Authorization': req.get('Authorization') + }); + return new Promise(function(resolve, reject) { + request({ + url: uri, + method: 'GET', + headers: headers, + forever: constants.FOREVER_ON, + rejectUnauthorized: false, + }, function(error, response, body) { + if (utils.validateResponse('VDUR.consoleUrl.get', error, response, body, resolve, reject)) { + var data = JSON.parse(response.body); + var returnData = data; + return resolve({ + data: returnData, + statusCode: response.statusCode + }); + }; + }); + }) +} + CloudAccount.get = function(req) { var api_server = req.query["api_server"]; var uri = utils.confdPort(api_server); - uri += APIVersion + '/api/config/cloud/account?deep'; + uri += APIVersion + '/api/operational/cloud/account?deep'; var headers = _.extend({}, constants.HTTP_HEADERS.accept.collection, { 'Authorization': req.get('Authorization') }); @@ -1870,7 +1912,7 @@ DataCenters.get = function(req) { 'Authorization': req.get('Authorization') }); request({ - url: utils.confdPort(api_server) + APIVersion + '/api/operational/datacenters/cloud-accounts?deep', + url: utils.confdPort(api_server) + APIVersion + '/api/operational/datacenters?deep', method: 'GET', headers: requestHeaders, forever: constants.FOREVER_ON, @@ -1879,7 +1921,7 @@ DataCenters.get = function(req) { if (utils.validateResponse('DataCenters.get', error, response, body, resolve, reject)) { var returnData = {}; try { - data = JSON.parse(response.body)['rw-launchpad:cloud-accounts']; + data = JSON.parse(response.body)["rw-launchpad:datacenters"]["ro-accounts"]; data.map(function(c) { returnData[c.name] = c.datacenters; }) @@ -2015,6 +2057,7 @@ module.exports.catalog = Catalog; module.exports.nsr = NSR; module.exports.vnfr = VNFR; module.exports.vlr = VLR; +module.exports.vdur = VDUR; module.exports.rift = RIFT; module.exports.computeTopology = ComputeTopology; module.exports.networkTopology = NetworkTopology;