summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDeterme, Sebastien (sd378r) <sd378r@intl.att.com>2018-05-08 16:30:12 +0200
committerDeterme, Sebastien (sd378r) <sd378r@intl.att.com>2018-05-08 16:30:12 +0200
commit3271165f71b5aee7bc9b5186ee2566c8dd2f2626 (patch)
treeddb9751fcb8d20b82725a6a8aa0b24d12619f450
parent96a55871dabf4fa374de16091e165f0dc77bd9f7 (diff)
Fix DCAE deploy/undeploy
Add configurable timer and attempt for the DCAE GetOperation Status Issue-ID: CLAMP-159 Change-Id: I537961af135d0197330ec89da12dcff467153311 Signed-off-by: Determe, Sebastien (sd378r) <sd378r@intl.att.com>
-rw-r--r--src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java16
-rw-r--r--src/main/java/org/onap/clamp/clds/service/CldsService.java21
-rw-r--r--src/main/resources/application.properties2
-rw-r--r--src/test/resources/application.properties4
4 files changed, 24 insertions, 19 deletions
diff --git a/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java b/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java
index 2ba910a6e..0ca2850f3 100644
--- a/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java
+++ b/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java
@@ -90,6 +90,22 @@ public class DcaeDispatcherServices {
}
}
+ public String getOperationStatusWithRetry(String operationStatusUrl) throws InterruptedException {
+ String operationStatus = "";
+ for (int i = 0; i < Integer.valueOf(refProp.getStringValue("dcae.dispatcher.retry.limit")); i++) {
+ logger.info("Trying to get Operation status on DCAE for url:" + operationStatusUrl);
+ operationStatus = getOperationStatus(operationStatusUrl);
+ logger.info("Current Status is:" + operationStatus);
+ if (!"processing".equalsIgnoreCase(operationStatus)) {
+ return operationStatus;
+ } else {
+ Thread.sleep(Integer.valueOf(refProp.getStringValue("dcae.dispatcher.retry.interval")));
+ }
+ }
+ logger.warn("Number of attempts on DCAE is over, stopping the getOperationStatus method");
+ return operationStatus;
+ }
+
/**
* Get the Operation Status from a specified URL.
*
diff --git a/src/main/java/org/onap/clamp/clds/service/CldsService.java b/src/main/java/org/onap/clamp/clds/service/CldsService.java
index 1b7606705..592a94575 100644
--- a/src/main/java/org/onap/clamp/clds/service/CldsService.java
+++ b/src/main/java/org/onap/clamp/clds/service/CldsService.java
@@ -849,17 +849,7 @@ public class CldsService extends SecureServiceBase {
}
String createNewDeploymentStatusUrl = dcaeDispatcherServices.createNewDeployment(deploymentId,
model.getTypeId(), modelProp.getGlobal().getDeployParameters());
- String operationStatus = "processing";
- long waitingTime = System.nanoTime() + DCAE_DEPLOY_WAITING_TIME;
- while ("processing".equalsIgnoreCase(operationStatus)) {
- if (waitingTime < System.nanoTime()) {
- logger.info("Waiting is over for DCAE deployment");
- break;
- }
- logger.info("Waiting 5s before sending query to DCAE");
- Thread.sleep(5000);
- operationStatus = dcaeDispatcherServices.getOperationStatus(createNewDeploymentStatusUrl);
- }
+ String operationStatus = dcaeDispatcherServices.getOperationStatusWithRetry(createNewDeploymentStatusUrl);
if ("succeeded".equalsIgnoreCase(operationStatus)) {
String artifactName = model.getControlName();
if (artifactName != null) {
@@ -904,14 +894,7 @@ public class CldsService extends SecureServiceBase {
try {
String operationStatusUndeployUrl = dcaeDispatcherServices.deleteExistingDeployment(model.getDeploymentId(),
model.getTypeId());
- String operationStatus = "processing";
- long waitingTime = System.nanoTime() + TimeUnit.MINUTES.toNanos(10);
- while ("processing".equalsIgnoreCase(operationStatus)) {
- if (waitingTime < System.nanoTime()) {
- break;
- }
- operationStatus = dcaeDispatcherServices.getOperationStatus(operationStatusUndeployUrl);
- }
+ String operationStatus = dcaeDispatcherServices.getOperationStatusWithRetry(operationStatusUndeployUrl);
if ("succeeded".equalsIgnoreCase(operationStatus)) {
String artifactName = model.getControlName();
if (artifactName != null) {
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index d9d69c716..172481828 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -201,6 +201,8 @@ clamp.config.dcae.intentory.retry.limit=3
#DCAE Dispatcher Url Properties
clamp.config.dcae.dispatcher.url=http://dcae.api.simpledemo.onap.org:8188
+clamp.config.dcae.dispatcher.retry.interval=10000
+clamp.config.dcae.dispatcher.retry.limit=10
clamp.config.dcae.header.requestId = X-ECOMP-RequestID
#Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case !
diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties
index 0d206cf69..b543af18d 100644
--- a/src/test/resources/application.properties
+++ b/src/test/resources/application.properties
@@ -194,9 +194,13 @@ clamp.config.clds.service.cache.invalidate.after.seconds=120
#DCAE Inventory Url Properties
clamp.config.dcae.inventory.url=http://localhost:${docker.http-cache.port.host}
+clamp.config.dcae.intentory.retry.interval=10000
+clamp.config.dcae.intentory.retry.limit=3
#DCAE Dispatcher Url Properties
clamp.config.dcae.dispatcher.url=http://localhost:${docker.http-cache.port.host}
+clamp.config.dcae.dispatcher.retry.interval=10000
+clamp.config.dcae.dispatcher.retry.limit=10
clamp.config.dcae.header.requestId = X-ECOMP-RequestID
#Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case !