diff options
author | Jim Hahn <jrh3@att.com> | 2020-07-13 16:06:57 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2020-07-13 16:07:54 -0400 |
commit | c88676ec64c4c870252502bc1cfaa8990c8fd964 (patch) | |
tree | d88ec0ac29d5c3066fab025392df4a69256cf288 /models-interactions/model-actors/actor.sdnr | |
parent | e4e7d15db6d2f79658e3a5f9e8326ea092afcfab (diff) |
Remove legacy actor code from models
Deleted legacy actor code. That includes deleting most of the
XxxManager classes.
Issue-ID: POLICY-2559
Change-Id: I1ef1b900ca1d23e88da64b2c95a18986feb1b765
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'models-interactions/model-actors/actor.sdnr')
2 files changed, 0 insertions, 391 deletions
diff --git a/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrActor.java b/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrActor.java index b9f477d30..de7691e0e 100644 --- a/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrActor.java +++ b/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrActor.java @@ -21,28 +21,10 @@ package org.onap.policy.controlloop.actor.sdnr; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import java.util.Collections; -import java.util.List; -import org.apache.commons.lang3.tuple.Pair; -import org.onap.policy.controlloop.ControlLoopOperation; -import org.onap.policy.controlloop.ControlLoopResponse; -import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actorserviceprovider.Operator; import org.onap.policy.controlloop.actorserviceprovider.impl.BidirectionalTopicActor; import org.onap.policy.controlloop.actorserviceprovider.impl.BidirectionalTopicOperator; import org.onap.policy.controlloop.actorserviceprovider.parameters.BidirectionalTopicActorParams; -import org.onap.policy.controlloop.policy.Policy; -import org.onap.policy.controlloop.policy.PolicyResult; -import org.onap.policy.sdnr.PciCommonHeader; -import org.onap.policy.sdnr.PciRequest; -import org.onap.policy.sdnr.PciRequestWrapper; -import org.onap.policy.sdnr.PciResponse; -import org.onap.policy.sdnr.PciResponseCode; -import org.onap.policy.sdnr.PciResponseWrapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * SDNR is an unusual actor in that it uses a single, generic operator to initiate all @@ -52,28 +34,6 @@ public class SdnrActor extends BidirectionalTopicActor<BidirectionalTopicActorPa public static final String NAME = "SDNR"; - // TODO old code: remove lines down to **HERE** - - private static final Logger logger = LoggerFactory.getLogger(SdnrActor.class); - - // Strings for targets - private static final String TARGET_VNF = "VNF"; - - // Strings for recipes - private static final String RECIPE_MODIFY = "ModifyConfig"; - - /* To be used in future releases when pci ModifyConfig is used */ - private static final String SDNR_REQUEST_PARAMS = "request-parameters"; - private static final String SDNR_CONFIG_PARAMS = "configuration-parameters"; - - private static final ImmutableList<String> recipes = ImmutableList.of(RECIPE_MODIFY); - private static final ImmutableMap<String, List<String>> targets = new ImmutableMap.Builder<String, List<String>>() - .put(RECIPE_MODIFY, ImmutableList.of(TARGET_VNF)).build(); - private static final ImmutableMap<String, List<String>> payloads = new ImmutableMap.Builder<String, List<String>>() - .put(RECIPE_MODIFY, ImmutableList.of(SDNR_REQUEST_PARAMS, SDNR_CONFIG_PARAMS)).build(); - - // **HERE** - /** * Constructor. */ @@ -91,214 +51,4 @@ public class SdnrActor extends BidirectionalTopicActor<BidirectionalTopicActorPa */ return super.getOperator(SdnrOperation.NAME); } - - // TODO old code: remove lines down to **HERE** - - @Override - public String actor() { - return NAME; - } - - @Override - public List<String> recipes() { - return ImmutableList.copyOf(recipes); - } - - @Override - public List<String> recipeTargets(String recipe) { - return ImmutableList.copyOf(targets.getOrDefault(recipe, Collections.emptyList())); - } - - @Override - public List<String> recipePayloads(String recipe) { - return ImmutableList.copyOf(payloads.getOrDefault(recipe, Collections.emptyList())); - } - - /** - * Constructs an SDNR request conforming to the pci API. The actual request is - * constructed and then placed in a wrapper object used to send through DMAAP. - * - * @param onset - * the event that is reporting the alert for policy to perform an - * action - * @param operation - * the control loop operation specifying the actor, operation, - * target, etc. - * @param policy - * the policy the was specified from the yaml generated by CLAMP or - * through the Policy GUI/API - * @return an SDNR request conforming to the pci API using the DMAAP wrapper - */ - - public static PciRequestWrapper constructRequest(VirtualControlLoopEvent onset, ControlLoopOperation operation, - Policy policy) { - - /* Construct an SDNR request using pci Model */ - - /* - * The actual pci request is placed in a wrapper used to send through dmaap. The - * current version is 2.0 as of R1. - */ - PciRequestWrapper dmaapRequest = new PciRequestWrapper(); - dmaapRequest.setVersion("1.0"); - dmaapRequest.setCorrelationId(onset.getRequestId() + "-" + operation.getSubRequestId()); - dmaapRequest.setRpcName(policy.getRecipe().toLowerCase()); - dmaapRequest.setType("request"); - - /* This is the actual request that is placed in the dmaap wrapper. */ - final PciRequest sdnrRequest = new PciRequest(); - - /* The common header is a required field for all SDNR requests. */ - PciCommonHeader requestCommonHeader = new PciCommonHeader(); - requestCommonHeader.setRequestId(onset.getRequestId()); - requestCommonHeader.setSubRequestId(operation.getSubRequestId()); - - sdnrRequest.setCommonHeader(requestCommonHeader); - sdnrRequest.setPayload(onset.getPayload()); - - /* - * An action is required for all SDNR requests, this will be the recipe - * specified in the policy. - */ - sdnrRequest.setAction(policy.getRecipe()); - - /* - * Once the pci request is constructed, add it into the body of the dmaap - * wrapper. - */ - dmaapRequest.setBody(sdnrRequest); - logger.info("SDNR Request to be sent is {}", dmaapRequest); - - /* Return the request to be sent through dmaap. */ - return dmaapRequest; - } - - /** - * Parses the operation attempt using the subRequestId of SDNR response. - * - * @param subRequestId - * the sub id used to send to SDNR, Policy sets this using the - * operation attempt - * - * @return the current operation attempt - */ - public static Integer parseOperationAttempt(String subRequestId) { - Integer operationAttempt; - try { - operationAttempt = Integer.parseInt(subRequestId); - } catch (NumberFormatException e) { - logger.debug("A NumberFormatException was thrown in parsing the operation attempt {}", subRequestId); - return null; - } - return operationAttempt; - } - - /** - * Processes the SDNR pci response sent from SDNR. Determines if the SDNR - * operation was successful/unsuccessful and maps this to the corresponding - * Policy result. - * - * @param dmaapResponse - * the dmaap wrapper message that contains the actual SDNR reponse - * inside the body field - * - * @return an key-value pair that contains the Policy result and SDNR response - * message - */ - public static Pair<PolicyResult, String> processResponse( - PciResponseWrapper dmaapResponse) { - - logger.info("SDNR processResponse called : {}", dmaapResponse); - - /* The actual SDNR response is inside the wrapper's body field. */ - PciResponse sdnrResponse = dmaapResponse.getBody(); - - /* The message returned in the SDNR response. */ - String message; - - /* The Policy result determined from the SDNR Response. */ - PolicyResult result; - - /* - * If there is no status, Policy cannot determine if the request was successful. - */ - if (sdnrResponse.getStatus() == null) { - message = "Policy was unable to parse SDN-R response status field (it was null)."; - return Pair.of(PolicyResult.FAILURE_EXCEPTION, message); - } - - /* - * If there is no code, Policy cannot determine if the request was successful. - */ - String responseValue = PciResponseCode.toResponseValue(sdnrResponse.getStatus().getCode()); - if (responseValue == null) { - message = "Policy was unable to parse SDN-R response status code field."; - return Pair.of(PolicyResult.FAILURE_EXCEPTION, message); - } - logger.info("SDNR Response Code is {}", responseValue); - - /* Save the SDNR response's message for Policy notification message. */ - message = sdnrResponse.getStatus().getValue(); - logger.info("SDNR Response Message is {}", message); - - /* - * Response and Payload are just printed and no further action needed in - * casablanca release - */ - String rspPayload = sdnrResponse.getPayload(); - logger.info("SDNR Response Payload is {}", rspPayload); - - /* Maps the SDNR response result to a Policy result. */ - switch (responseValue) { - case PciResponseCode.ACCEPTED: - /* Nothing to do if code is accept, continue processing */ - result = null; - break; - case PciResponseCode.SUCCESS: - result = PolicyResult.SUCCESS; - break; - case PciResponseCode.FAILURE: - result = PolicyResult.FAILURE; - break; - case PciResponseCode.REJECT: - case PciResponseCode.ERROR: - default: - result = PolicyResult.FAILURE_EXCEPTION; - } - return Pair.of(result, message); - } - - /** - * Converts the SDNR response to ControlLoopResponse object. - * - * @param dmaapResponse - * the dmaap wrapper message that contains the actual SDNR reponse - * inside the body field - * - * @return a ControlLoopResponse object to send to DCAE_CL_RSP topic - */ - public static ControlLoopResponse getControlLoopResponse(PciResponseWrapper dmaapResponse, - VirtualControlLoopEvent event) { - - logger.info("SDNR getClosedLoopResponse called : {} {}", dmaapResponse, event); - - /* The actual SDNR response is inside the wrapper's body field. */ - PciResponse sdnrResponse = dmaapResponse.getBody(); - - /* The ControlLoop response determined from the SDNR Response and input event. */ - ControlLoopResponse clRsp = new ControlLoopResponse(); - clRsp.setPayload(sdnrResponse.getPayload()); - clRsp.setFrom(NAME); - clRsp.setTarget("DCAE"); - clRsp.setClosedLoopControlName(event.getClosedLoopControlName()); - clRsp.setPolicyName(event.getPolicyName()); - clRsp.setPolicyVersion(event.getPolicyVersion()); - clRsp.setRequestId(event.getRequestId()); - clRsp.setVersion(event.getVersion()); - logger.info("SDNR getClosedLoopResponse clRsp : {}", clRsp); - - return clRsp; - } - - // **HERE** } diff --git a/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorTest.java b/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorTest.java index 48c16d05a..0f023ff55 100644 --- a/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorTest.java +++ b/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrActorTest.java @@ -23,80 +23,15 @@ package org.onap.policy.controlloop.actor.sdnr; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; -import java.time.Instant; import java.util.Arrays; -import java.util.HashMap; -import java.util.UUID; import java.util.stream.Collectors; import org.junit.Test; -import org.onap.policy.controlloop.ControlLoopEventStatus; -import org.onap.policy.controlloop.ControlLoopOperation; -import org.onap.policy.controlloop.ControlLoopResponse; -import org.onap.policy.controlloop.ControlLoopTargetType; -import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actor.test.BasicActor; import org.onap.policy.controlloop.actorserviceprovider.Operator; -import org.onap.policy.controlloop.policy.Policy; -import org.onap.policy.controlloop.policy.Target; -import org.onap.policy.controlloop.policy.TargetType; -import org.onap.policy.sdnr.PciRequest; -import org.onap.policy.sdnr.PciResponse; -import org.onap.policy.sdnr.PciResponseWrapper; -import org.onap.policy.sdnr.util.Serialization; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class SdnrActorTest extends BasicActor { - private static final String MODIFY_CONFIG = "ModifyConfig"; - - private static final Logger logger = LoggerFactory.getLogger(SdnrActorTest.class); - - private static final VirtualControlLoopEvent onsetEvent; - private static final ControlLoopOperation operation; - private static final Policy policy; - - static { - /* - * Construct an onset. Using dummy AAI details since the code mandates AAI details. - */ - onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.setClosedLoopControlName("closedLoopControlName-Test"); - onsetEvent.setRequestId(UUID.randomUUID()); - onsetEvent.setClosedLoopEventClient("tca.instance00001"); - onsetEvent.setTargetType(ControlLoopTargetType.VNF); - onsetEvent.setTarget("generic-vnf.vnf-name"); - onsetEvent.setFrom("DCAE"); - onsetEvent.setClosedLoopAlarmStart(Instant.now()); - onsetEvent.setAai(new HashMap<>()); - onsetEvent.getAai().put("generic-vnf.vnf-name", "notused"); - onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET); - onsetEvent.setPayload("some payload"); - - /* Construct an operation with an SDNR actor and ModifyConfig operation. */ - operation = new ControlLoopOperation(); - operation.setActor("SDNR"); - operation.setOperation(MODIFY_CONFIG); - operation.setTarget("VNF"); - operation.setEnd(Instant.now()); - operation.setSubRequestId("1"); - - /* Construct a policy specifying to modify configuration. */ - policy = new Policy(); - policy.setName("Modify PCI Config"); - policy.setDescription("Upon getting the trigger event, modify pci config"); - policy.setActor("SDNR"); - policy.setTarget(new Target(TargetType.VNF)); - policy.getTarget().setResourceID("Eace933104d443b496b8.nodes.heat.vpg"); - policy.setRecipe(MODIFY_CONFIG); - policy.setPayload(null); - policy.setRetry(2); - policy.setTimeout(300); - - } - @Test public void testConstructor() { SdnrActor prov = new SdnrActor(); @@ -124,80 +59,4 @@ public class SdnrActorTest extends BasicActor { assertNotNull(oper); assertSame(oper, sp.getOperator("another")); } - - @Test - public void testGetControlLoopResponse() { - PciRequest sdnrRequest; - sdnrRequest = SdnrActor.constructRequest(onsetEvent, operation, policy).getBody(); - PciResponse sdnrResponse = new PciResponse(sdnrRequest); - sdnrResponse.getStatus().setCode(200); - sdnrResponse.getStatus().setValue("SDNR success"); - sdnrResponse.setPayload("sdnr payload "); - /* Print out request as json to make sure serialization works */ - String jsonResponse = Serialization.gsonPretty.toJson(sdnrResponse); - logger.info(jsonResponse); - PciResponseWrapper pciResponseWrapper = new PciResponseWrapper(); - pciResponseWrapper.setBody(sdnrResponse); - - ControlLoopResponse clRsp = SdnrActor.getControlLoopResponse(pciResponseWrapper, onsetEvent); - assertEquals(clRsp.getClosedLoopControlName(), onsetEvent.getClosedLoopControlName()); - assertEquals(clRsp.getRequestId(), onsetEvent.getRequestId()); - assertEquals(clRsp.getPolicyName(), onsetEvent.getPolicyName()); - assertEquals(clRsp.getPolicyVersion(), onsetEvent.getPolicyVersion()); - assertEquals(clRsp.getVersion(), onsetEvent.getVersion()); - assertEquals("SDNR", clRsp.getFrom()); - assertEquals("DCAE", clRsp.getTarget()); - assertEquals(clRsp.getPayload(), sdnrResponse.getPayload()); - } - - @Test - public void testConstructModifyConfigRequest() { - - PciRequest sdnrRequest; - sdnrRequest = SdnrActor.constructRequest(onsetEvent, operation, policy).getBody(); - - /* The service provider must return a non null SDNR request */ - assertNotNull(sdnrRequest); - - /* A common header is required and cannot be null */ - assertNotNull(sdnrRequest.getCommonHeader()); - assertEquals(sdnrRequest.getCommonHeader().getRequestId(), onsetEvent.getRequestId()); - - /* An action is required and cannot be null */ - assertNotNull(sdnrRequest.getAction()); - assertEquals(MODIFY_CONFIG, sdnrRequest.getAction()); - - /* A payload is required and cannot be null */ - assertNotNull(sdnrRequest.getPayload()); - assertEquals("some payload", sdnrRequest.getPayload()); - - logger.debug("SDNR Request: \n" + sdnrRequest.toString()); - - /* Print out request as json to make sure serialization works */ - String jsonRequest = Serialization.gsonPretty.toJson(sdnrRequest); - logger.debug("JSON Output: \n" + jsonRequest); - - /* The JSON string must contain the following fields */ - assertTrue(jsonRequest.contains("CommonHeader")); - assertTrue(jsonRequest.contains("Action")); - assertTrue(jsonRequest.contains(MODIFY_CONFIG)); - assertTrue(jsonRequest.contains("payload")); - - PciResponse sdnrResponse = new PciResponse(sdnrRequest); - sdnrResponse.getStatus().setCode(200); - sdnrResponse.getStatus().setValue("SDNR success"); - /* Print out request as json to make sure serialization works */ - String jsonResponse = Serialization.gsonPretty.toJson(sdnrResponse); - logger.debug("JSON Output: \n" + jsonResponse); - } - - @Test - public void testMethods() { - SdnrActor sp = new SdnrActor(); - - assertEquals("SDNR", sp.actor()); - assertEquals(1, sp.recipes().size()); - assertEquals("VNF", sp.recipeTargets(MODIFY_CONFIG).get(0)); - assertEquals(2, sp.recipePayloads(MODIFY_CONFIG).size()); - } } |