From e887a0c6c415a00888e17d1bbfe4acf548a2cfa5 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Fri, 17 Apr 2020 15:09:21 -0400 Subject: Add PNF support to new CDS actor Made the following updates: - added new A&AI get-PNF Operation by refactoring AaiGetOperation, separating out Tenant and PNF operations - added PNF support to the CDS actor - added logging to the CDS Handler - added get-pnf to the A&AI simulator Issue-ID: POLICY-2505 Change-Id: Iff140e7c864f762790d8e2ecaba62c161c859e6e Signed-off-by: Jim Hahn --- models-interactions/model-impl/cds/pom.xml | 6 ++++++ .../policy/cds/client/CdsProcessorGrpcClient.java | 11 ++++++++++- .../onap/policy/cds/client/CdsProcessorHandler.java | 19 ++++++++++++++++++- .../policy/cds/client/CdsProcessorGrpcClientTest.java | 2 +- 4 files changed, 35 insertions(+), 3 deletions(-) (limited to 'models-interactions/model-impl/cds') diff --git a/models-interactions/model-impl/cds/pom.xml b/models-interactions/model-impl/cds/pom.xml index 96a94263c..02a4c5a33 100644 --- a/models-interactions/model-impl/cds/pom.xml +++ b/models-interactions/model-impl/cds/pom.xml @@ -102,6 +102,12 @@ common-parameters ${policy.common.version} + + org.onap.policy.common + policy-endpoints + ${policy.common.version} + provided + diff --git a/models-interactions/model-impl/cds/src/main/java/org/onap/policy/cds/client/CdsProcessorGrpcClient.java b/models-interactions/model-impl/cds/src/main/java/org/onap/policy/cds/client/CdsProcessorGrpcClient.java index b8ec7acf5..efa8369bc 100644 --- a/models-interactions/model-impl/cds/src/main/java/org/onap/policy/cds/client/CdsProcessorGrpcClient.java +++ b/models-interactions/model-impl/cds/src/main/java/org/onap/policy/cds/client/CdsProcessorGrpcClient.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 Bell Canada. + * Modifications Copyright (C) 2020 AT&T Intellectual Property. 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. @@ -55,11 +56,19 @@ public class CdsProcessorGrpcClient implements AutoCloseable { Preconditions.checkState(validationResult.getStatus().isValid(), "Error validating CDS server " + "properties: " + validationResult.getResult()); + StringBuilder bldr = new StringBuilder("gRPC://"); + bldr.append(props.getHost()); + bldr.append(":"); + bldr.append(props.getPort()); + bldr.append('/'); + + String url = bldr.toString(); + this.channel = NettyChannelBuilder.forAddress(props.getHost(), props.getPort()) .nameResolverFactory(new DnsNameResolverProvider()) .loadBalancerFactory(new PickFirstLoadBalancerProvider()) .intercept(new BasicAuthClientHeaderInterceptor(props)).usePlaintext().build(); - this.handler = new CdsProcessorHandler(listener); + this.handler = new CdsProcessorHandler(listener, url); LOGGER.info("CdsProcessorListener started"); } diff --git a/models-interactions/model-impl/cds/src/main/java/org/onap/policy/cds/client/CdsProcessorHandler.java b/models-interactions/model-impl/cds/src/main/java/org/onap/policy/cds/client/CdsProcessorHandler.java index 5c011d83b..84baecdf1 100644 --- a/models-interactions/model-impl/cds/src/main/java/org/onap/policy/cds/client/CdsProcessorHandler.java +++ b/models-interactions/model-impl/cds/src/main/java/org/onap/policy/cds/client/CdsProcessorHandler.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 Bell Canada. + * Modifications Copyright (C) 2020 AT&T Intellectual Property. 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. @@ -27,6 +28,9 @@ import org.onap.ccsdk.cds.controllerblueprints.processing.api.BluePrintProcessin import org.onap.ccsdk.cds.controllerblueprints.processing.api.ExecutionServiceInput; import org.onap.ccsdk.cds.controllerblueprints.processing.api.ExecutionServiceOutput; import org.onap.policy.cds.api.CdsProcessorListener; +import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure; +import org.onap.policy.common.endpoints.utils.NetLoggerUtil; +import org.onap.policy.common.endpoints.utils.NetLoggerUtil.EventType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,9 +39,11 @@ public class CdsProcessorHandler { private static final Logger LOGGER = LoggerFactory.getLogger(CdsProcessorHandler.class); private CdsProcessorListener listener; + private String url; - CdsProcessorHandler(final CdsProcessorListener listener) { + CdsProcessorHandler(final CdsProcessorListener listener, String url) { this.listener = listener; + this.url = url; } CountDownLatch process(ExecutionServiceInput request, ManagedChannel channel) { @@ -50,11 +56,18 @@ public class CdsProcessorHandler { final StreamObserver responseObserver = new StreamObserver() { @Override public void onNext(ExecutionServiceOutput output) { + LOGGER.info("[{}|{}|{}|]{}{}", EventType.IN, CommInfrastructure.REST, url, NetLoggerUtil.SYSTEM_LS, + output.toString()); + NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST, url, output.toString()); + listener.onMessage(output); } @Override public void onError(Throwable throwable) { + LOGGER.info("[{}|{}|{}|]{}{}", EventType.IN, CommInfrastructure.REST, url, NetLoggerUtil.SYSTEM_LS, + throwable.toString()); + NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST, url, throwable.toString()); listener.onError(throwable); finishLatch.countDown(); } @@ -69,6 +82,10 @@ public class CdsProcessorHandler { final StreamObserver requestObserver = asyncStub.process(responseObserver); try { + LOGGER.info("[{}|{}|{}|]{}{}", EventType.OUT, CommInfrastructure.REST, url, NetLoggerUtil.SYSTEM_LS, + request.toString()); + NetLoggerUtil.log(EventType.OUT, CommInfrastructure.REST, url, request.toString()); + // Send the message to CDS backend for processing requestObserver.onNext(request); // Mark the end of requests diff --git a/models-interactions/model-impl/cds/src/test/java/org/onap/policy/cds/client/CdsProcessorGrpcClientTest.java b/models-interactions/model-impl/cds/src/test/java/org/onap/policy/cds/client/CdsProcessorGrpcClientTest.java index 9d01ec851..0922fc4cb 100644 --- a/models-interactions/model-impl/cds/src/test/java/org/onap/policy/cds/client/CdsProcessorGrpcClientTest.java +++ b/models-interactions/model-impl/cds/src/test/java/org/onap/policy/cds/client/CdsProcessorGrpcClientTest.java @@ -92,7 +92,7 @@ public class CdsProcessorGrpcClientTest { .register(InProcessChannelBuilder.forName(SERVER_NAME).directExecutor().build()); // Create an instance of the gRPC client - client = new CdsProcessorGrpcClient(channel, new CdsProcessorHandler(listener)); + client = new CdsProcessorGrpcClient(channel, new CdsProcessorHandler(listener, "gRPC://localhost:1234/")); // Implement the test gRPC server BluePrintProcessingServiceImplBase testCdsBlueprintServerImpl = new BluePrintProcessingServiceImplBase() { -- cgit 1.2.3-korg