aboutsummaryrefslogtreecommitdiffstats
path: root/controlloop/common/feature-controlloop-utils/src/main/java
diff options
context:
space:
mode:
authorJorge Hernandez <jh1730@att.com>2017-09-20 23:12:27 -0500
committerJorge Hernandez <jh1730@att.com>2017-09-21 10:29:20 -0500
commitb918b699ad033321d5c94e3a34123ee38b53fc37 (patch)
treea40dc3d93395abcb7eb48f60628f0ea697670d85 /controlloop/common/feature-controlloop-utils/src/main/java
parent35274178d40919f8df963ff54d152c5c3ca757ea (diff)
pdp-d feature to simulate aai/mso/vfc in lab
implemented as an optional loadable feature, this capability enables to bring up simulators used by junits in a pdp-d lab configuration. After lab installation, perform: 1. features enable controlloop-util 2. policy start Now the simulators are opened at ports 6666, 6667, and 6668. netstat output: tcp6 0 0 127.0.0.1:6666 :::* LISTEN 21562/java tcp6 0 0 127.0.0.1:6667 :::* LISTEN 21562/java tcp6 0 0 127.0.0.1:6668 :::* LISTEN 21562/java 21562 is the pdp-d PID in the lab. curl http://localhost:6666/aai/v11/network/generic-vnfs/generic-vnf/vnfIdA { "vnf-id": "5e49ca06-2972-4532-9ed4-6d071588d792", ... } Change-Id: I3f05333ce5549b2274eb967b2b8866189b7f8843 Issue-ID: POLICY-259 Signed-off-by: Jorge Hernandez <jh1730@att.com>
Diffstat (limited to 'controlloop/common/feature-controlloop-utils/src/main/java')
-rw-r--r--controlloop/common/feature-controlloop-utils/src/main/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeature.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/controlloop/common/feature-controlloop-utils/src/main/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeature.java b/controlloop/common/feature-controlloop-utils/src/main/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeature.java
new file mode 100644
index 000000000..50876311c
--- /dev/null
+++ b/controlloop/common/feature-controlloop-utils/src/main/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeature.java
@@ -0,0 +1,64 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2017 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.
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.drools.apps.controlloop.feature.utils;
+
+import java.io.IOException;
+
+import org.onap.policy.drools.features.PolicyEngineFeatureAPI;
+import org.onap.policy.drools.system.PolicyEngine;
+import org.onap.policy.simulators.Util;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * PDP-D feature for lab environments that provides Server simulation capabilities for AAI, SO, and
+ * VFC
+ *
+ */
+public class ControlLoopUtilsFeature implements PolicyEngineFeatureAPI {
+
+ /**
+ * Logger
+ */
+ private static Logger logger = LoggerFactory.getLogger(ControlLoopUtilsFeature.class);
+
+ @Override
+ public boolean afterStart(PolicyEngine engine) {
+ try {
+ Util.buildAaiSim();
+ Util.buildSoSim();
+ Util.buildVfcSim();
+ } catch (final InterruptedException e) {
+ logger.error("{}: initialization aborted", ControlLoopUtilsFeature.class.getName(), e);
+ Thread.currentThread().interrupt();
+ } catch (final IOException e) {
+ logger.error("{}: a simulator cannot be built because of {}",
+ ControlLoopUtilsFeature.class.getName(), e.getMessage(), e);
+ }
+ return false;
+ }
+
+ @Override
+ public int getSequenceNumber() {
+ return 100000;
+ }
+
+}