summaryrefslogtreecommitdiffstats
path: root/controlloop/common/actors/actor.appc
diff options
context:
space:
mode:
Diffstat (limited to 'controlloop/common/actors/actor.appc')
-rw-r--r--controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java30
-rw-r--r--controlloop/common/actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcServiceProviderTest.java12
2 files changed, 25 insertions, 17 deletions
diff --git a/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java b/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java
index 6ae62bbcd..44411ca72 100644
--- a/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java
+++ b/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java
@@ -25,6 +25,7 @@ import java.util.List;
import org.onap.policy.controlloop.VirtualControlLoopEvent;
import org.onap.policy.controlloop.actor.appclcm.AppcLcmActorServiceProvider;
+import org.onap.policy.aai.AAIGETVnfResponse;
import org.onap.policy.aai.util.AAIException;
import org.onap.policy.appc.CommonHeader;
import org.onap.policy.appc.Request;
@@ -89,7 +90,8 @@ public class APPCActorServiceProvider implements Actor {
* @return an APPC request conforming to the legacy API
* @throws AAIException
*/
- public static Request constructRequest(VirtualControlLoopEvent onset, ControlLoopOperation operation, Policy policy) throws AAIException {
+ public static Request constructRequest(VirtualControlLoopEvent onset, ControlLoopOperation operation,
+ Policy policy, AAIGETVnfResponse vnfResponse) throws AAIException {
/*
* Construct an APPC request
*/
@@ -105,24 +107,24 @@ public class APPCActorServiceProvider implements Actor {
* specified in the yaml, the target vnf-id is retrieved by
* a named query to A&AI.
*/
- String vnfId;
- if (onset.AAI.get("generic-vnf.vnf-id").equalsIgnoreCase(policy.getTarget().getResourceID())) {
- vnfId = onset.AAI.get("generic-vnf.vnf-id");
+ String sourceVnf = onset.AAI.get("generic-vnf.vnf-id");
+ if (sourceVnf == null) {
+ /*
+ * Lets see if the vnf-name is provided
+ */
+ sourceVnf = vnfResponse.vnfID;
+ if (sourceVnf == null) {
+ throw new AAIException("No vnf-id found");
+ }
}
- else {
- vnfId = AppcLcmActorServiceProvider.vnfNamedQuery(
- policy.getTarget().getResourceID(), onset.AAI.get("generic-vnf.vnf-id"));
- }
-
- if (vnfId == null) {
- throw new AAIException("No vnf id found");
- }
-
+ String targetVnf = AppcLcmActorServiceProvider.vnfNamedQuery(
+ policy.getTarget().getResourceID(), sourceVnf);
+
/*
* For now Policy generates the PG Streams as a demo, in the
* future the payload can be provided by CLAMP
*/
- request.Payload.put("generic-vnf.vnf-id", vnfId);
+ request.Payload.put("generic-vnf.vnf-id", targetVnf);
PGRequest pgRequest = new PGRequest();
pgRequest.pgStreams = new PGStreams();
diff --git a/controlloop/common/actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcServiceProviderTest.java b/controlloop/common/actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcServiceProviderTest.java
index 7ab368f6f..5a107f814 100644
--- a/controlloop/common/actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcServiceProviderTest.java
+++ b/controlloop/common/actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcServiceProviderTest.java
@@ -29,6 +29,7 @@ import java.util.UUID;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.onap.policy.aai.AAIGETVnfResponse;
import org.onap.policy.aai.util.AAIException;
import org.onap.policy.appc.Request;
import org.onap.policy.appc.Response;
@@ -54,6 +55,7 @@ public class AppcServiceProviderTest {
private static VirtualControlLoopEvent onsetEvent;
private static ControlLoopOperation operation;
private static Policy policy;
+ private static AAIGETVnfResponse aaiResponse;
static {
/*
@@ -65,11 +67,11 @@ public class AppcServiceProviderTest {
onsetEvent.requestID = UUID.randomUUID();
onsetEvent.closedLoopEventClient = "tca.instance00001";
onsetEvent.target_type = ControlLoopTargetType.VNF;
- onsetEvent.target = "generic-vnf.vnf-id";
+ onsetEvent.target = "generic-vnf.vnf-name";
onsetEvent.from = "DCAE";
onsetEvent.closedLoopAlarmStart = Instant.now();
onsetEvent.AAI = new HashMap<>();
- onsetEvent.AAI.put("generic-vnf.vnf-id", "fw0001vm001fw001");
+ onsetEvent.AAI.put("generic-vnf.vnf-name", "fw0001vm001fw001");
onsetEvent.closedLoopEventStatus = ControlLoopEventStatus.ONSET;
/* Construct an operation with an APPC actor and ModifyConfig operation. */
@@ -92,6 +94,10 @@ public class AppcServiceProviderTest {
policy.setRetry(2);
policy.setTimeout(300);
+ /* Construct a mock A&AI response */
+ aaiResponse = new AAIGETVnfResponse();
+ aaiResponse.vnfID = "vnf01";
+
/* Set environment properties */
PolicyEngine.manager.setEnvironmentProperty("aai.url", "http://localhost:6666");
PolicyEngine.manager.setEnvironmentProperty("aai.username", "AAI");
@@ -118,7 +124,7 @@ public class AppcServiceProviderTest {
Request appcRequest = null;
try {
- appcRequest = APPCActorServiceProvider.constructRequest(onsetEvent, operation, policy);
+ appcRequest = APPCActorServiceProvider.constructRequest(onsetEvent, operation, policy, aaiResponse);
} catch (AAIException e) {
logger.warn(e.toString());
fail("no vnfid found");