Added param requestId to query 1 row 69/82169/2
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Wed, 13 Mar 2019 19:43:33 +0000 (15:43 -0400)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Wed, 13 Mar 2019 20:04:51 +0000 (16:04 -0400)
Added param requestId to uniquely query 1 row from model distribution
status db.

Change-Id: Ice8db174166e6a00d211f191dcf5537eef729127
Issue-ID: SO-1651
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
adapters/mso-requests-db-adapter/src/test/java/org/onap/so/adapters/requestsdb/client/RequestsDbClientTest.java
adapters/mso-requests-db-adapter/src/test/resources/db/migration/afterMigrate.sql
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/helpers/SDCClientHelper.java
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironment.java
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironmentTest.java
mso-api-handlers/mso-requests-db-repositories/src/main/java/org/onap/so/db/request/data/repository/OperationalEnvServiceModelStatusRepository.java
mso-api-handlers/mso-requests-db-repositories/src/test/java/org/onap/so/db/request/OperationalEnvServiceModelStatusTest.java
mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/client/RequestsDbClient.java

index efb5932..304b025 100644 (file)
@@ -218,11 +218,17 @@ public class RequestsDbClientTest {
     }
 
     @Test
-    public void findOneByOperationalEnvIdAndServiceModelVersionIdTest(){
-        OperationalEnvServiceModelStatus operationalEnvServiceModelStatus =requestsDbClient.findOneByOperationalEnvIdAndServiceModelVersionId("1234","TEST1234");
+    public void findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdTest(){
+        OperationalEnvServiceModelStatus operationalEnvServiceModelStatus =requestsDbClient.findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId("1234","TEST1234", "00032ab7-3fb3-42e5-965d-8ea592502017");
         assertNotNull(operationalEnvServiceModelStatus);
         assertEquals("1234",operationalEnvServiceModelStatus.getOperationalEnvId());
         assertEquals("TEST1234",operationalEnvServiceModelStatus.getServiceModelVersionId());
+        
+        OperationalEnvServiceModelStatus operationalEnvServiceModelStatus1 =requestsDbClient.findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId("1234","TEST1235", "00032ab7-3fb3-42e5-965d-8ea592502018");
+        assertNotNull(operationalEnvServiceModelStatus1);
+        assertEquals("00032ab7-3fb3-42e5-965d-8ea592502018",operationalEnvServiceModelStatus1.getRequestId());
+        assertEquals("1234",operationalEnvServiceModelStatus1.getOperationalEnvId());
+        assertEquals("TEST1235",operationalEnvServiceModelStatus1.getServiceModelVersionId());        
     }
 
     @Test
@@ -238,5 +244,7 @@ public class RequestsDbClientTest {
         OperationalEnvDistributionStatus operationalEnvDistributionStatus =requestsDbClient.getDistributionStatusById("111");
         assertNotNull(operationalEnvDistributionStatus);
         assertEquals("111",operationalEnvDistributionStatus.getDistributionId());
+        assertEquals("ERROR",operationalEnvDistributionStatus.getDistributionIdErrorReason());
+        assertEquals("00032ab7-3fb3-42e5-965d-8ea592502017",operationalEnvDistributionStatus.getRequestId());        
     }
 }
index de1ae85..48d5895 100644 (file)
@@ -43,6 +43,9 @@ VALUES
 INSERT INTO activate_operational_env_service_model_distribution_status (OPERATIONAL_ENV_ID, SERVICE_MODEL_VERSION_ID, REQUEST_ID,SERVICE_MOD_VER_FINAL_DISTR_STATUS,RECOVERY_ACTION,RETRY_COUNT_LEFT,WORKLOAD_CONTEXT, CREATE_TIME, MODIFY_TIME)
 VALUES
 ('1234', 'TEST1235', '00032ab7-3fb3-42e5-965d-8ea592502017', "Test", "Test", 2, 'DEFAULT', '2018-08-14 16:50:59',  '2018-08-14 16:50:59');
+INSERT INTO activate_operational_env_service_model_distribution_status (OPERATIONAL_ENV_ID, SERVICE_MODEL_VERSION_ID, REQUEST_ID,SERVICE_MOD_VER_FINAL_DISTR_STATUS,RECOVERY_ACTION,RETRY_COUNT_LEFT,WORKLOAD_CONTEXT, CREATE_TIME, MODIFY_TIME)
+VALUES
+('1234', 'TEST1235', '00032ab7-3fb3-42e5-965d-8ea592502018', "Test", "Test", 2, 'DEFAULT', '2018-08-14 16:50:59',  '2018-08-14 16:50:59');
 
 INSERT INTO `activate_operational_env_per_distributionid_status` (`DISTRIBUTION_ID`, `DISTRIBUTION_ID_STATUS`, `DISTRIBUTION_ID_ERROR_REASON`, `CREATE_TIME`, `MODIFY_TIME`, `OPERATIONAL_ENV_ID`, `SERVICE_MODEL_VERSION_ID`, `REQUEST_ID`)
 VALUES
index 31c65e1..9303e12 100644 (file)
@@ -82,7 +82,6 @@ public class SDCClientHelper {
 
                try {
                        String urlString = this.buildUriBuilder(serviceModelVersionId, operationalEnvironmentId);
-                       logger.debug("Url ASDC Activate request: {}", urlString);
                        String jsonPayload = this.buildJsonWorkloadContext(workloadContext);
                        String basicAuthCred = getBasicAuth();
 
@@ -158,7 +157,6 @@ public class SDCClientHelper {
                        enhancedAsdcResponseJsonObj.put("statusCode", Integer.toString(statusCode));
                        enhancedAsdcResponseJsonObj.put("messageId", "");
                        enhancedAsdcResponseJsonObj.put("message", "Success");
-                       logger.debug("Url ASDC Activate response: {} {}", "distributionId ", sdcResponseJsonObj.get("distributionId"));
 
                } else {  // error
                        if (sdcResponseJsonObj.has("requestError") ) {
index 219a2ef..352bf8f 100644 (file)
@@ -86,26 +86,31 @@ public class ActivateVnfStatusOperationalEnvironment {
         */
        public void execute(String requestId, CloudOrchestrationRequest request) throws ApiException {
 
-
-               String operationalEnvironmentId = "";
+                try {
+               
+                       String operationalEnvironmentId = "";
 
                        String sdcDistributionId = request.getDistributionId();
                        Distribution sdcStatus = request.getDistribution();
 
-                       // Distribution, Query for operationalEnvironmentId, serviceModelVersionId
+                       // Distribution, Query for operationalEnvironmentId, serviceModelVersionId, origRequestId
                        this.queryDistributionDbResponse = client.getDistributionStatusById(sdcDistributionId);
                        operationalEnvironmentId = this.queryDistributionDbResponse.getOperationalEnvId();
+                       this.origRequestId = this.queryDistributionDbResponse.getRequestId();
                        
-                       // ServiceModel, Query for dbRequestId, recoveryAction, retryCountString
-                       this.queryServiceModelResponse = client.findOneByOperationalEnvIdAndServiceModelVersionId(operationalEnvironmentId, queryDistributionDbResponse.getServiceModelVersionId());
-                       this.origRequestId = this.queryServiceModelResponse.getRequestId();
-                       
+                       // ServiceModel, Query for recoveryAction, retryCountString
+                       this.queryServiceModelResponse = client.findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId(operationalEnvironmentId, queryDistributionDbResponse.getServiceModelVersionId(), this.origRequestId);
+
                        processActivateSDCStatus(sdcDistributionId, sdcStatus, this.queryDistributionDbResponse, this.queryServiceModelResponse);
                        
                        // After EVERY status processed, need to query the status of all service modelId 
                        //  to determine the OVERALL status if "COMPLETE" or "FAILURE":
                        checkOrUpdateOverallStatus(operationalEnvironmentId, this.origRequestId);                       
-
+           
+                } catch(Exception e) {
+                   requestDb.updateInfraFailureCompletion(e.getMessage(), this.origRequestId, this.queryDistributionDbResponse.getOperationalEnvId());
+        }
+                       
        }
        
        /**
@@ -161,13 +166,11 @@ public class ActivateVnfStatusOperationalEnvironment {
                                                }
                                                
                                                sdcStatusValue = modifiedStatus;
-                                           // should update 1 row, modified status & retryCount set 0
                                                OperationalEnvServiceModelStatus updateRetryCountZeroAndStatus = 
                                                                dbHelper.updateRetryCountAndStatusInOperationalEnvServiceModelStatus(queryServiceModelResponse, 
                                                                                                                                                                                                         modifiedStatus, 
-                                                                                                                                                                                                        RETRY_COUNT_ZERO);                                             
+                                                                                                                                                                                                        RETRY_COUNT_ZERO);
                                                client.save(updateRetryCountZeroAndStatus);
-                                               // should update 1 row, modified status
                                                OperationalEnvDistributionStatus updateDistStatus = 
                                                                dbHelper.updateStatusInOperationalEnvDistributionStatus(queryDistributionDbResponse, 
                                                                                                                                                                                modifiedStatus,
index 29fa1a3..a26848b 100644 (file)
@@ -109,7 +109,7 @@ public class ActivateVnfStatusOperationalEnvironmentTest extends BaseTest{
                iar.setRequestId(requestIdOrig);
                iar.setRequestStatus("PENDING");
 
-               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionId"))
+               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId"))
                                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
                                                .withBody(mapper.writeValueAsString(serviceModelDb))
                                                .withStatus(HttpStatus.SC_OK)));
@@ -134,7 +134,7 @@ public class ActivateVnfStatusOperationalEnvironmentTest extends BaseTest{
                serviceModelDb.setOperationalEnvId(operationalEnvironmentId);
                serviceModelDb.setRetryCount(retryCountZero);
                serviceModelDb.setServiceModelVersionDistrStatus(statusError);
-               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionId"))
+               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId"))
                                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
                                                .withBody(mapper.writeValueAsString(serviceModelDb))
                                                .withStatus(HttpStatus.SC_OK)));
@@ -169,7 +169,7 @@ public class ActivateVnfStatusOperationalEnvironmentTest extends BaseTest{
                serviceModelDb.setOperationalEnvId(operationalEnvironmentId);
                serviceModelDb.setRetryCount(retryCountTwo);
                serviceModelDb.setServiceModelVersionDistrStatus(statusError);
-               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionId"))
+               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId"))
                                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
                                                .withBody(mapper.writeValueAsString(serviceModelDb))
                                                .withStatus(HttpStatus.SC_OK)));
@@ -208,7 +208,7 @@ public class ActivateVnfStatusOperationalEnvironmentTest extends BaseTest{
                iar.setRequestId(requestIdOrig);
                iar.setRequestStatus("PENDING");
                
-               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionId"))
+               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId"))
                                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
                                                .withBody(mapper.writeValueAsString(serviceModelDb))
                                                .withStatus(HttpStatus.SC_OK)));
@@ -244,7 +244,7 @@ public class ActivateVnfStatusOperationalEnvironmentTest extends BaseTest{
                serviceModelDb.setOperationalEnvId(operationalEnvironmentId);
                serviceModelDb.setRetryCount(retryCountThree);
                serviceModelDb.setServiceModelVersionDistrStatus(statusError);
-               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionId"))
+               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId"))
                                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
                                                .withBody(mapper.writeValueAsString(serviceModelDb))
                                                .withStatus(HttpStatus.SC_OK)));
@@ -276,7 +276,7 @@ public class ActivateVnfStatusOperationalEnvironmentTest extends BaseTest{
                
                stubFor(post(urlPathMatching("/sdc/v1/catalog/services/.*"))
                                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(jsonObject.toString()).withStatus(HttpStatus.SC_ACCEPTED)));
-               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionId"))
+               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId"))
                                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
                                                .withBody(mapper.writeValueAsString(serviceModelDb))
                                                .withStatus(HttpStatus.SC_OK)));
@@ -339,7 +339,7 @@ public class ActivateVnfStatusOperationalEnvironmentTest extends BaseTest{
                iar.setRequestId(requestIdOrig);
                iar.setRequestStatus("PENDING");
 
-               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionId"))
+               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId"))
                                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
                                                .withBody(mapper.writeValueAsString(serviceModelDb))
                                                .withStatus(HttpStatus.SC_OK)));
@@ -415,7 +415,7 @@ public class ActivateVnfStatusOperationalEnvironmentTest extends BaseTest{
                InfraActiveRequests iar = new InfraActiveRequests();
                iar.setRequestId(requestIdOrig);
                iar.setRequestStatus("PENDING");
-               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionId"))
+               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId"))
                                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
                                                .withBody(mapper.writeValueAsString(serviceModelDb))
                                                .withStatus(HttpStatus.SC_OK)));
@@ -477,7 +477,7 @@ public class ActivateVnfStatusOperationalEnvironmentTest extends BaseTest{
                iar.setRequestId(requestIdOrig);
                iar.setRequestStatus("PENDING");
 
-               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionId"))
+               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId"))
                                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
                                                .withBody(mapper.writeValueAsString(serviceModelDb))
                                                .withStatus(HttpStatus.SC_OK)));
@@ -536,7 +536,7 @@ public class ActivateVnfStatusOperationalEnvironmentTest extends BaseTest{
                iar.setRequestId(requestIdOrig);
                iar.setRequestStatus("PENDING");
 
-               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionId"))
+               stubFor(get(urlPathEqualTo("/operationalEnvServiceModelStatus/search/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId"))
                                .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
                                                .withBody(mapper.writeValueAsString(serviceModelDb))
                                                .withStatus(HttpStatus.SC_OK)));
index bcad9ce..ecf1dcb 100644 (file)
@@ -37,7 +37,8 @@ public interface OperationalEnvServiceModelStatusRepository extends JpaRepositor
        public OperationalEnvServiceModelStatus findOneByOperationalEnvIdAndRequestId(String operationalEnvId, String requestId);
        public List<OperationalEnvServiceModelStatus> findAllByOperationalEnvIdAndRequestId(@Param("OPERATIONAL_ENV_ID") String operationalEnvId, 
                                                                                                                                                                                @Param("REQUEST_ID") String requestId);
-       public OperationalEnvServiceModelStatus findOneByOperationalEnvIdAndServiceModelVersionId(@Param("OPERATIONAL_ENV_ID") String operationalEnvId, 
-                                                                                                                                                                                         @Param("SERVICE_MODEL_VERSION_ID") String serviceModelVersionId);
+       public OperationalEnvServiceModelStatus findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId(@Param("OPERATIONAL_ENV_ID") String operationalEnvId, 
+                                                                                                          @Param("SERVICE_MODEL_VERSION_ID") String serviceModelVersionId,
+                                                                                                          @Param("REQUEST_ID") String requestId);
        
 }
index ef34662..9eec860 100644 (file)
@@ -54,8 +54,9 @@ public class OperationalEnvServiceModelStatusTest {
                status.setRetryCount(0);
                
                repository.saveAndFlush(status);
-               OperationalEnvServiceModelStatus status2 = repository.findOneByOperationalEnvIdAndServiceModelVersionId("oper-env-id-1", "service-model-ver-id-1");
+               OperationalEnvServiceModelStatus status2 = repository.findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId("oper-env-id-1", "service-model-ver-id-1", "request-id-1");
                status2.setRetryCount(1);
+               assertEquals("request-id-1", status2.getRequestId());           
                
                repository.saveAndFlush(status2);
                
index b809691..5958397 100644 (file)
@@ -96,7 +96,7 @@ public class RequestsDbClient {
        
        private String findOneByServiceIdAndOperationIdURI = "/findOneByServiceIdAndOperationId";
        
-       private String findOneByOperationalEnvIdAndServiceModelVersionIdURI = "/findOneByOperationalEnvIdAndServiceModelVersionId";
+       private String findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdURI = "/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId";
        
        private String findAllByOperationalEnvIdAndRequestIdURI = "/findAllByOperationalEnvIdAndRequestId";
 
@@ -123,7 +123,7 @@ public class RequestsDbClient {
                findOneByServiceIdAndOperationIdURI = endpoint + OPERATION_STATUS_SEARCH + findOneByServiceIdAndOperationIdURI;
                requestProcessingDataURI = endpoint + requestProcessingDataURI;
                operationalEnvDistributionStatusURI = endpoint + operationalEnvDistributionStatusURI;
-               findOneByOperationalEnvIdAndServiceModelVersionIdURI = endpoint + OPERATIONAL_ENV_SERVICE_MODEL_STATUS_SEARCH + findOneByOperationalEnvIdAndServiceModelVersionIdURI;
+               findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdURI = endpoint + OPERATIONAL_ENV_SERVICE_MODEL_STATUS_SEARCH + findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdURI;
                findAllByOperationalEnvIdAndRequestIdURI = endpoint + OPERATIONAL_ENV_SERVICE_MODEL_STATUS_SEARCH + findAllByOperationalEnvIdAndRequestIdURI;
        }
        
@@ -227,16 +227,18 @@ public class RequestsDbClient {
                }
        }
 
-       public OperationalEnvServiceModelStatus findOneByOperationalEnvIdAndServiceModelVersionId(String operationalEnvironmentId, String serviceModelVersionId) {
+       public OperationalEnvServiceModelStatus findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId(String operationalEnvironmentId, String serviceModelVersionId, String requestId) {
                try {
                        HttpEntity<?> entity = getHttpEntity();
-                       OperationalEnvServiceModelStatus modelStatus = restTemplate.exchange(getUri(UriBuilder.fromUri(findOneByOperationalEnvIdAndServiceModelVersionIdURI)
+                       OperationalEnvServiceModelStatus modelStatus = restTemplate.exchange(getUri(UriBuilder.fromUri(findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdURI)
                                        .queryParam(OPERATIONAL_ENVIRONMENT_ID, operationalEnvironmentId)
                                        .queryParam(SERVICE_MODEL_VERSION_ID, serviceModelVersionId)
+                                       .queryParam(REQUEST_ID, requestId)                                      
                                        .build().toString()), HttpMethod.GET, entity, OperationalEnvServiceModelStatus.class).getBody();
                        if (null != modelStatus) {
                                modelStatus.setOperationalEnvId(operationalEnvironmentId);
                                modelStatus.setServiceModelVersionId(serviceModelVersionId);
+                               modelStatus.setRequestId(requestId);                            
                        }
                        return modelStatus;
                }catch(HttpClientErrorException e){