Merge branch 'master' of https://osm.etsi.org/gerrit/osm/UI
[osm/UI.git] / skyquake / plugins / launchpad / api / launchpad.js
index 02c28eb..d74bb3e 100644 (file)
@@ -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;