diff options
Diffstat (limited to 'openo-portal')
5 files changed, 179 insertions, 131 deletions
diff --git a/openo-portal/portal-common/src/main/webapp/common/i18n/web-framework-menu-i18n-en-US.properties b/openo-portal/portal-common/src/main/webapp/common/i18n/web-framework-menu-i18n-en-US.properties index bb94f539..0e39ee75 100644 --- a/openo-portal/portal-common/src/main/webapp/common/i18n/web-framework-menu-i18n-en-US.properties +++ b/openo-portal/portal-common/src/main/webapp/common/i18n/web-framework-menu-i18n-en-US.properties @@ -37,4 +37,4 @@ openo_menu_performance_performance_query=Performance Query openo_menu_manage_view=Manage View openo_menu_manage_view_vim_manage=VIM Manage openo_menu_manage_view_vnfm=VNFM - +openo_menu_manage_view_sdn_controller=SDN Controller diff --git a/openo-portal/portal-common/src/main/webapp/common/json/menu_list.json b/openo-portal/portal-common/src/main/webapp/common/json/menu_list.json index e4b0c3ad..d99bce15 100644 --- a/openo-portal/portal-common/src/main/webapp/common/json/menu_list.json +++ b/openo-portal/portal-common/src/main/webapp/common/json/menu_list.json @@ -1,96 +1,102 @@ -{ - "parentMenus":[ - { - "id":"openo_menu_service", - "url":"", - "iconClass":"fa fa-comments" - }, - { - "id":"openo_menu_resource_mgr", - "url":"", - "iconClass":"fa fa-folder-open-o" - }, - { - "id":"openo_menu_user", - "url":"", - "iconClass":"fa fa-puzzle-piece" - }, - { - "id":"openo_menu_orchestrator", - "url":"", - "iconClass":"fa fa-folder-open-o" - }, - { - "id":"openo_menu_manage_view", - "url":"", - "iconClass":"fa fa-coffee" - }, - { - "id":"openo_menu_performance", - "url":"", - "iconClass":"fa fa-bar-chart" - } - ], - "childMenus":[ - { - "parentId":"openo_menu_service", - "id":"openo_menu_service_service_management", - "url":"../lifecyclemgr/gsolcmmain.html", - "iconClass":"fa fa-comments" - }, - { - "parentId":"openo_menu_resource_mgr", - "id":"openo_menu_resource_mgr", - "url":"../resmgr-sdn/resource.html", - "iconClass":"fa fa-folder-open-o" - }, - { - "parentId":"openo_menu_user", - "id":"openo_menu_user_user_management", - "url":"../user/user.html", - "iconClass":"fa fa-puzzle-piece" - }, - { - "parentId":"openo_menu_orchestrator", - "id":"openo_menu_orchestrator_model_design", - "url":"/winery/servicetemplates.html", - "iconClass":"fa fa-folder-open-o" - }, - { - "parentId":"openo_menu_orchestrator", - "id":"openo_menu_orchestrator_package", - "url":"../catalog/csarPackage.html", - "iconClass":"fa fa-folder-open-o" - }, - { - "parentId":"openo_menu_orchestrator", - "id":"openo_menu_orchestrator_service_template", - "url":"../catalog/template.html", - "iconClass":"fa fa-list-alt" - }, - { - "parentId":"openo_menu_manage_view", - "id":"openo_menu_manage_view_vim_manage", - "url":"../extsys/vim/vimView.html", - "iconClass":"fa fa-coffee" - }, - { - "parentId":"openo_menu_manage_view", - "id":"openo_menu_manage_view_vnfm", - "url":"../extsys/vnfm/vnfmView.html", - "iconClass":"fa fa-coffee" - }, - { - "parentId":"openo_menu_performance", - "id":"openo_menu_performance_performance_query", - "url":"../performance/performance_view.html", - "iconClass":"fa fa-bar-chart" - }, - { - "parentId":"openo_menu_performance", - "id":"openo_menu_alarm_alarm_query", - "url":"../performance/alarm_view.html", - "iconClass":"fa fa-bell" - } - ] +{
+ "parentMenus":[
+ {
+ "id":"openo_menu_service",
+ "url":"",
+ "iconClass":"fa fa-comments"
+ },
+ {
+ "id":"openo_menu_resource_mgr",
+ "url":"",
+ "iconClass":"fa fa-folder-open-o"
+ },
+ {
+ "id":"openo_menu_user",
+ "url":"",
+ "iconClass":"fa fa-puzzle-piece"
+ },
+ {
+ "id":"openo_menu_orchestrator",
+ "url":"",
+ "iconClass":"fa fa-folder-open-o"
+ },
+ {
+ "id":"openo_menu_manage_view",
+ "url":"",
+ "iconClass":"fa fa-coffee"
+ },
+ {
+ "id":"openo_menu_performance",
+ "url":"",
+ "iconClass":"fa fa-bar-chart"
+ }
+ ],
+ "childMenus":[
+ {
+ "parentId":"openo_menu_service",
+ "id":"openo_menu_service_service_management",
+ "url":"../lifecyclemgr/gsolcmmain.html",
+ "iconClass":"fa fa-comments"
+ },
+ {
+ "parentId":"openo_menu_resource_mgr",
+ "id":"openo_menu_resource_mgr",
+ "url":"../resmgr-sdn/resource.html",
+ "iconClass":"fa fa-folder-open-o"
+ },
+ {
+ "parentId":"openo_menu_user",
+ "id":"openo_menu_user_user_management",
+ "url":"../user/user.html",
+ "iconClass":"fa fa-puzzle-piece"
+ },
+ {
+ "parentId":"openo_menu_orchestrator",
+ "id":"openo_menu_orchestrator_model_design",
+ "url":"/winery/servicetemplates.html",
+ "iconClass":"fa fa-folder-open-o"
+ },
+ {
+ "parentId":"openo_menu_orchestrator",
+ "id":"openo_menu_orchestrator_package",
+ "url":"../catalog/csarPackage.html",
+ "iconClass":"fa fa-folder-open-o"
+ },
+ {
+ "parentId":"openo_menu_orchestrator",
+ "id":"openo_menu_orchestrator_service_template",
+ "url":"../catalog/template.html",
+ "iconClass":"fa fa-list-alt"
+ },
+ {
+ "parentId":"openo_menu_manage_view",
+ "id":"openo_menu_manage_view_vim_manage",
+ "url":"../extsys/vim/vimView.html",
+ "iconClass":"fa fa-coffee"
+ },
+ {
+ "parentId":"openo_menu_manage_view",
+ "id":"openo_menu_manage_view_vnfm",
+ "url":"../extsys/vnfm/vnfmView.html",
+ "iconClass":"fa fa-coffee"
+ },
+ {
+ "parentId":"openo_menu_manage_view",
+ "id":"openo_menu_manage_view_sdn_controller",
+ "url":"../extsys/sdncontroller/controller.html",
+ "iconClass":"fa fa-coffee"
+ },
+ {
+ "parentId":"openo_menu_performance",
+ "id":"openo_menu_performance_performance_query",
+ "url":"../performance/performance_view.html",
+ "iconClass":"fa fa-bar-chart"
+ },
+ {
+ "parentId":"openo_menu_performance",
+ "id":"openo_menu_alarm_alarm_query",
+ "url":"../performance/alarm_view.html",
+ "iconClass":"fa fa-bell"
+ }
+ ]
}
\ No newline at end of file diff --git a/openo-portal/portal-extsys/src/main/webapp/extsys/sdncontroller/controller.html b/openo-portal/portal-extsys/src/main/webapp/extsys/sdncontroller/controller.html index 59d35c73..40fe578f 100644 --- a/openo-portal/portal-extsys/src/main/webapp/extsys/sdncontroller/controller.html +++ b/openo-portal/portal-extsys/src/main/webapp/extsys/sdncontroller/controller.html @@ -291,7 +291,7 @@ class="required">*</span>
</label>
<div class="col-sm-7">
- <input type="text" id="description" name="description"
+ <input type="text" id="type" name="type"
class="form-control"/>
</div>
</div>
diff --git a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/gsolcmmain.html b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/gsolcmmain.html index 8b5677ea..9c2f8509 100644 --- a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/gsolcmmain.html +++ b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/gsolcmmain.html @@ -29,6 +29,7 @@ <script type="text/javascript" src="js/rest.js"></script>
<script type="text/javascript" src="js/bootstrap-table.min.js"></script>
<script type="text/javascript" src="js/gsolcm.js"></script>
+ <script type="text/javascript" src="../common/thirdparty/bootbox/bootbox.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.12.1.min.js"></script>
<link href="css/jquery-ui-1.12.1.min.css" rel="stylesheet" />
<script type="text/javascript" src="js/bootstrap-table-filter-control.min.js"></script>
diff --git a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js index 57643c8c..23f0a8d2 100644 --- a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js +++ b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js @@ -146,12 +146,14 @@ function fetchGsoTemplateInputParameters(templateId) { $.when( fetchTemplateParameterDefinitions(templateId), fetchGsoNestingTemplateParameters(templateId), - fetchVimInfo() + fetchVimInfo(), + fetchSdnController() ).then( - function (templateParameterResponse, nestingTempatesParas, vimInfoResponse) { + function (templateParameterResponse, nestingTempatesParas, vimInfoResponse, sdnControllersResponse) { var inputParas = concat(templateParameterResponse[0].inputs, nestingTempatesParas); var vims = translateToVimInfo(vimInfoResponse[0]); - templateParameters = translateToTemplateParameters(inputParas, vims); + var sdnControllers = translateToSdnControllers(sdnControllersResponse[0]); + templateParameters = translateToTemplateParameters(inputParas, vims, sdnControllers); defer.resolve(templateParameters); } ); @@ -205,7 +207,13 @@ function fetchGsoNestingTemplateParameters(templateId) { description: nodeTemplate.name + ' Location', required: 'true' }); - } + inputs.push({ + name: nodeTemplate.type + '.sdncontroller', + type: 'sdncontroller', + description: nodeTemplate.name + ' SDN Controller', + required: 'true' + }); + } nodeAggregatation.notify(inputs); } ); @@ -255,7 +263,7 @@ function pushAll(acc, array) { return result; } -function translateToTemplateParameters(inputs, vims) { +function translateToTemplateParameters(inputs, vims, controllers) { var inputParameters = []; var i; for (i = 0; i < inputs.length; i += 1) { @@ -269,17 +277,19 @@ function translateToTemplateParameters(inputs, vims) { value: inputs[i].defaultValue || '' }; } - return {changed: false, parameters: inputParameters, vimInfos: vims}; + return {changed: false, parameters: inputParameters, vimInfos: vims, sdnControllers: controllers}; } function fetchNfvoTemplateInputParameters(templateId) { var defer = $.Deferred(); $.when( fetchTemplateParameterDefinitions(templateId), - fetchVimInfo() + fetchVimInfo(), + fetchSdnController() ).then( - function (templateParameterResponse, vimInfoResponse) { + function (templateParameterResponse, vimInfoResponse, sdnControllerResponse) { var vims = translateToVimInfo(vimInfoResponse[0]); + var sdnControllers = translateToSdnControllers(sdnControllerResponse[0]); var inputParas = templateParameterResponse[0].inputs; inputParas.push({ name: 'location', @@ -287,7 +297,13 @@ function fetchNfvoTemplateInputParameters(templateId) { description: 'Location', required: 'true' }); - templateParameters = translateToTemplateParameters(inputParas, vims); + inputParas.push({ + name: 'sdncontroller', + type: 'sdncontroller', + description: 'SDN Controller', + required: 'true' + }); + templateParameters = translateToTemplateParameters(inputParas, vims, sdnControllers); defer.resolve(templateParameters); } ); @@ -300,7 +316,7 @@ function fetchSdnoTemplateInputParameters(templateId) { fetchTemplateParameterDefinitions(templateId) ).then( function (templateParameterResponse) { - templateParameters = translateToTemplateParameters(templateParameterResponse.inputs, []); + templateParameters = translateToTemplateParameters(templateParameterResponse.inputs, [], []); defer.resolve(templateParameters); } ); @@ -323,30 +339,50 @@ function fetchVimInfo() { }); } +function fetchSdnController() { + var sdnControllerUri = '/openoapi/extsys/v1/sdncontrollers'; + return $.ajax({ + type: "GET", + url: sdnControllerUri + }); +} + function translateToVimInfo(vims) { return vims.map(function (vim) { return { - vimId: vim.vimId, - vimName: vim.name + optionId: vim.vimId, + optionName: vim.name }; }); } +function translateToSdnControllers(controllers) { + return controllers.map(function(controller) { + return { + optionId: controller.sdnControllerId, + optionName: controller.name + }; + }); +} + function transformToComponents(templateParas) { var inputs = templateParas.parameters; var vimInfos = templateParas.vimInfos; + var sdnControllers = templateParas.sdnControllers; var components = ''; inputs.forEach(function (inputPara) { if(inputPara.type === 'location') { - components = components + generateLocationComponent(inputPara, vimInfos); - } else { + components = components + generateComboxComponent(inputPara, vimInfos); + } else if(inputPara.type === 'sdncontroller') { + components = components + generateComboxComponent(inputPara, sdnControllers); + } else { components = components + generateComponent(inputPara); } }); return components; } -function generateLocationComponent(inputPara, vimInfos) { +function generateComboxComponent(inputPara, items) { var component = '<div class="form-group" style="margin-left:25px;margin-bottom:15px;">' + '<label class="col-sm-3 control-label">' + '<span>'+ inputPara.description +'</span>' + @@ -354,17 +390,17 @@ function generateLocationComponent(inputPara, vimInfos) { '</label>' + '<div class="col-sm-7">' + '<select class="form-control" style ="padding-top: 0px;padding-bottom: 0px;"' + - ' id="' + inputPara.id + '" name="vim_location">' + - transformToOptions(vimInfos) + + ' id="' + inputPara.id + '" name="'+ inputPara.name +'">' + + transformToOptions(items) + '</select></div></div>'; return component; } -function transformToOptions(vims) { +function transformToOptions(items) { var options = '<option value="select">--select--</option>'; var i; - for (i = 0; i < vims.length; i += 1) { - var option = '<option value="' + vims[i].vimId + '">' + vims[i].vimName + '</option>'; + for (i = 0; i < items.length; i += 1) { + var option = '<option value="' + items[i].optionId + '">' + items[i].optionName + '</option>'; options = options + option; } return options; @@ -502,21 +538,26 @@ function formatDate(date) { } function deleteNe(rowId, row) { - var instanceId = row.serviceId; - var serviceType = row.serviceType; - var gatewayService = '/openoapi/servicegateway/v1/services/' + instanceId + '/terminate'; - var remove = function () { - $('#sai').bootstrapTable('remove', {field: 'serviceId', values: [instanceId]}); + var deleteHandle = function(result) { + if(result) { + var instanceId = row.serviceId; + var serviceType = row.serviceType; + var gatewayService = '/openoapi/servicegateway/v1/services/' + instanceId + '/terminate'; + var remove = function () { + $('#sai').bootstrapTable('remove', {field: 'serviceId', values: [instanceId]}); + }; + if(serviceType === 'GSO') { + deleteGsoServiceInstance(gatewayService, instanceId, remove); + } else if (serviceType === 'NFVO') { + var nfvoNsUri = '/openoapi/nslcm/v1/ns'; + deleteNonGsoServiceInstance(gatewayService, nfvoNsUri, instanceId, remove); + } else if (serviceType === 'SDNO') { + var sdnoNsUri = '/openoapi/sdnonslcm/v1/ns'; + deleteNonGsoServiceInstance(gatewayService, sdnoNsUri, instanceId, remove); + } + } }; - if(serviceType === 'GSO') { - deleteGsoServiceInstance(gatewayService, instanceId, remove) - } else if (serviceType === 'NFVO') { - var nfvoNsUri = '/openoapi/nslcm/v1/ns'; - deleteNonGsoServiceInstance(gatewayService, nfvoNsUri, instanceId, remove); - } else if (serviceType === 'SDNO') { - var sdnoNsUri = '/openoapi/sdnonslcm/v1/ns'; - deleteNonGsoServiceInstance(gatewayService, sdnoNsUri, instanceId, remove); - } + bootbox.confirm("Do you confirm to delete service?", deleteHandle); } function deleteGsoServiceInstance(gatewayService, instanceId, remove) { |