diff options
author | Liam Fallon <liam.fallon@est.tech> | 2019-04-01 00:35:11 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-04-01 00:35:11 +0000 |
commit | ab4cba7d37f41eddbf3ab040f04afe18c6630777 (patch) | |
tree | b088ee02dca4bde8aaba97b339165af64d548b38 /examples/examples-onap-vcpe/src/test | |
parent | 1d86d11223e9c60ec65b737301b51ca9a42adff5 (diff) | |
parent | f996ef829249c304550becb0cb57db3efd3baf6a (diff) |
Merge "Change vCPE example to use POJOs"
Diffstat (limited to 'examples/examples-onap-vcpe/src/test')
22 files changed, 543 insertions, 1078 deletions
diff --git a/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/AaiAndGuardSimEndpointTest.java b/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/AaiAndGuardSimEndpointTest.java deleted file mode 100644 index 5b9040f95..000000000 --- a/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/AaiAndGuardSimEndpointTest.java +++ /dev/null @@ -1,183 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.domains.onap.vcpe; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import com.google.gson.Gson; - -import java.util.Map; -import java.util.Random; - -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response; - -/** - * The Class AaiAndGuardSimEndpoint. - */ -@Path("/sim") -public class AaiAndGuardSimEndpointTest { - - private static int postMessagesReceived = 0; - private static int putMessagesReceived = 0; - private static int statMessagesReceived = 0; - private static int getMessagesReceived = 0; - - /** - * Service get stats. - * - * @return the response - */ - @Path("/pdp/api/Stats") - @GET - public Response serviceGetStats() { - statMessagesReceived++; - return Response.status(200).entity("{\"GET\": " + getMessagesReceived + ",\"STAT\": " + statMessagesReceived - + ",\"POST\": " + postMessagesReceived + ",\"PUT\": " + putMessagesReceived + "}").build(); - } - - /** - * Service guard post request. - * - * @param jsonString the json string - * @return the response - */ - @Path("/pdp/api/getDecision") - @POST - public Response serviceGuardPostRequest(final String jsonString) { - postMessagesReceived++; - - if (postMessagesReceived % 2 == 0) { - return Response.status(200).entity("{\"decision\": \"PERMIT\", \"details\": \"Decision Permit. OK!\"}") - .build(); - } else { - return Response.status(200).entity("{\"decision\": \"DENY\", \"details\": \"Decision Denied. NOK :-(\"}") - .build(); - } - } - - /** - * Service get event. - * - * @return the response - */ - @Path("/event/GetEvent") - @GET - public Response serviceGetEvent() { - final Random rand = new Random(); - final int nextMatchCase = rand.nextInt(4); - final String nextEventName = "Event0" + rand.nextInt(2) + "00"; - - final String eventString = "{\n" + "\"nameSpace\": \"org.onap.policy.apex.sample.events\",\n" + "\"name\": \"" - + nextEventName + "\",\n" + "\"version\": \"0.0.1\",\n" + "\"source\": \"REST_" + getMessagesReceived - + "\",\n" + "\"target\": \"apex\",\n" + "\"TestSlogan\": \"Test slogan for External Event0\",\n" - + "\"TestMatchCase\": " + nextMatchCase + ",\n" + "\"TestTimestamp\": " + System.currentTimeMillis() - + ",\n" + "\"TestTemperature\": 9080.866\n" + "}"; - - getMessagesReceived++; - - return Response.status(200).entity(eventString).build(); - } - - /** - * Service get empty event. - * - * @return the response - */ - @Path("/event/GetEmptyEvent") - @GET - public Response serviceGetEmptyEvent() { - return Response.status(200).build(); - } - - /** - * Service get event bad response. - * - * @return the response - */ - @Path("/event/GetEventBadResponse") - @GET - public Response serviceGetEventBadResponse() { - return Response.status(400).build(); - } - - /** - * Service post request. - * - * @param jsonString the json string - * @return the response - */ - @Path("/event/PostEvent") - @POST - public Response servicePostRequest(final String jsonString) { - postMessagesReceived++; - - @SuppressWarnings("unchecked") - final Map<String, Object> jsonMap = new Gson().fromJson(jsonString, Map.class); - assertTrue(jsonMap.containsKey("name")); - assertEquals("0.0.1", jsonMap.get("version")); - assertEquals("org.onap.policy.apex.sample.events", jsonMap.get("nameSpace")); - assertEquals("Act", jsonMap.get("source")); - assertEquals("Outside", jsonMap.get("target")); - - return Response.status(200).entity("{\"GET\": , " + getMessagesReceived + ",\"STAT\": " + statMessagesReceived - + ",\"POST\": , " + postMessagesReceived + ",\"PUT\": " + putMessagesReceived + "}").build(); - } - - /** - * Service post request bad response. - * - * @param jsonString the json string - * @return the response - */ - @Path("/event/PostEventBadResponse") - @POST - public Response servicePostRequestBadResponse(final String jsonString) { - return Response.status(400).build(); - } - - /** - * Service put request. - * - * @param jsonString the json string - * @return the response - */ - @Path("/event/PutEvent") - @PUT - public Response servicePutRequest(final String jsonString) { - putMessagesReceived++; - - @SuppressWarnings("unchecked") - final Map<String, Object> jsonMap = new Gson().fromJson(jsonString, Map.class); - assertTrue(jsonMap.containsKey("name")); - assertEquals("0.0.1", jsonMap.get("version")); - assertEquals("org.onap.policy.apex.sample.events", jsonMap.get("nameSpace")); - assertEquals("Act", jsonMap.get("source")); - assertEquals("Outside", jsonMap.get("target")); - - return Response.status(200).entity("{\"GET\": , " + getMessagesReceived + ",\"STAT\": " + statMessagesReceived - + ",\"POST\": , " + postMessagesReceived + ",\"PUT\": " + putMessagesReceived + "}").build(); - } -} diff --git a/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/AppcResponseCreator.java b/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/AppcResponseCreator.java new file mode 100644 index 000000000..f5f2b2792 --- /dev/null +++ b/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/AppcResponseCreator.java @@ -0,0 +1,94 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2018 Ericsson. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.apex.domains.onap.vcpe; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import java.util.Timer; +import java.util.TimerTask; +import java.util.concurrent.BlockingQueue; + +import org.onap.policy.appclcm.LcmRequest; +import org.onap.policy.appclcm.LcmRequestWrapper; +import org.onap.policy.appclcm.LcmResponse; +import org.onap.policy.appclcm.LcmResponseWrapper; +import org.onap.policy.appclcm.util.Serialization; + +/** + * Respond to an APPC request with a given delay. + */ +public class AppcResponseCreator { + // The request from APPC + private final String jsonRequestString; + + // The queue for APPC responses + private final BlockingQueue<String> appcResponseQueue; + + // The timer task for response generation + private final Timer appcTimer; + + /** + * Respond to the given APPC request after the given amount of milliseconds. + * + * @param appcResponseQueue the queue into which to put the APPC response + * @param jsonRequestString the request JSON string + * @param milliSecondsToWait the number of milliseconds to wait + */ + public AppcResponseCreator(BlockingQueue<String> appcResponseQueue, String jsonRequestString, + long milliSecondsToWait) { + this.jsonRequestString = jsonRequestString; + this.appcResponseQueue = appcResponseQueue; + + appcTimer = new Timer(); + appcTimer.schedule(new AppcTimerTask(), milliSecondsToWait); + } + + private class AppcTimerTask extends TimerTask { + /* + * (non-Javadoc) + * + * @see java.util.TimerTask#run() + */ + @Override + public void run() { + Gson gson = new GsonBuilder().registerTypeAdapter(LcmRequest.class, new Serialization.RequestAdapter()) + .registerTypeAdapter(LcmResponse.class, new Serialization.ResponseAdapter()) + .setPrettyPrinting().create(); + + LcmRequestWrapper requestWrapper = gson.fromJson(jsonRequestString, LcmRequestWrapper.class); + + LcmResponse response = new LcmResponse(requestWrapper.getBody()); + response.getStatus().setCode(400); + response.getStatus().setMessage("Restart Successful"); + + LcmResponseWrapper responseWrapper = new LcmResponseWrapper(); + responseWrapper.setBody(response); + + responseWrapper.setVersion(requestWrapper.getVersion()); + responseWrapper.setRpcName(requestWrapper.getRpcName()); + responseWrapper.setCorrelationId(requestWrapper.getCorrelationId()); + responseWrapper.setType(requestWrapper.getType()); + + appcResponseQueue.add(gson.toJson(responseWrapper, LcmResponseWrapper.class)); + } + } +} diff --git a/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/AaiAndGuardSim.java b/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/OnapVCpeSim.java index 93b587a41..671f333d9 100644 --- a/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/AaiAndGuardSim.java +++ b/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/OnapVCpeSim.java @@ -30,17 +30,18 @@ import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities; /** * The Class AaiAndGuardSim. */ -public class AaiAndGuardSim { - private static final String BASE_URI = "http://localhost:54321/AAIAndGuardSim"; +public class OnapVCpeSim { private static final int MAX_LOOPS = 100000; private HttpServer server; /** * Instantiates a new aai and guard sim. */ - public AaiAndGuardSim() { - final ResourceConfig rc = new ResourceConfig(AaiAndGuardSimEndpointTest.class); - server = GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc); + public OnapVCpeSim(final String[] args) { + final String baseUri = "http://" + args[0] + ':' + args[1] + "/OnapVCpeSim"; + + final ResourceConfig rc = new ResourceConfig(OnapVCpeSimEndpoint.class); + server = GrizzlyHttpServerFactory.createHttpServer(URI.create(baseUri), rc); while (!server.isStarted()) { ThreadUtilities.sleep(50); @@ -63,7 +64,7 @@ public class AaiAndGuardSim { * @throws Exception the exception */ public static void main(final String[] args) throws Exception { - final AaiAndGuardSim sim = new AaiAndGuardSim(); + final OnapVCpeSim sim = new OnapVCpeSim(args); for (int index = 0; index < MAX_LOOPS; index++) { ThreadUtilities.sleep(100); diff --git a/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/OnapVCpeSimEndpoint.java b/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/OnapVCpeSimEndpoint.java new file mode 100644 index 000000000..936c319a9 --- /dev/null +++ b/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/OnapVCpeSimEndpoint.java @@ -0,0 +1,343 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.apex.domains.onap.vcpe; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import java.util.Map; +import java.util.Random; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Response; + +import org.onap.policy.aai.AaiNqGenericVnf; +import org.onap.policy.aai.AaiNqInventoryResponseItem; +import org.onap.policy.aai.AaiNqRequest; +import org.onap.policy.aai.AaiNqResponse; +import org.onap.policy.aai.AaiNqVfModule; +import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities; +import org.slf4j.ext.XLogger; +import org.slf4j.ext.XLoggerFactory; + +/** + * The Class AaiAndGuardSimEndpoint. + */ +@Path("/sim") +public class OnapVCpeSimEndpoint { + private static final XLogger LOGGER = XLoggerFactory.getXLogger(OnapVCpeSimEndpoint.class); + + private static BlockingQueue<String> appcResponseQueue = new LinkedBlockingQueue<>(); + + private static AtomicInteger guardMessagesReceived = new AtomicInteger(); + private static AtomicInteger postMessagesReceived = new AtomicInteger(); + private static AtomicInteger putMessagesReceived = new AtomicInteger(); + private static AtomicInteger statMessagesReceived = new AtomicInteger(); + private static AtomicInteger getMessagesReceived = new AtomicInteger(); + + /** + * Service get stats. + * + * @return the response + */ + @Path("/pdp/api/Stats") + @GET + public Response serviceGetStats() { + statMessagesReceived.incrementAndGet(); + + return Response.status(200).entity("{\"GET\": " + getMessagesReceived + ",\"STAT\": " + statMessagesReceived + + ",\"POST\": " + postMessagesReceived + ",\"PUT\": " + putMessagesReceived + "}").build(); + } + + /** + * Service guard post request. + * + * @param jsonString the json string + * @return the response + */ + @Path("/pdp/api/getDecision") + @POST + public Response serviceGuardPostRequest(final String jsonString) { + LOGGER.info("\n*** GUARD REQUEST START ***\n" + jsonString + "\n *** GUARD REQUEST END ***"); + + String target = jsonString.substring(jsonString.indexOf("b4fe00ac")); + target = target.substring(0, target.indexOf('"')); + + int thisGuardMessageNumber = guardMessagesReceived.incrementAndGet(); + postMessagesReceived.incrementAndGet(); + + String responseJsonString = null; + if (thisGuardMessageNumber % 2 == 0) { + responseJsonString = "{\"decision\": \"PERMIT\", \"details\": \"Decision Permit. OK!\"}"; + } else { + responseJsonString = "{\"decision\": \"DENY\", \"details\": \"Decision Denied. NOK :-(\"}"; + } + + LOGGER.info("\n*** GUARD RESPONSE START ***\n" + target + "\n" + responseJsonString + + "\n*** GUARD RESPONSE END ***"); + + return Response.status(200).entity(responseJsonString).build(); + } + + /** + * AAI named query request. + * + * @param jsonString the json string + * @return the response + */ + @Path("aai/search/named-query") + @POST + public Response aaiNamedQueryRequest(final String jsonString) { + postMessagesReceived.incrementAndGet(); + + LOGGER.info("\n*** AAI REQUEST START ***\n" + jsonString + "\n *** AAI REQUEST END ***"); + + AaiNqRequest request = new Gson().fromJson(jsonString, AaiNqRequest.class); + String vnfId = request.getInstanceFilters().getInstanceFilter().iterator().next().get("generic-vnf") + .get("vnf-id"); + String vnfSuffix = vnfId.substring(vnfId.length() - 4); + + AaiNqInventoryResponseItem responseItem = new AaiNqInventoryResponseItem(); + responseItem.setModelName("vCPE"); + + AaiNqGenericVnf genericVnf = new AaiNqGenericVnf(); + genericVnf.setResourceVersion("1"); + genericVnf.setVnfName("vCPEInfraVNF" + vnfSuffix); + genericVnf.setProvStatus("PREPROV"); + genericVnf.setIsClosedLoopDisabled(false); + genericVnf.setVnfType("vCPEInfraService10/vCPEInfraService10 0"); + genericVnf.setInMaint(false); + genericVnf.setServiceId("5585fd2c-ad0d-4050-b0cf-dfe4a03bd01f"); + genericVnf.setVnfId(vnfId); + + responseItem.setGenericVnf(genericVnf); + + AaiNqVfModule vfModule = new AaiNqVfModule(); + vfModule.setOrchestrationStatus("Created"); + + responseItem.setVfModule(vfModule); + + AaiNqResponse response = new AaiNqResponse(); + response.getInventoryResponseItems().add(responseItem); + + String responseJsonString = new GsonBuilder().setPrettyPrinting().create().toJson(response); + + LOGGER.info("\n*** AAI RESPONSE START ***\n" + responseJsonString + "\n *** AAI RESPONSE END ***"); + + return Response.status(200).entity(responseJsonString).build(); + } + + /** + * DCAE input of events (simulation of DMaaP). + * + * @param timeout the timeout to wait for + * @return the response + */ + @Path("events/unauthenticated.DCAE_CL_OUTPUT/APEX/1") + @GET + public Response dcaeClOutput(@QueryParam("timeout") final int timeout) { + getMessagesReceived.incrementAndGet(); + + ThreadUtilities.sleep(timeout - 500); + + return Response.status(200).build(); + } + + /** + * APPC response events (simulation of DMaaP). + * + * @param timeout the timeout to wait for + * @return the response + * @throws InterruptedException on queue interrupts + */ + @Path("events/APPC_LCM_WRITE/APEX/1") + @GET + public Response appcResponseOutput(@QueryParam("timeout") final int timeout) throws InterruptedException { + getMessagesReceived.incrementAndGet(); + + int timeLeft = timeout - 500; + + do { + String appcResponse = appcResponseQueue.poll(100, TimeUnit.MILLISECONDS); + + if (appcResponse != null) { + LOGGER.info("\n*** APPC RESPONSE START ***"); + System.err.println(appcResponse); + LOGGER.info("\n*** APPC RESPONSE END ***"); + + return Response.status(200).entity(appcResponse).build(); + } + timeLeft -= 100; + } + while (timeLeft > 0); + + return Response.status(200).build(); + } + + /** + * Post to Policy management log (Simulation of DMaaP). + * + * @param jsonString the json string + * @return the response + */ + @Path("/events/POLICY_CL_MGT") + @POST + public Response policyLogRequest(final String jsonString) { + postMessagesReceived.incrementAndGet(); + + LOGGER.info("\n*** POLICY LOG ENTRY START ***\n" + jsonString + "\n *** POLICY LOG ENTRY END ***"); + + return Response.status(200).build(); + } + + /** + * Post to APPC LCM (Simulation of DMaaP). + * + * @param jsonString the json string + * @return the response + */ + @Path("/events/APPC-LCM-READ") + @POST + public Response appcRequest(final String jsonString) { + postMessagesReceived.incrementAndGet(); + + LOGGER.info("\n*** APPC REQUEST START ***\n" + jsonString + "\n *** APPC REQUEST END ***"); + + new AppcResponseCreator(appcResponseQueue, jsonString, 10000); + + return Response.status(200).build(); + } + + /** + * Service get event. + * + * @return the response + */ + @Path("/event/GetEvent") + @GET + public Response serviceGetEvent() { + final Random rand = new Random(); + final int nextMatchCase = rand.nextInt(4); + final String nextEventName = "Event0" + rand.nextInt(2) + "00"; + + final String eventString = "{\n" + "\"nameSpace\": \"org.onap.policy.apex.sample.events\",\n" + "\"name\": \"" + + nextEventName + "\",\n" + "\"version\": \"0.0.1\",\n" + "\"source\": \"REST_" + + getMessagesReceived + "\",\n" + "\"target\": \"apex\",\n" + + "\"TestSlogan\": \"Test slogan for External Event0\",\n" + "\"TestMatchCase\": " + + nextMatchCase + ",\n" + "\"TestTimestamp\": " + System.currentTimeMillis() + ",\n" + + "\"TestTemperature\": 9080.866\n" + "}"; + + getMessagesReceived.incrementAndGet(); + + return Response.status(200).entity(eventString).build(); + } + + /** + * Service get empty event. + * + * @return the response + */ + @Path("/event/GetEmptyEvent") + @GET + public Response serviceGetEmptyEvent() { + return Response.status(200).build(); + } + + /** + * Service get event bad response. + * + * @return the response + */ + @Path("/event/GetEventBadResponse") + @GET + public Response serviceGetEventBadResponse() { + return Response.status(400).build(); + } + + /** + * Service post request. + * + * @param jsonString the json string + * @return the response + */ + @Path("/event/PostEvent") + @POST + public Response servicePostRequest(final String jsonString) { + postMessagesReceived.incrementAndGet(); + + @SuppressWarnings("unchecked") + final Map<String, Object> jsonMap = new Gson().fromJson(jsonString, Map.class); + assertTrue(jsonMap.containsKey("name")); + assertEquals("0.0.1", jsonMap.get("version")); + assertEquals("org.onap.policy.apex.sample.events", jsonMap.get("nameSpace")); + assertEquals("Act", jsonMap.get("source")); + assertEquals("Outside", jsonMap.get("target")); + + return Response.status(200).entity("{\"GET\": , " + getMessagesReceived + ",\"STAT\": " + statMessagesReceived + + ",\"POST\": , " + postMessagesReceived + ",\"PUT\": " + putMessagesReceived + "}").build(); + } + + /** + * Service post request bad response. + * + * @param jsonString the json string + * @return the response + */ + @Path("/event/PostEventBadResponse") + @POST + public Response servicePostRequestBadResponse(final String jsonString) { + return Response.status(400).build(); + } + + /** + * Service put request. + * + * @param jsonString the json string + * @return the response + */ + @Path("/event/PutEvent") + @PUT + public Response servicePutRequest(final String jsonString) { + putMessagesReceived.incrementAndGet(); + + @SuppressWarnings("unchecked") + final Map<String, Object> jsonMap = new Gson().fromJson(jsonString, Map.class); + assertTrue(jsonMap.containsKey("name")); + assertEquals("0.0.1", jsonMap.get("version")); + assertEquals("org.onap.policy.apex.sample.events", jsonMap.get("nameSpace")); + assertEquals("Act", jsonMap.get("source")); + assertEquals("Outside", jsonMap.get("target")); + + return Response.status(200).entity("{\"GET\": , " + getMessagesReceived + ",\"STAT\": " + statMessagesReceived + + ",\"POST\": , " + postMessagesReceived + ",\"PUT\": " + putMessagesReceived + "}").build(); + } +} diff --git a/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/OnapVcpeRunner.java b/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/OnapVcpeRunner.java new file mode 100644 index 000000000..4f6b6101c --- /dev/null +++ b/examples/examples-onap-vcpe/src/test/java/org/onap/policy/apex/domains/onap/vcpe/OnapVcpeRunner.java @@ -0,0 +1,68 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2018 Ericsson. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.apex.domains.onap.vcpe; + +import org.onap.policy.apex.auth.clieditor.ApexCommandLineEditorMain; +import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities; +import org.onap.policy.apex.model.basicmodel.concepts.ApexException; +import org.onap.policy.apex.service.engine.main.ApexMain; + +/** + * Test the ONAP vCPE use case. + */ +public class OnapVcpeRunner { + + private OnapVcpeRunner() throws ApexException { + + // @formatter:off + final String[] cliArgs = new String[] { + "-c", + "src/main/resources/policy/ONAPvCPEPolicyModel.apex", + "-l", + "target/ONAPvCPEPolicyModel.log", + "-o", + "target/classes/ONAPvCPEPolicyModel.json" + }; + // @formatter:on + + new ApexCommandLineEditorMain(cliArgs); + + // @formatter:off + final String[] apexArgs = { + "-rfr", + "target/classes", + "-c", + "src/main/resources/examples/config/ONAPvCPE/ApexConfig_Sim.json", + "-m", + "target/classes/ONAPvCPEPolicyModel.json" + }; + // @formatter:on + + final ApexMain apexMain = new ApexMain(apexArgs); + + ThreadUtilities.sleep(1000000); + apexMain.shutdown(); + } + + public static void main(String[] args) throws ApexException { + new OnapVcpeRunner(); + } +} diff --git a/examples/examples-onap-vcpe/src/test/resources/config/ApexConfigFileOnly.json b/examples/examples-onap-vcpe/src/test/resources/config/ApexConfigFileOnly.json deleted file mode 100644 index ae365c39b..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/config/ApexConfigFileOnly.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "engineServiceParameters": { - "name": "MyApexEngine", - "version": "0.0.1", - "id": 45, - "instanceCount": 4, - "deploymentPort": 12561, - "policyModelFileName": "policy/ONAPvCPEPolicyModel.json", - "engineParameters": { - "executorParameters": { - "JAVASCRIPT": { - "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" - } - }, - "contextParameters": { - "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters", - "schemaParameters": { - "Avro": { - "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters" - } - } - } - } - }, - "eventInputParameters": { - "VCPEInitConsumer": { - "carrierTechnologyParameters": { - "carrierTechnology": "FILE", - "parameters": { - "fileName": "src/main/resources/config/VCPEInitiationEvents.txt" - } - }, - "eventProtocolParameters": { - "eventProtocol": "JSON", - "parameters": { - "nameAlias": "closedLoopControlName", - "versionAlias": "version", - "sourceAlias": "from" - } - } - }, - "GuardRequestorConsumer": { - "carrierTechnologyParameters": { - "carrierTechnology": "RESTREQUESTOR", - "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RESTRequestorCarrierTechnologyParameters", - "parameters": { - "url": "http://localhost:54321/AAIAndGuardSim/sim/pdp/api/getDecision", - "httpMethod": "POST", - "restRequestTimeout": 2000 - } - }, - "eventProtocolParameters": { - "eventProtocol": "JSON" - }, - "eventName": "GuardResponseEvent", - "eventNameFilter": "GuardResponseEvent", - "requestorMode": true, - "requestorPeer": "GuardRequestorProducer", - "requestorTimeout": 500 - } - }, - "eventOutputParameters": { - "GuardRequestorProducer": { - "carrierTechnologyParameters": { - "carrierTechnology": "RESTREQUESTOR", - "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RESTRequestorCarrierTechnologyParameters" - }, - "eventProtocolParameters": { - "eventProtocol": "JSON" - }, - "eventNameFilter": "GuardRequestEvent", - "requestorMode": true, - "requestorPeer": "GuardRequestorConsumer", - "requestorTimeout": 500 - }, - "logProducer": { - "carrierTechnologyParameters": { - "carrierTechnology": "FILE", - "parameters": { - "fileName": "/tmp/VCPEEventsOut.json" - } - }, - "eventProtocolParameters": { - "eventProtocol": "JSON" - } - } - } -} diff --git a/examples/examples-onap-vcpe/src/test/resources/config/appc.lcm.success.json b/examples/examples-onap-vcpe/src/test/resources/config/appc.lcm.success.json deleted file mode 100644 index 2d2005d98..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/config/appc.lcm.success.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "body": { - "output": { - "common-header": { - "timestamp": "2017-08-25T21:06:23.037Z", - "api-ver": "5.00", - "originator-id": "664be3d2-6c12-4f4b-a3e7-c349acced200", - "request-id": "664be3d2-6c12-4f4b-a3e7-c349acced200", - "sub-request-id": "1", - "flags": {} - }, - "status": { - "code": 400, - "message": "Restart Successful" - } - } - }, - "version": "2.0", - "rpc-name": "restart", - "correlation-id": "664be3d2-6c12-4f4b-a3e7-c349acced200-1", - "type": "response" -}
\ No newline at end of file diff --git a/examples/examples-onap-vcpe/src/test/resources/config/dcae.vcpe.abatement.json b/examples/examples-onap-vcpe/src/test/resources/config/dcae.vcpe.abatement.json deleted file mode 100644 index 729451191..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/config/dcae.vcpe.abatement.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "closedLoopControlName": "${closedLoopControlName}", - "closedLoopAlarmStart": 1463679805324, - "closedLoopAlarmEnd": 1463699805324, - "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", - "closedLoopEventStatus": "ABATED", - "requestID": "664be3d2-6c12-4f4b-a3e7-c349acced200", - "target_type": "VNF", - "target": "generic-vnf.vnf-id", - "AAI": { - "vserver.is-closed-loop-disabled": "false", - "generic-vnf.vnf-id": "vCPE_Infrastructure_vGMUX_demo_app" - }, - "from": "DCAE", - "version": "1.0.2" -} diff --git a/examples/examples-onap-vcpe/src/test/resources/config/dcae.vcpe.onset.json b/examples/examples-onap-vcpe/src/test/resources/config/dcae.vcpe.onset.json deleted file mode 100644 index feb15c153..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/config/dcae.vcpe.onset.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "closedLoopControlName": "${closedLoopControlName}", - "closedLoopAlarmStart": 1463679805324, - "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", - "closedLoopEventStatus": "ONSET", - "requestID": "664be3d2-6c12-4f4b-a3e7-c349acced200", - "target_type": "VNF", - "target": "generic-vnf.vnf-id", - "AAI": { - "vserver.is-closed-loop-disabled": "false", - "generic-vnf.vnf-id": "vCPE_Infrastructure_vGMUX_demo_app" - }, - "from": "DCAE", - "version": "1.0.2" -} diff --git a/examples/examples-onap-vcpe/src/test/resources/etc/Notes.txt b/examples/examples-onap-vcpe/src/test/resources/etc/Notes.txt new file mode 100644 index 000000000..5db41a2a0 --- /dev/null +++ b/examples/examples-onap-vcpe/src/test/resources/etc/Notes.txt @@ -0,0 +1,31 @@ +Check out Draft Review + +Build the source +mvn clean install + +Build the docker image for the demo +cd packages/apex-pdp-docker/src/main/ +cp ../../../apex-pdp-package-full/target/apex-pdp-package-full-2.0.0-SNAPSHOT-tarball.tar.gz docker/apex-pdp-package-full.tar.gz +docker build -t apex-onap-vcpe docker + +Run the Docker container +docker run -it --rm -p 12561:12561 apex-onap-vcpe + +Find the address of the host containter +ip route list + +Update the configuration file REST URLs with the IP address of the source container +vi examples/config/ONAPvCPE/ApexConfig.json +examples/config/ONAPvCPE/ApexConfigStdin.json + +Run simulator from command line on host machine using Maven, replacing xxx.xxx.xxx.xxx with the IP address of the local host +mvn exec:java -Dexec.classpathScope="test" -Dexec.mainClass=org.onap.policy.apex.domains.onap.vcpe.OnapVCpeSim -Dexec.args="xxx.xxx.xxx.xxx 54321" + +Run the engine in Docker, running the full example +/opt/app/policy/apex-pdp/bin/apexApps.sh engine -c examples/config/ONAPvCPE/ApexConfig.json + +Run the engine in Docker, running with pasting into console using standard input +/opt/app/policy/apex-pdp/bin/apexApps.sh engine -c examples/config/ONAPvCPE/ApexConfigStdin.json + +On an extraction of the Apex tarball, run the Apex client +bin/apexApps.sh full-client diff --git a/examples/examples-onap-vcpe/src/test/resources/events/AAIQuery.json b/examples/examples-onap-vcpe/src/test/resources/events/AAIQuery.json deleted file mode 100644 index 46b5dbe73..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/AAIQuery.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "query-parameters": { - "named-query": { - "named-query-uuid": "a93ac487-409c-4e8c-9e5f-334ae8f99087" - } - }, - "instance-filters": { - "instance-filter": [ - { - "generic-vnf": { - "vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb" - } - } - ] - } -}
\ No newline at end of file diff --git a/examples/examples-onap-vcpe/src/test/resources/events/AAIResponse4Policy.json b/examples/examples-onap-vcpe/src/test/resources/events/AAIResponse4Policy.json deleted file mode 100644 index 5bcff1b4b..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/AAIResponse4Policy.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "inventory-response-item": [ - { - "model-name": "service-instance", - "generic-vnf": { - "vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb", - "vnf-name": "ZRDM2MMEX39", - "vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", - "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - "orchestration-status": "active", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1503082370097", - "model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", - "model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "model-name": "service-instance", - "service-instance": { - "service-instance-id": "37b8cdb7-94eb-468f-a0c2-4e3c3546578e", - "service-instance-name": "Changed Service Instance NAME", - "model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", - "model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9", - "resource-version": "1503082993532", - "orchestration-status": "Active" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "model-name": "pnf", - "generic-vnf": { - "vnf-id": "jimmy-test", - "vnf-name": "jimmy-test-vnf", - "vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", - "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - "orchestration-status": "active", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1504013830207", - "model-invariant-id": "862b25a1-262a-4961-bdaa-cdc55d69785a", - "model-version-id": "e9f1fa7d-c839-418a-9601-03dc0d2ad687" - }, - "extra-properties": { - } - }, - { - "model-name": "service-instance", - "generic-vnf": { - "vnf-id": "jimmy-test-vnf2", - "vnf-name": "jimmy-test-vnf2-named", - "vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", - "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - "orchestration-status": "active", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1504014833841", - "model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", - "model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" - }, - "extra-properties": { - } - } - ] - } - } - ] - } - } - ] -}
\ No newline at end of file diff --git a/examples/examples-onap-vcpe/src/test/resources/events/AAIResponse4VNF.json b/examples/examples-onap-vcpe/src/test/resources/events/AAIResponse4VNF.json deleted file mode 100644 index 3e8391eaa..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/AAIResponse4VNF.json +++ /dev/null @@ -1,287 +0,0 @@ -{ - "inventory-response-item": [ - { - "model-name": "vFW", - "generic-vnf": { - "vnf-id": "vFirewall_demo_app", - "vnf-name": "vFirewall_demo_app", - "vnf-type": "vFW", - "service-id": "vFirewall_demo_app", - "orchestration-status": "running", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1509456799110", - "model-invariant-id": "vFirewall", - "model-version-id": "vFW" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "vserver": { - "vserver-id": "5b06cf36-40a0-4bcb-bde9-849aa4702d67", - "vserver-name": "vFW", - "vserver-name2": "vFW", - "prov-status": "Running", - "vserver-selflink": "http://10.12.25.2:8774/v2.1/466979b815b5415ba14ada713e6e1846/servers/5b06cf36-40a0-4bcb-bde9-849aa4702d67", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1509047869791" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "vnfc": { - "vnfc-name": "VNFC_vGMUX_demo_app2", - "nfc-naming-code": "vGMUXCODE2", - "nfc-function": "vGMUX", - "prov-status": "Running", - "orchestration-status": "Error", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1509407048855" - }, - "extra-properties": { - } - }, - { - "tenant": { - "tenant-id": "466979b815b5415ba14ada713e6e1846", - "tenant-name": "Integration", - "resource-version": "1508920100541" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "cloud-region": { - "cloud-owner": "pod25", - "cloud-region-id": "RegionOne", - "identity-url": "http://10.12.25.2:5000/v3", - "sriov-automation": false, - "resource-version": "1509048416263" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "esr-system-info": { - "esr-system-info-id": "432ac032-e996-41f2-84ed-9c7a1766eb29", - "system-name": "example-system-name-val-29070", - "type": "example-type-val-85254", - "vendor": "example-vendor-val-94515", - "version": "example-version-val-71880", - "service-url": "http://10.12.25.2:5000/v3", - "user-name": "demo", - "password": "onapdemo", - "system-type": "VIM", - "ssl-cacert": "example-ssl-cacert-val-75021", - "ssl-insecure": true, - "ip-address": "example-ip-address-val-44431", - "port": "example-port-val-93234", - "cloud-domain": "Default", - "default-tenant": "Integration", - "resource-version": "1508920101033" - }, - "extra-properties": { - } - } - ] - } - } - ] - } - } - ] - } - }, - { - "vserver": { - "vserver-id": "0c52905c-f682-42cf-bd52-e7f8953e80e3", - "vserver-name": "vFW", - "vserver-name2": "vFW", - "prov-status": "Running", - "vserver-selflink": "http://10.12.25.2:8774/v2.1/466979b815b5415ba14ada713e6e1846/servers/0c52905c-f682-42cf-bd52-e7f8953e80e3", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1509047548567" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "vnfc": { - "vnfc-name": "VNFC_vGMUX_demo_app3", - "nfc-naming-code": "vGMUXCODE3", - "nfc-function": "vGMUX", - "prov-status": "Running", - "orchestration-status": "Running", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1509041912808" - }, - "extra-properties": { - } - }, - { - "tenant": { - "tenant-id": "466979b815b5415ba14ada713e6e1846", - "tenant-name": "Integration", - "resource-version": "1508920100541" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "cloud-region": { - "cloud-owner": "pod25", - "cloud-region-id": "RegionOne", - "identity-url": "http://10.12.25.2:5000/v3", - "sriov-automation": false, - "resource-version": "1509048416263" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "esr-system-info": { - "esr-system-info-id": "432ac032-e996-41f2-84ed-9c7a1766eb29", - "system-name": "example-system-name-val-29070", - "type": "example-type-val-85254", - "vendor": "example-vendor-val-94515", - "version": "example-version-val-71880", - "service-url": "http://10.12.25.2:5000/v3", - "user-name": "demo", - "password": "onapdemo", - "system-type": "VIM", - "ssl-cacert": "example-ssl-cacert-val-75021", - "ssl-insecure": true, - "ip-address": "example-ip-address-val-44431", - "port": "example-port-val-93234", - "cloud-domain": "Default", - "default-tenant": "Integration", - "resource-version": "1508920101033" - }, - "extra-properties": { - } - } - ] - } - } - ] - } - } - ] - } - }, - { - "vserver": { - "vserver-id": "33e16e02-098a-4f4e-a37f-b4e0307596c0", - "vserver-name": "vFW", - "vserver-name2": "vFW", - "prov-status": "Running", - "vserver-selflink": "http://10.12.25.2:8774/v2.1/466979b815b5415ba14ada713e6e1846/servers/33e16e02-098a-4f4e-a37f-b4e0307596c0", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1509047285114" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "vnfc": { - "vnfc-name": "vnfc-related-to-vserver-example", - "nfc-naming-code": "example-nfc-naming-code-val-78172", - "nfc-function": "example-nfc-function-val-56352", - "prov-status": "example-prov-status-val-10699", - "orchestration-status": "example-orchestration-status-val-68896", - "ipaddress-v4-oam-vip": "example-ipaddress-v4-oam-vip-val-71483", - "in-maint": true, - "is-closed-loop-disabled": true, - "group-notation": "example-group-notation-val-31912", - "resource-version": "1508800709772" - }, - "extra-properties": { - } - }, - { - "vnfc": { - "vnfc-name": "VNFC_vGMUX_demo_app", - "nfc-naming-code": "vGMUXCODE", - "nfc-function": "vGMUX", - "prov-status": "Running", - "orchestration-status": "Running", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1509041573965" - }, - "extra-properties": { - } - }, - { - "tenant": { - "tenant-id": "466979b815b5415ba14ada713e6e1846", - "tenant-name": "Integration", - "resource-version": "1508920100541" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "cloud-region": { - "cloud-owner": "pod25", - "cloud-region-id": "RegionOne", - "identity-url": "http://10.12.25.2:5000/v3", - "sriov-automation": false, - "resource-version": "1509048416263" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "esr-system-info": { - "esr-system-info-id": "432ac032-e996-41f2-84ed-9c7a1766eb29", - "system-name": "example-system-name-val-29070", - "type": "example-type-val-85254", - "vendor": "example-vendor-val-94515", - "version": "example-version-val-71880", - "service-url": "http://10.12.25.2:5000/v3", - "user-name": "demo", - "password": "onapdemo", - "system-type": "VIM", - "ssl-cacert": "example-ssl-cacert-val-75021", - "ssl-insecure": true, - "ip-address": "example-ip-address-val-44431", - "port": "example-port-val-93234", - "cloud-domain": "Default", - "default-tenant": "Integration", - "resource-version": "1508920101033" - }, - "extra-properties": { - } - } - ] - } - } - ] - } - } - ] - } - } - ] - } - } - ] -}
\ No newline at end of file diff --git a/examples/examples-onap-vcpe/src/test/resources/events/AAIResponseExample.json b/examples/examples-onap-vcpe/src/test/resources/events/AAIResponseExample.json deleted file mode 100644 index 1d3f64c78..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/AAIResponseExample.json +++ /dev/null @@ -1,206 +0,0 @@ -{ - "inventory-response-item": [ - { - "vserver": { - "vserver-id": "6ed3642c-f7a1-4a7c-9290-3d51fe1531eb", - "vserver-name": "zdfw1lb01lb02", - "vserver-name2": "zdfw1lb01lb02", - "prov-status": "ACTIVE", - "vserver-selflink": "http://10.12.25.2:8774/v2.1/41d6d38489bd40b09ea8a6b6b852dcbd/servers/6ed3642c-f7a1-4a7c-9290-3d51fe1531eb", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1510606403522" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "model-name": "vLoadBalancer", - "generic-vnf": { - "vnf-id": "db373a8d-f7be-4d02-8ac8-6ca4c305d144", - "vnf-name": "Vfmodule_vLB1113", - "vnf-type": "vLoadBalancer-1106/vLoadBalancer 0", - "service-id": "66f157fc-4148-4880-95f5-e120677e98d1", - "prov-status": "PREPROV", - "orchestration-status": "Created", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1510604011851", - "model-invariant-id": "cee050ed-92a5-494f-ab04-234307a846dc", - "model-version-id": "fd65becc-6b2c-4fe8-ace9-cc29db9a3da2", - "model-customization-id": "1983c783-444f-4e79-af3a-85e5d49628f3", - "nf-type": "", - "nf-function": "", - "nf-role": "", - "nf-naming-code": "" - }, - "extra-properties": { - "extra-property": [ - { - "property-name": "model-ver.model-version-id", - "property-value": "fd65becc-6b2c-4fe8-ace9-cc29db9a3da2" - }, - { - "property-name": "model-ver.model-name", - "property-value": "vLoadBalancer" - }, - { - "property-name": "model.model-type", - "property-value": "resource" - }, - { - "property-name": "model.model-invariant-id", - "property-value": "cee050ed-92a5-494f-ab04-234307a846dc" - }, - { - "property-name": "model-ver.model-version", - "property-value": "1.0" - } - ] - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "model-name": "vLoadBalancer-1106", - "service-instance": { - "service-instance-id": "3b12f31f-8f2d-4f5c-b875-61ff1194b941", - "service-instance-name": "vLoadBalancer-1113", - "model-invariant-id": "1321d60d-f7ff-4300-96c2-6bf0b3268b7a", - "model-version-id": "732d4692-4b97-46f9-a996-0b3339e88c50", - "resource-version": "1510603936425" - }, - "extra-properties": { - "extra-property": [ - { - "property-name": "model-ver.model-version-id", - "property-value": "732d4692-4b97-46f9-a996-0b3339e88c50" - }, - { - "property-name": "model-ver.model-name", - "property-value": "vLoadBalancer-1106" - }, - { - "property-name": "model.model-type", - "property-value": "service" - }, - { - "property-name": "model.model-invariant-id", - "property-value": "1321d60d-f7ff-4300-96c2-6bf0b3268b7a" - }, - { - "property-name": "model-ver.model-version", - "property-value": "1.0" - } - ] - } - }, - { - "model-name": "Vloadbalancer..base_vlb..module-0", - "vf-module": { - "vf-module-id": "e6b3e3eb-34e1-4c00-b8c1-2a4fbe479b12", - "vf-module-name": "Vfmodule_vLB1113-1", - "heat-stack-id": "Vfmodule_vLB1113-1/3dd6d900-772f-4fcc-a0cb-e250ab2bb4db", - "orchestration-status": "active", - "is-base-vf-module": true, - "resource-version": "1510604612557", - "model-invariant-id": "6d760188-9a24-451a-b05b-e08b86cb94f2", - "model-version-id": "93facad9-55f2-4fe0-9574-814c2bc2d071", - "model-customization-id": "93fd5bd4-8051-4074-8530-c0c504604df5", - "module-index": 0 - }, - "extra-properties": { - "extra-property": [ - { - "property-name": "model-ver.model-version-id", - "property-value": "93facad9-55f2-4fe0-9574-814c2bc2d071" - }, - { - "property-name": "model-ver.model-name", - "property-value": "Vloadbalancer..base_vlb..module-0" - }, - { - "property-name": "model.model-type", - "property-value": "resource" - }, - { - "property-name": "model.model-invariant-id", - "property-value": "6d760188-9a24-451a-b05b-e08b86cb94f2" - }, - { - "property-name": "model-ver.model-version", - "property-value": "1" - } - ] - } - }, - { - "model-name": "Vloadbalancer..dnsscaling..module-1", - "vf-module": { - "vf-module-id": "dummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144", - "vf-module-name": "dummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144", - "is-base-vf-module": false, - "resource-version": "1510610079687", - "model-invariant-id": "356a1cff-71f2-4086-9980-a2927ce11c1c", - "model-version-id": "6b93d804-cfc8-4be3-92cc-9336d135859a" - }, - "extra-properties": { - "extra-property": [ - { - "property-name": "model-ver.model-version-id", - "property-value": "6b93d804-cfc8-4be3-92cc-9336d135859a" - }, - { - "property-name": "model-ver.model-name", - "property-value": "Vloadbalancer..dnsscaling..module-1" - }, - { - "property-name": "model.model-type", - "property-value": "resource" - }, - { - "property-name": "model.model-invariant-id", - "property-value": "356a1cff-71f2-4086-9980-a2927ce11c1c" - }, - { - "property-name": "model-ver.model-version", - "property-value": "1" - } - ] - } - } - ] - } - }, - { - "tenant": { - "tenant-id": "41d6d38489bd40b09ea8a6b6b852dcbd", - "tenant-name": "Integration-SB-00", - "resource-version": "1509587770200" - }, - "extra-properties": { - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "cloud-region": { - "cloud-owner": "CloudOwner", - "cloud-region-id": "RegionOne", - "cloud-type": "SharedNode", - "owner-defined-type": "OwnerType", - "cloud-region-version": "v1", - "cloud-zone": "CloudZone", - "sriov-automation": false, - "resource-version": "1509587770092" - }, - "extra-properties": { - } - } - ] - } - } - ] - } - } - ] -} diff --git a/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartRequestEvent.json b/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartRequestEvent.json deleted file mode 100644 index 6e18a91b0..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartRequestEvent.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "rpc-name": "restart", - "version": "2.0", - "correlation-id": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "type": "request", - "body": { - "input": { - "common-header": { - "timestamp": "2018-02-26T10:23:41.97Z", - "api-ver": "2.15", - "originator-id": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "request-id": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "sub-request-id": "1", - "flags": {} - }, - "action": "Restart", - "action-identifiers": { - "vnf-id": "b4fe00ac-1da6-4b00-ac0d-8e8300db39e1" - } - } - } -}
\ No newline at end of file diff --git a/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartResponseNOKEvent.json b/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartResponseNOKEvent.json deleted file mode 100644 index 9a0ff9af1..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartResponseNOKEvent.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "rpc-name": "restart", - "version": "0.0.1", - "correlation-id": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "type": "response", - "body": { - "output": { - "common-header": { - "timestamp": "2018-02-26T10:23:42.97Z", - "api-ver": "5.00", - "originator-id": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "request-id": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "sub-request-id": "1", - "flags": {} - }, - "status": { - "code": 400, - "message": "Restart Failed" - } - } - } -}
\ No newline at end of file diff --git a/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartResponseOKEvent.json b/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartResponseOKEvent.json deleted file mode 100644 index 4afc51d85..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartResponseOKEvent.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "rpc-name": "restart", - "version": "0.0.1", - "correlation-id": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "type": "response", - "body": { - "output": { - "common-header": { - "timestamp": "2018-02-26T10:23:42.97Z", - "api-ver": "5.00", - "originator-id": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "request-id": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "sub-request-id": "1", - "flags": {} - }, - "status": { - "code": 200, - "message": "Restart Successful" - } - } - } -}
\ No newline at end of file diff --git a/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartResponseOKInitialEvent.json b/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartResponseOKInitialEvent.json deleted file mode 100644 index 2f53a83bc..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/APPCvCPERestartResponseOKInitialEvent.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "rpc-name": "restart", - "version": "0.0.1", - "correlation-id": "4a68f8a5-0db9-4070-a132-adede51ebeef", - "type": "response", - "body": { - "output": { - "common-header": { - "timestamp": "2018-02-26T10:23:42.97Z", - "api-ver": "5.00", - "originator-id": "4a68f8a5-0db9-4070-a132-adede51ebeef", - "request-id": "4a68f8a5-0db9-4070-a132-adede51ebeef", - "sub-request-id": "1", - "flags": {} - }, - "status": { - "code": 200, - "message": "Restart Successful" - } - } - } -}
\ No newline at end of file diff --git a/examples/examples-onap-vcpe/src/test/resources/events/VCPEAbatedAAIInfoEvent.json b/examples/examples-onap-vcpe/src/test/resources/events/VCPEAbatedAAIInfoEvent.json deleted file mode 100644 index 5efbfef69..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/VCPEAbatedAAIInfoEvent.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "closedLoopControlName": "ControlLoop-vCPE-85317438-861d-42a9-979e-9d96dc0a9ef1", - "closedLoopAlarmStart": 1519638001326, - "closedLoopAlarmEnd": 1519638197324, - "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", - "closedLoopEventStatus": "ABATED", - "requestID": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "target_type": "VNF", - "target": "generic-vnf.vnf-id", - "version": "1.0.2", - "from": "DCAE", - "AAI": { - "generic-vnf.vnf-id": "b4fe00ac-1da6-4b00-ac0d-8e8300db39e1", - "generic-vnf.resource-version": "1", - "generic-vnf.vnf-name": "vCPEInfraVNF13", - "generic-vnf.prov-status": "PREPROV", - "generic-vnf.is-closed-loop-disabled": "false", - "generic-vnf.orchestration-status": "Created", - "generic-vnf.vnf-type": "cCPEInfraService10/vCPEInfraService10 0", - "generic-vnf.in-maint": "false", - "generic-vnf.service-id": "5585fd2c-ad0d-4050-b0cf-dfe4a03bd01f" - } -}
\ No newline at end of file diff --git a/examples/examples-onap-vcpe/src/test/resources/events/VCPEAbatedNoAAIInfoEvent.json b/examples/examples-onap-vcpe/src/test/resources/events/VCPEAbatedNoAAIInfoEvent.json deleted file mode 100644 index 7cc910e96..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/VCPEAbatedNoAAIInfoEvent.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "closedLoopControlName": "ControlLoop-vCPE-85317438-861d-42a9-979e-9d96dc0a9ef1", - "closedLoopAlarmStart": 1519638001326, - "closedLoopAlarmEnd": 1519638197324, - "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", - "closedLoopEventStatus": "ABATED", - "requestID": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "target_type": "VNF", - "target": "generic-vnf.vnf-id", - "version": "1.0.2", - "from": "DCAE", - "AAI": { - "generic-vnf.vnf-id": "b4fe00ac-1da6-4b00-ac0d-8e8300db39e1" - } -}
\ No newline at end of file diff --git a/examples/examples-onap-vcpe/src/test/resources/events/VCPEOnsetAAIInfoEvent.json b/examples/examples-onap-vcpe/src/test/resources/events/VCPEOnsetAAIInfoEvent.json deleted file mode 100644 index 405cc0b2b..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/VCPEOnsetAAIInfoEvent.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "closedLoopControlName": "ControlLoop-vCPE-85317438-861d-42a9-979e-9d96dc0a9ef1", - "closedLoopAlarmStart": 1519638197324, - "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", - "closedLoopEventStatus": "ONSET", - "requestID": "4a68f8a5-0db9-4070-a132-adede51e3d5c", - "target_type": "VNF", - "target": "generic-vnf.vnf-id", - "AAI": { - "generic-vnf.resource-version": "1", - "generic-vnf.vnf-name": "vCPEInfraVNF13", - "generic-vnf.prov-status": "PREPROV", - "generic-vnf.is-closed-loop-disabled": "false", - "generic-vnf.orchestration-status": "Created", - "generic-vnf.vnf-type": "cCPEInfraService10/vCPEInfraService10 0", - "generic-vnf.in-maint": "false", - "generic-vnf.service-id": "5585fd2c-ad0d-4050-b0cf-dfe4a03bd01f", - "generic-vnf.vnf-id": "b4fe00ac-1da6-4b00-ac0d-8e8300db39e1" - }, - "from": "DCAE", - "version": "1.0.2" -} diff --git a/examples/examples-onap-vcpe/src/test/resources/events/VCPEOnsetNoAAIInfoEvent.json b/examples/examples-onap-vcpe/src/test/resources/events/VCPEOnsetNoAAIInfoEvent.json deleted file mode 100644 index 342451a0c..000000000 --- a/examples/examples-onap-vcpe/src/test/resources/events/VCPEOnsetNoAAIInfoEvent.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", - "closedLoopAlarmStart": 1519638197324, - "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", - "closedLoopEventStatus": "ONSET", - "requestID": "664be3d2-6c12-4f4b-a3e7-c349acced200", - "target_type": "VNF", - "target": "generic-vnf.vnf-id", - "AAI": { - "vserver.is-closed-loop-disabled": "false", - "generic-vnf.vnf-id": "b4fe00ac-1da6-4b00-ac0d-8e8300db39e1" - }, - "from": "DCAE", - "version": "1.0.2" -} |