\r
"use strict";\r
\r
-var MsoService = function($http, $log, PropertyService, AaiService, UtilityService, COMPONENT, FIELD, $q) {\r
+var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityService, COMPONENT, FIELD) {\r
\r
var _this = this;\r
\r
}\r
};\r
\r
- var activateInstance = function(instance, model) {\r
- var deferred = $q.defer();\r
+ var buildPayloadForServiceActivateDeactivate = function (model, userId, aicZone) {\r
+ var requestDetails = {\r
+ "modelInfo": {\r
+ "modelType": "service",\r
+ "modelInvariantId": model.service.invariantUuid,\r
+ "modelVersionId": model.service.uuid,\r
+ "modelName": model.service.name,\r
+ "modelVersion": model.service.version\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": userId\r
+ },\r
+ "requestParameters": {\r
+ "userParams": [{\r
+ "name": "aic_zone",\r
+ "value": aicZone\r
+ }]\r
+ }\r
+ };\r
\r
- AaiService.getLoggedInUserID(function (response) {\r
- var userID = response.data;\r
+ $log.debug("Service Activate/Deactivate payload", requestDetails);\r
\r
- AaiService.getAicZoneForPNF(instance.globalCustomerId, model.service.serviceType, instance.serviceInstanceId, function (aicZone) {\r
+ return requestDetails;\r
\r
- var requestDetails = {\r
- "modelInstanceId": serviceInstanceId,\r
- "requestDetails": {\r
- "modelInfo": {\r
- "modelType": "service",\r
- "modelInvariantId": model.service.invariantUuid,\r
- "modelVersionId": model.service.uuid,\r
- "modelName": model.service.name,\r
- "modelVersion": model.service.version\r
- },\r
- "requestInfo": {\r
- "source": "VID",\r
- "requestorId": userID\r
- },\r
- "requestParameters": {\r
- "userParams": {\r
- "name": "aic_zone",\r
- "value": aicZone\r
- }\r
- }\r
- }\r
- };\r
+ };\r
\r
- console.log("requestDetails", requestDetails);\r
+ var activateInstance = function(requestParams) {\r
+ var requestDetails = buildPayloadForServiceActivateDeactivate(requestParams.model, requestParams.userId, requestParams.aicZone);\r
\r
- $http.post(COMPONENT.MSO_ACTIVATE_INSTANCE.replace('@serviceInstanceId', requestDetails.modelInstanceId),\r
- requestDetails.requestDetails)\r
- .success(function (response) {\r
- deferred.resolve({data: response});\r
- })\r
- .error(function(data, status, headers, config) {\r
- deferred.reject({message: data, status: status});\r
- });\r
+ return sendPostRequest(COMPONENT.MSO_ACTIVATE_INSTANCE.replace('@serviceInstanceId', requestParams.instance.serviceInstanceId),\r
+ requestDetails);\r
+ };\r
+\r
+ var deactivateInstance = function(requestParams) {\r
+ var requestDetails = buildPayloadForServiceActivateDeactivate(requestParams.model, requestParams.userId, requestParams.aicZone);\r
+\r
+ return sendPostRequest(COMPONENT.MSO_DEACTIVATE_INSTANCE.replace('@serviceInstanceId', requestParams.instance.serviceInstanceId),\r
+ requestDetails);\r
+ };\r
+\r
+ var sendPostRequest = function(url, requestDetails) {\r
+ var deferred = $q.defer();\r
+ if (url) {\r
+ $http.post(url, {\r
+ requestDetails: requestDetails\r
+ }, {\r
+ timeout: PropertyService.getServerResponseTimeoutMsec()\r
+ }).success(function (response) {\r
+ deferred.resolve({data: response});\r
+ }).error(function (data, status) {\r
+ deferred.reject({message: data, status: status});\r
});\r
- });\r
+ }\r
\r
return deferred.promise;\r
};\r
getFormattedSingleGetOrchestrationRequestResponse : function (response) {\r
UtilityService.checkUndefined(COMPONENT.ENTITY, response.data.entity);\r
UtilityService.checkUndefined(COMPONENT.STATUS, response.data.status);\r
- checkValidStatus(response);\r
+ //checkValidStatus(response);\r
\r
var message = "";\r
+ if (! (response && response.data && response.data.entity)) {\r
+ return message;\r
+ }\r
if ( UtilityService.hasContents (response.data.entity.request) ) {\r
var request = response.data.entity.request;\r
message += addListEntry(FIELD.ID.REQUEST_ID, request.requestId) + ",\n";\r
+ "\n\n";\r
}\r
}\r
+ else {\r
+ if (UtilityService.hasContents(response.data.status) && UtilityService.hasContents(response.data.entity)) {\r
+ message = this.getFormattedCommonResponse(response) + "\n";\r
+ }\r
+ }\r
return message;\r
},\r
getManualTasks : function(requestId) {\r
.catch(UtilityService.runHttpErrorHandler);\r
},\r
completeTask: function(taskId, taskToComplete) {\r
- $log.debug("MsoService:completeTask: taskId: "\r
- + taskId);\r
- AaiService.getLoggedInUserID(function (response) {\r
- var attuid = response.data;\r
- var source = "VID";\r
- var data = {\r
- requestDetails: {\r
- requestInfo: {\r
- source: source,\r
- responseValue: taskToComplete,\r
- requestorId: attuid\r
+ var promise = new Promise(function (resolve, reject) {\r
+ $log.debug("MsoService:completeTask: taskId: "\r
+ + taskId);\r
+ AaiService.getLoggedInUserID(function (response) {\r
+ var attuid = response.data;\r
+ var source = "VID";\r
+ var data = {\r
+ requestDetails: {\r
+ requestInfo: {\r
+ source: source,\r
+ responseValue: taskToComplete,\r
+ requestorId: attuid\r
+ }\r
}\r
- }\r
- };\r
+ };\r
\r
- return $http.post(\r
- "mso/mso_post_man_task/" + taskId, data,\r
- {\r
- timeout: PropertyService\r
- .getServerResponseTimeoutMsec()\r
+ return $http.post(\r
+ "mso/mso_post_man_task/" + taskId, data,\r
+ {\r
+ timeout: PropertyService\r
+ .getServerResponseTimeoutMsec()\r
+ }).then(function (response) {\r
+ resolve(response);\r
})\r
- .catch(UtilityService.runHttpErrorHandler);\r
+ .catch(UtilityService.runHttpErrorHandler);\r
+ }, function () {\r
+ reject();\r
+ });\r
});\r
+\r
+ return promise;\r
},\r
showResponseContentError : function(error, showFunction) {\r
switch (error.type) {\r
showFunction(FIELD.ERROR.SYSTEM_FAILURE);\r
}\r
},\r
- activateInstance: activateInstance\r
+ activateInstance: activateInstance,\r
+ deactivateInstance: deactivateInstance,\r
+\r
+\r
+ createConfigurationInstance: function(requestParams) {\r
+\r
+ const modelInfoOf = function (instance) {\r
+ const modelInfo = {\r
+ "modelType": "vnf",\r
+ "modelInvariantId": instance.properties['model-invariant-id'],\r
+ "modelVersionId": instance.properties['model-version-id'],\r
+ "modelName": instance.properties['model-name'],\r
+ "modelVersion": instance.properties['model-version'],\r
+ "modelCustomizationId": instance.properties['model-customization-id']\r
+ };\r
+\r
+ $log.debug("model info from instance", instance);\r
+ $log.debug("model info to model", modelInfo);\r
+\r
+ return modelInfo\r
+ };\r
+\r
+ var payload = {\r
+ "requestDetails": {\r
+ "modelInfo": {\r
+ "modelType": "configuration",\r
+ "modelInvariantId": requestParams.configurationModelInfo.modelInvariantId,\r
+ "modelVersionId": requestParams.configurationModelInfo.modelNameVersionId,\r
+ "modelName": requestParams.configurationModelInfo.modelName, // "Port Mirroring Configuration"\r
+ "modelVersion": requestParams.configurationModelInfo.modelVersion,\r
+ "modelCustomizationId": requestParams.configurationModelInfo.customizationUuid,\r
+ "modelCustomizationName": requestParams.configurationModelInfo.modelCustomizationName\r
+ },\r
+ "cloudConfiguration": {\r
+ // "tenantId": ????\r
+ "lcpCloudRegionId": requestParams.portMirroringConfigFields.lcpRegion.value\r
+ },\r
+ "requestInfo": {\r
+ "instanceName": requestParams.portMirroringConfigFields.instanceName.value,\r
+ "source": "VID",\r
+ "requestorId": requestParams.attuuid\r
+ },\r
+ "relatedInstanceList": [\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.topServiceInstanceId,\r
+ "modelInfo": {\r
+ "modelType": "service", // relatedTopModelsInfo.modelType\r
+ "modelInvariantId": requestParams.relatedTopModelsInfo.modelInvariantId,\r
+ "modelVersionId": requestParams.relatedTopModelsInfo.modelNameVersionId,\r
+ "modelName": requestParams.relatedTopModelsInfo.modelName,\r
+ "modelVersion": requestParams.relatedTopModelsInfo.modelVersion\r
+ }\r
+ }\r
+ },\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.portMirroringConfigFields.sourceInstance.properties['vnf-id'],\r
+ "instanceDirection": "source",\r
+ "modelInfo": modelInfoOf(requestParams.portMirroringConfigFields.sourceInstance)\r
+ }\r
+ },\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.configurationByPolicy ?\r
+ requestParams.portMirroringConfigFields.destinationInstance.properties['pnfName']:\r
+ requestParams.portMirroringConfigFields.destinationInstance.properties['vnf-id'],\r
+ "instanceDirection": "destination",\r
+ "modelInfo":\r
+ requestParams.configurationByPolicy ?\r
+ {"modelType": "pnf"} :\r
+ modelInfoOf(requestParams.portMirroringConfigFields.destinationInstance)\r
+ }\r
+ }\r
+ ],\r
+ "requestParameters": {\r
+ "userParams": []\r
+ }\r
+ }\r
+ };\r
+\r
+ $log.debug("payload", payload);\r
+\r
+ var deferred = $q.defer();\r
+ $http.post([\r
+ 'mso','mso_create_configuration_instance',\r
+ requestParams.topServiceInstanceId,\r
+ 'configurations',''\r
+ ].join(COMPONENT.FORWARD_SLASH),\r
+ payload)\r
+ .success(function (response) {\r
+ deferred.resolve({data : response});\r
+ }).error(function (data, status) {\r
+ deferred.reject({message: data, status: status});\r
+ });\r
+ return deferred.promise;\r
+ },\r
+\r
+ toggleConfigurationStatus: function(requestParams) {\r
+\r
+ var requestDetails = {\r
+ "modelInfo": requestParams.configurationModel,\r
+ "cloudConfiguration": {\r
+ "lcpCloudRegionId": "mdt1"\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": requestParams.userId\r
+ },\r
+ "relatedInstanceList": [{\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.serviceInstanceId,\r
+ "modelInfo": requestParams.serviceModel\r
+ }\r
+ }],\r
+ "requestParameters": {\r
+ "userParams": []\r
+ }\r
+ };\r
+\r
+ var url;\r
+ switch (requestParams.configStatus) {\r
+ case FIELD.STATUS.AAI_CREATED:\r
+ case FIELD.STATUS.AAI_INACTIVE:\r
+ url = "mso/mso_activate_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ case FIELD.STATUS.AAI_ACTIVE:\r
+ url = "mso/mso_deactivate_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ }\r
+\r
+ return sendPostRequest(url, requestDetails);\r
+ },\r
+\r
+ togglePortStatus: function(requestParams) {\r
+ var requestDetails = {\r
+ "modelInfo": requestParams.configurationModel,\r
+ "cloudConfiguration": {\r
+ "lcpCloudRegionId": "mdt1"\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": requestParams.userId\r
+ },\r
+ "relatedInstanceList": [\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.serviceInstanceId,\r
+ "modelInfo": requestParams.serviceModel\r
+ }\r
+ },\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.portId,\r
+ "instanceDirection": "source",\r
+ "modelInfo": {\r
+ "modelType": "connectionPoint"\r
+ }\r
+ }\r
+ }\r
+ ]\r
+ };\r
+\r
+ var url;\r
+ switch (requestParams.portStatus) {\r
+ case FIELD.STATUS.AAI_ENABLED:\r
+ url = "mso/mso_disable_port_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ case FIELD.STATUS.AAI_DISABLED:\r
+ url = "mso/mso_enable_port_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ }\r
+\r
+ return sendPostRequest(url, requestDetails);\r
+ },\r
+\r
+ buildPayloadForAssociateDissociate: function(serviceModelInfo, attuuid, instanceId, pnf) {\r
+ var payload = {\r
+ "modelInfo": {\r
+ "modelType": "service",\r
+ "modelInvariantId": serviceModelInfo.invariantUuid,\r
+ "modelVersionId": serviceModelInfo.uuid,\r
+ "modelName": serviceModelInfo.name,\r
+ "modelVersion": serviceModelInfo.version\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": attuuid\r
+ },\r
+ "relatedInstanceList": [\r
+ {\r
+ "relatedInstance": {\r
+ "instanceName": pnf,\r
+ "modelInfo": {\r
+ "modelType": "pnf"\r
+ }\r
+ }\r
+ }],\r
+ "requestParameters": {\r
+ "aLaCarte": true\r
+ }\r
+ };\r
+\r
+ $log.debug("payload", payload);\r
+\r
+ return payload;\r
+ },\r
+ associatePnf: function(requestParams) {\r
+\r
+ var payload = this.buildPayloadForAssociateDissociate(requestParams.serviceModelInfo, requestParams.attuuid, requestParams.instanceId, requestParams.pnf);\r
+ return sendPostRequest([\r
+ COMPONENT.MSO, COMPONENT.MSO_CREATE_REALATIONSHIP,\r
+ requestParams.instanceId,\r
+ ''\r
+ ].join(COMPONENT.FORWARD_SLASH), payload);\r
+ },\r
+ dissociatePnf: function(requestParams) {\r
+\r
+ var payload = this.buildPayloadForAssociateDissociate(requestParams.serviceModelInfo, requestParams.attuuid, requestParams.serviceInstanceId, requestParams.pnf);\r
+\r
+ return sendPostRequest([\r
+ COMPONENT.MSO, COMPONENT.MSO_REMOVE_RELATIONSHIP,\r
+ requestParams.serviceInstanceId,\r
+ ''\r
+ ].join(COMPONENT.FORWARD_SLASH), payload);\r
+ }\r
}\r
};\r
\r
-appDS2.factory("MsoService", [ "$http", "$log", "PropertyService",\r
- "AaiService", "UtilityService", "COMPONENT", "FIELD", "$q", MsoService ]);\r
+appDS2.factory("MsoService", MsoService );\r