diff options
author | Determe, Sebastien (sd378r) <sd378r@intl.att.com> | 2018-05-08 16:30:12 +0200 |
---|---|---|
committer | Determe, Sebastien (sd378r) <sd378r@intl.att.com> | 2018-05-08 16:30:12 +0200 |
commit | 3271165f71b5aee7bc9b5186ee2566c8dd2f2626 (patch) | |
tree | ddb9751fcb8d20b82725a6a8aa0b24d12619f450 /src/main/java/org | |
parent | 96a55871dabf4fa374de16091e165f0dc77bd9f7 (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>
Diffstat (limited to 'src/main/java/org')
-rw-r--r-- | src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java | 16 | ||||
-rw-r--r-- | src/main/java/org/onap/clamp/clds/service/CldsService.java | 21 |
2 files changed, 18 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) { |