From: Jorge Hernandez Date: Mon, 2 Apr 2018 22:23:47 +0000 (-0500) Subject: installation enhancements X-Git-Tag: v1.2.0~2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F77%2F40577%2F2;p=policy%2Fdrools-applications.git installation enhancements The following changes aim to have a quicker start of the drools container: 1. For both amsterdam (and the experimental beijing) controllers dependencies are pre-installed, so the loading of 3rd party dependencies are faster. 2. Further enhancements in installation. 3. Make sure that the naming of the generated control loop artifacts have a "control loop" label associated with it, so in the future, if other applications are added (non control loop related) do not conflict and is clear. Change-Id: Iecb84d186fcc34069aa5c4a175a8a4521b38499d Issue-ID: POLICY-534 Signed-off-by: Jorge Hernandez --- diff --git a/controlloop/common/controller-beijing/.gitignore b/controlloop/common/controller-beijing/.gitignore new file mode 100644 index 000000000..2e1b1149f --- /dev/null +++ b/controlloop/common/controller-beijing/.gitignore @@ -0,0 +1 @@ +src/main/resources/beijing.drl diff --git a/controlloop/common/controller-beijing/pom.xml b/controlloop/common/controller-beijing/pom.xml new file mode 100644 index 000000000..bc805d42d --- /dev/null +++ b/controlloop/common/controller-beijing/pom.xml @@ -0,0 +1,171 @@ + + + + + 4.0.0 + + + org.onap.policy.drools-applications.controlloop.common + common + 1.2.0-SNAPSHOT + + + controller-beijing + kjar + + ${project.artifactId} + Beijing Experimental Controller + + + 1.8 + 1.8 + + + + + + org.kie + kie-maven-plugin + 6.5.0.Final + true + + + + com.coderplus.maven.plugins + copy-rename-maven-plugin + 1.0.1 + + + copy-drl + generate-resources + + copy + + + + ../../templates/archetype-cl-beijing/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl + + src/main/resources/beijing.drl + + + + + + + + + + + org.onap.policy.drools-applications.controlloop.common.model-impl + events + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + appc + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + appclcm + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + vfc + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + so + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + aai + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + sdc + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + trafficgenerator + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common + eventmanager + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common + guard + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.actors + actorServiceProvider + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.appc + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.appclcm + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.so + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.vfc + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common + policy-yaml + ${project.version} + + + com.att.research.xacml + xacml-pdp + 1.0.1 + + + org.onap.policy.drools-pdp + policy-management + ${project.version} + provided + true + + + + diff --git a/controlloop/common/controller-beijing/src/main/resources/META-INF/kmodule.xml b/controlloop/common/controller-beijing/src/main/resources/META-INF/kmodule.xml new file mode 100644 index 000000000..fb96d70fd --- /dev/null +++ b/controlloop/common/controller-beijing/src/main/resources/META-INF/kmodule.xml @@ -0,0 +1,25 @@ + + + + + + + diff --git a/controlloop/common/feature-controlloop-amsterdam/pom.xml b/controlloop/common/feature-controlloop-amsterdam/pom.xml new file mode 100644 index 000000000..84e83d9b7 --- /dev/null +++ b/controlloop/common/feature-controlloop-amsterdam/pom.xml @@ -0,0 +1,264 @@ + + + + 4.0.0 + + + org.onap.policy.drools-applications.controlloop.common + common + 1.2.0-SNAPSHOT + + + feature-controlloop-amsterdam + + + Load Amsterdam Control Loop Use Cases Controller as a feature. + + + + 1.8 + 1.8 + + + + + + maven-assembly-plugin + 2.6 + + + zipfile + + single + + package + + true + ${project.artifactId}-${project.version} + + src/assembly/assemble_zip.xml + + false + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.8 + + + copy-dependencies + + copy-dependencies + + prepare-package + + ${project.build.directory}/assembly/lib + false + true + true + false + false + false + runtime + false + + + + + + + + + + org.onap.policy.drools-applications.controlloop.common.model-impl + events + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + appc + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + appclcm + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + vfc + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + so + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + aai + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + sdc + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + trafficgenerator + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common + eventmanager + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common + guard + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.actors + actorServiceProvider + ${project.version} + + + guava + com.google.guava + + + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.appc + ${project.version} + + + guava + com.google.guava + + + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.appclcm + ${project.version} + + + guava + com.google.guava + + + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.so + ${project.version} + + + guava + com.google.guava + + + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.vfc + ${project.version} + + + guava + com.google.guava + + + + + org.onap.policy.drools-applications.controlloop.common + policy-yaml + ${project.version} + + + guava + com.google.guava + + + snakeyaml + org.yaml + + + + + com.att.research.xacml + xacml-pdp + 1.0.1 + + + commons-codec + commons-codec + + + commons-logging + commons-logging + + + guava + com.google.guava + + + commons-lang3 + org.apache.commons + + + jackson-databind + com.fasterxml.jackson.core + + + commons-collections + commons-collections + + + commons-lang + commons-lang + + + + + org.onap.policy.drools-pdp + policy-management + ${project.version} + provided + true + + + junit + junit + 4.2 + test + + + diff --git a/controlloop/common/feature-controlloop-amsterdam/src/assembly/assemble_zip.xml b/controlloop/common/feature-controlloop-amsterdam/src/assembly/assemble_zip.xml new file mode 100644 index 000000000..7d9d32ff9 --- /dev/null +++ b/controlloop/common/feature-controlloop-amsterdam/src/assembly/assemble_zip.xml @@ -0,0 +1,75 @@ + + + + + + feature-controlloop-amsterdam-package + + zip + + + false + + + + target + lib/feature + + feature-controlloop-amsterdam-${project.version}.jar + + + + target/assembly/lib + lib/dependencies + + *.jar + + + + src/main/feature/config + config + 0644 + + + + src/main/feature/bin + bin + 0744 + + + + src/main/feature/db + db + 0744 + + + + src/main/feature/install + install + 0744 + + + + + diff --git a/controlloop/packages/basex/src/files/config/amsterdam-controller.properties b/controlloop/common/feature-controlloop-amsterdam/src/main/feature/config/amsterdam-controller.properties similarity index 98% rename from controlloop/packages/basex/src/files/config/amsterdam-controller.properties rename to controlloop/common/feature-controlloop-amsterdam/src/main/feature/config/amsterdam-controller.properties index c0032dd94..b88dd5544 100644 --- a/controlloop/packages/basex/src/files/config/amsterdam-controller.properties +++ b/controlloop/common/feature-controlloop-amsterdam/src/main/feature/config/amsterdam-controller.properties @@ -2,7 +2,7 @@ # ============LICENSE_START======================================================= # ONAP # ================================================================================ -# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2018 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. diff --git a/controlloop/common/feature-controlloop-amsterdam/src/main/java/org/onap/policy/drools/apps/controlloop/feature/amsterdam/AmsterdamFeature.java b/controlloop/common/feature-controlloop-amsterdam/src/main/java/org/onap/policy/drools/apps/controlloop/feature/amsterdam/AmsterdamFeature.java new file mode 100644 index 000000000..fc7162c99 --- /dev/null +++ b/controlloop/common/feature-controlloop-amsterdam/src/main/java/org/onap/policy/drools/apps/controlloop/feature/amsterdam/AmsterdamFeature.java @@ -0,0 +1,48 @@ +/* + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * Copyright (C) 2018 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.amsterdam; + +import org.onap.policy.drools.features.PolicyEngineFeatureAPI; + +/** + * Amsterdam installation as a feature saves time + * loading the Amsterdam controller at runtime over the + * usual installation from nexus. It also reduces + * potential for errors in the pom.xml generated in + * the brmsgw side. + * + * There is no impact on other components as the brmsgw + * etc .. they will continue operating as usual. + * + * This class will be expanded in the future for additional + * functionality + * + */ +public class AmsterdamFeature implements PolicyEngineFeatureAPI { + + public static final int SEQNO = 1000; + + @Override + public int getSequenceNumber() { + return SEQNO; + } + +} diff --git a/controlloop/common/feature-controlloop-amsterdam/src/main/resources/META-INF/services/org.onap.policy.drools.features.PolicyEngineFeatureAPI b/controlloop/common/feature-controlloop-amsterdam/src/main/resources/META-INF/services/org.onap.policy.drools.features.PolicyEngineFeatureAPI new file mode 100644 index 000000000..b9caa4e1c --- /dev/null +++ b/controlloop/common/feature-controlloop-amsterdam/src/main/resources/META-INF/services/org.onap.policy.drools.features.PolicyEngineFeatureAPI @@ -0,0 +1 @@ +org.onap.policy.drools.apps.controlloop.feature.amsterdam.AmsterdamFeature diff --git a/controlloop/common/feature-controlloop-amsterdam/src/test/java/org/onap/policy/drools/apps/controlloop/feature/amsterdam/AmsterdamFeatureTest.java b/controlloop/common/feature-controlloop-amsterdam/src/test/java/org/onap/policy/drools/apps/controlloop/feature/amsterdam/AmsterdamFeatureTest.java new file mode 100644 index 000000000..2b0348578 --- /dev/null +++ b/controlloop/common/feature-controlloop-amsterdam/src/test/java/org/onap/policy/drools/apps/controlloop/feature/amsterdam/AmsterdamFeatureTest.java @@ -0,0 +1,30 @@ +/* + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * Copyright (C) 2018 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.amsterdam; + +import static org.junit.Assert.assertTrue; + +public class AmsterdamFeatureTest { + + @org.junit.Test + public void getSequenceNumber() { + assertTrue(new AmsterdamFeature().getSequenceNumber() == AmsterdamFeature.SEQNO); + } +} \ No newline at end of file diff --git a/controlloop/common/feature-controlloop-beijing/pom.xml b/controlloop/common/feature-controlloop-beijing/pom.xml new file mode 100644 index 000000000..0e53e8d1a --- /dev/null +++ b/controlloop/common/feature-controlloop-beijing/pom.xml @@ -0,0 +1,270 @@ + + + + 4.0.0 + + + org.onap.policy.drools-applications.controlloop.common + common + 1.2.0-SNAPSHOT + + + feature-controlloop-beijing + + + Load Experimental Beijing Control Loop Use Cases Controller as a feature. + + + + 1.8 + 1.8 + + + + + + src/main/feature + true + + + + + maven-assembly-plugin + 2.6 + + + zipfile + + single + + package + + true + ${project.artifactId}-${project.version} + + src/assembly/assemble_zip.xml + + false + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.8 + + + copy-dependencies + + copy-dependencies + + prepare-package + + ${project.build.directory}/assembly/lib + false + true + true + false + false + false + runtime + false + + + + + + + + + + org.onap.policy.drools-applications.controlloop.common.model-impl + events + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + appc + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + appclcm + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + vfc + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + so + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + aai + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + sdc + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.model-impl + trafficgenerator + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common + eventmanager + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common + guard + ${project.version} + + + org.onap.policy.drools-applications.controlloop.common.actors + actorServiceProvider + ${project.version} + + + guava + com.google.guava + + + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.appc + ${project.version} + + + guava + com.google.guava + + + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.appclcm + ${project.version} + + + guava + com.google.guava + + + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.so + ${project.version} + + + guava + com.google.guava + + + + + org.onap.policy.drools-applications.controlloop.common.actors + actor.vfc + ${project.version} + + + guava + com.google.guava + + + + + org.onap.policy.drools-applications.controlloop.common + policy-yaml + ${project.version} + + + guava + com.google.guava + + + snakeyaml + org.yaml + + + + + com.att.research.xacml + xacml-pdp + 1.0.1 + + + commons-codec + commons-codec + + + commons-logging + commons-logging + + + guava + com.google.guava + + + commons-lang3 + org.apache.commons + + + jackson-databind + com.fasterxml.jackson.core + + + commons-collections + commons-collections + + + commons-lang + commons-lang + + + + + org.onap.policy.drools-pdp + policy-management + ${project.version} + provided + true + + + junit + junit + 4.12 + test + + + diff --git a/controlloop/common/feature-controlloop-beijing/src/assembly/assemble_zip.xml b/controlloop/common/feature-controlloop-beijing/src/assembly/assemble_zip.xml new file mode 100644 index 000000000..f549cfc91 --- /dev/null +++ b/controlloop/common/feature-controlloop-beijing/src/assembly/assemble_zip.xml @@ -0,0 +1,75 @@ + + + + + + feature-controlloop-beijing-package + + zip + + + false + + + + target + lib/feature + + feature-controlloop-beijing-${project.version}.jar + + + + target/assembly/lib + lib/dependencies + + *.jar + + + + target/classes/config + config + 0644 + + + + src/main/feature/bin + bin + 0755 + + + + src/main/feature/db + db + 0744 + + + + src/main/feature/install + install + 0755 + + + + + diff --git a/controlloop/common/feature-controlloop-beijing/src/main/feature/config/beijing-controller.properties b/controlloop/common/feature-controlloop-beijing/src/main/feature/config/beijing-controller.properties new file mode 100644 index 000000000..a1126a09a --- /dev/null +++ b/controlloop/common/feature-controlloop-beijing/src/main/feature/config/beijing-controller.properties @@ -0,0 +1,74 @@ +### +# ============LICENSE_START======================================================= +# ONAP +# ================================================================================ +# Copyright (C) 2018 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========================================================= +### + +controller.name=beijing + +ueb.source.topics=${{PDPD_CONFIGURATION_TOPIC}},${{DCAE_TOPIC}},APPC-CL,APPC-LCM-WRITE + +ueb.source.topics.${{PDPD_CONFIGURATION_TOPIC}}.servers=${{PDPD_CONFIGURATION_SERVERS}} +ueb.source.topics.${{PDPD_CONFIGURATION_TOPIC}}.apiKey= +ueb.source.topics.${{PDPD_CONFIGURATION_TOPIC}}.apiSecret= +ueb.source.topics.${{PDPD_CONFIGURATION_TOPIC}}.events=org.onap.policy.controlloop.params.ControlLoopParams +ueb.source.topics.${{PDPD_CONFIGURATION_TOPIC}}.events.org.onap.policy.controlloop.params.ControlLoopParams.filter=closedLoopControlName=.*,controlLoopYaml=.* + +ueb.source.topics.${{DCAE_TOPIC}}.servers=${{DCAE_SERVERS}} +ueb.source.topics.${{DCAE_TOPIC}}.apiKey= +ueb.source.topics.${{DCAE_TOPIC}}.apiSecret= +ueb.source.topics.${{DCAE_TOPIC}}.events=org.onap.policy.controlloop.VirtualControlLoopEvent +ueb.source.topics.${{DCAE_TOPIC}}.events.org.onap.policy.controlloop.VirtualControlLoopEvent.filter=closedLoopEventStatus=.* +ueb.source.topics.${{DCAE_TOPIC}}.events.custom.gson=org.onap.policy.controlloop.util.Serialization,gson + +ueb.source.topics.APPC-CL.servers=${{DMAAP_SERVERS}} +ueb.source.topics.APPC-CL.apiKey= +ueb.source.topics.APPC-CL.apiSecret= +ueb.source.topics.APPC-CL.events=org.onap.policy.appc.Response +ueb.source.topics.APPC-CL.events.org.onap.policy.appc.Response.filter=CommonHeader\=.*,Status\=.* +ueb.source.topics.APPC-CL.events.custom.gson=org.onap.policy.appc.util.Serialization,gsonPretty + +ueb.source.topics.APPC-LCM-WRITE.servers=${{DMAAP_SERVERS}} +ueb.source.topics.APPC-LCM-WRITE.apiKey= +ueb.source.topics.APPC-LCM-WRITE.apiSecret= +ueb.source.topics.APPC-LCM-WRITE.events=org.onap.policy.appclcm.LCMResponseWrapper +ueb.source.topics.APPC-LCM-WRITE.events.org.onap.policy.appclcm.LCMResponseWrapper.filter=type\=response +ueb.source.topics.APPC-LCM-WRITE.events.custom.gson=org.onap.policy.appclcm.util.Serialization,gson + +ueb.sink.topics=APPC-CL,APPC-LCM-READ,POLICY-CL-MGT + +ueb.sink.topics.APPC-CL.servers=${{DMAAP_SERVERS}} +ueb.sink.topics.APPC-CL.apiKey= +ueb.sink.topics.APPC-CL.apiSecret= +ueb.sink.topics.APPC-CL.events=org.onap.policy.appc.Request +ueb.sink.topics.APPC-CL.events.custom.gson=org.onap.policy.appc.util.Serialization,gsonPretty + +ueb.sink.topics.APPC-LCM-READ.servers=${{DMAAP_SERVERS}} +ueb.sink.topics.APPC-LCM-READ.apiKey= +ueb.sink.topics.APPC-LCM-READ.apiSecret= +ueb.sink.topics.APPC-LCM-READ.events=org.onap.policy.appclcm.LCMRequestWrapper +ueb.sink.topics.APPC-LCM-READ.events.custom.gson=org.onap.policy.appclcm.util.Serialization,gson + +ueb.sink.topics.POLICY-CL-MGT.servers=${{DMAAP_SERVERS}} +ueb.sink.topics.POLICY-CL-MGT.apiKey= +ueb.sink.topics.POLICY-CL-MGT.apiSecret= +ueb.sink.topics.POLICY-CL-MGT.events=org.onap.policy.controlloop.VirtualControlLoopNotification +ueb.sink.topics.POLICY-CL-MGT.events.custom.gson=org.onap.policy.controlloop.util.Serialization,gsonPretty + +rules.groupId=${project.groupId} +rules.artifactId=controller-beijing +rules.version=${project.version} diff --git a/controlloop/common/feature-controlloop-beijing/src/main/java/org/onap/policy/drools/apps/controlloop/feature/beijing/BeijingFeature.java b/controlloop/common/feature-controlloop-beijing/src/main/java/org/onap/policy/drools/apps/controlloop/feature/beijing/BeijingFeature.java new file mode 100644 index 000000000..6f2a03c77 --- /dev/null +++ b/controlloop/common/feature-controlloop-beijing/src/main/java/org/onap/policy/drools/apps/controlloop/feature/beijing/BeijingFeature.java @@ -0,0 +1,48 @@ +/* + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * Copyright (C) 2017-2018 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.beijing; + +import org.onap.policy.drools.features.PolicyEngineFeatureAPI; + +/** + * Beijing installation as a feature saves time + * loading the Beijing controller at runtime over the + * usual installation from nexus. It also reduces + * potential for errors in the pom.xml generated in + * the brmsgw side. + * + * There is no impact on other components as the brmsgw + * etc .. they will continue operating as usual. + * + * This class will be expanded in the future for additional + * functionality + * + */ +public class BeijingFeature implements PolicyEngineFeatureAPI { + + public static final int SEQNO = 1000; + + @Override + public int getSequenceNumber() { + return SEQNO; + } + +} diff --git a/controlloop/common/feature-controlloop-beijing/src/main/resources/META-INF/services/org.onap.policy.drools.features.PolicyEngineFeatureAPI b/controlloop/common/feature-controlloop-beijing/src/main/resources/META-INF/services/org.onap.policy.drools.features.PolicyEngineFeatureAPI new file mode 100644 index 000000000..93439489c --- /dev/null +++ b/controlloop/common/feature-controlloop-beijing/src/main/resources/META-INF/services/org.onap.policy.drools.features.PolicyEngineFeatureAPI @@ -0,0 +1 @@ +org.onap.policy.drools.apps.controlloop.feature.beijing.BeijingFeature diff --git a/controlloop/common/feature-controlloop-beijing/src/test/java/org/onap/policy/drools/apps/controlloop/feature/beijing/BeijingFeatureTest.java b/controlloop/common/feature-controlloop-beijing/src/test/java/org/onap/policy/drools/apps/controlloop/feature/beijing/BeijingFeatureTest.java new file mode 100644 index 000000000..66e5a3e02 --- /dev/null +++ b/controlloop/common/feature-controlloop-beijing/src/test/java/org/onap/policy/drools/apps/controlloop/feature/beijing/BeijingFeatureTest.java @@ -0,0 +1,32 @@ +/* + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * Copyright (C) 2018 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.beijing; + +import static org.junit.Assert.*; + +import org.onap.policy.drools.apps.controlloop.feature.beijing.BeijingFeature; + +public class BeijingFeatureTest { + + @org.junit.Test + public void getSequenceNumber() { + assertTrue(new BeijingFeature().getSequenceNumber() == BeijingFeature.SEQNO); + } +} diff --git a/controlloop/common/pom.xml b/controlloop/common/pom.xml index 4c322e262..445118e63 100644 --- a/controlloop/common/pom.xml +++ b/controlloop/common/pom.xml @@ -39,8 +39,11 @@ model-impl policy-yaml simulators + controller-beijing feature-controlloop-utils feature-controlloop-trans + feature-controlloop-amsterdam + feature-controlloop-beijing msb diff --git a/controlloop/packages/apps/pom.xml b/controlloop/packages/apps-controlloop/pom.xml similarity index 81% rename from controlloop/packages/apps/pom.xml rename to controlloop/packages/apps-controlloop/pom.xml index db843b55b..03d726f39 100644 --- a/controlloop/packages/apps/pom.xml +++ b/controlloop/packages/apps-controlloop/pom.xml @@ -29,9 +29,9 @@ 1.2.0-SNAPSHOT - apps + apps-controlloop - Drools Applications Installation Package + apps-controlloop Drools Applications Installation Package @@ -56,17 +56,17 @@ - + org.onap.policy.drools-applications.controlloop.packages - basex + basex-controlloop ${project.version} tar.gz org.onap.policy.drools-applications.controlloop.packages - artifacts + artifacts-controlloop ${project.version} zip @@ -82,6 +82,18 @@ ${project.version} zip + + org.onap.policy.drools-applications.controlloop.common + feature-controlloop-amsterdam + ${project.version} + zip + + + org.onap.policy.drools-applications.controlloop.common + feature-controlloop-beijing + ${project.version} + zip + diff --git a/controlloop/packages/apps/src/assembly/zip.xml b/controlloop/packages/apps-controlloop/src/assembly/zip.xml similarity index 100% rename from controlloop/packages/apps/src/assembly/zip.xml rename to controlloop/packages/apps-controlloop/src/assembly/zip.xml diff --git a/controlloop/packages/apps-controlloop/src/files/README.controlloop.apps.txt b/controlloop/packages/apps-controlloop/src/files/README.controlloop.apps.txt new file mode 100644 index 000000000..58f209310 --- /dev/null +++ b/controlloop/packages/apps-controlloop/src/files/README.controlloop.apps.txt @@ -0,0 +1,7 @@ +The Control Loop PDP-D application installation package contains: + +1. artifacts-controlloop-.zip contains models and other jars to install in the PDP-D nexus instance. +2. basex-controlloop-.tar.gz contains scripts and additional files to support the application. + +The apps-.zip must be placed in the same directory as the PDP-D installation package previous +to its installation. diff --git a/controlloop/packages/apps-controlloop/src/files/apps-controlloop-installer b/controlloop/packages/apps-controlloop/src/files/apps-controlloop-installer new file mode 100644 index 000000000..b50f6efea --- /dev/null +++ b/controlloop/packages/apps-controlloop/src/files/apps-controlloop-installer @@ -0,0 +1,45 @@ +#!/bin/bash -x + +### +# ============LICENSE_START======================================================= +# Apps Installation Package +# ================================================================================ +# 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========================================================= +### + +# +# This file will be automatically invoked by the main pdp-d installer +# for drools applications +# + +echo +echo "**********************************" +echo " CONTROL LOOP APP INSTALL " +echo "**********************************" +echo + +source ${POLICY_HOME}/etc/build.info + +# nothing to do except enabling some features + +features install controlloop-trans +features install controlloop-amsterdam +features install controlloop-beijing + +features enable controlloop-trans +features enable controlloop-amsterdam + + diff --git a/controlloop/packages/apps/src/files/README.apps.txt b/controlloop/packages/apps/src/files/README.apps.txt deleted file mode 100644 index aab021885..000000000 --- a/controlloop/packages/apps/src/files/README.apps.txt +++ /dev/null @@ -1,8 +0,0 @@ - -The PDP-D apps installation package contains: - -1. artifacts-.zip contains models and other jars to support PDP-D applications. -2. basex-.tar.gz contains scripts and additional files to support the PDP-D models. - -The apps-.zip must be placed in the same directory as the installation package -before installation before installation is attempted. diff --git a/controlloop/packages/apps/src/files/apps-installer b/controlloop/packages/apps/src/files/apps-installer deleted file mode 100644 index cff4376f7..000000000 --- a/controlloop/packages/apps/src/files/apps-installer +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash - -### -# ============LICENSE_START======================================================= -# Apps Installation Package -# ================================================================================ -# 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========================================================= -### - -# -# This file will be automatically invoked by the main pdp-d installer -# for drools applications -# - -echo -echo "*****************************" -echo " DROOLS APPS INSTALL " -echo "*****************************" -echo - -source ${POLICY_HOME}/etc/build.info - -features install controlloop-trans -features enable controlloop-trans - -# caching in local maven repo all dependencies to make it -# easier for drools kie-ci - aether to fetch them - -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=com.att.research.xacml:xacml-pdp:1.0.0:jar - -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.templates:archetype-cl-amsterdam:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.model-impl:events:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.model-impl:appc:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.model-impl:appclcm:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.model-impl:aai:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.model-impl:so:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.model-impl:trafficgenerator:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications:controlloop.common:eventmanager:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common:guard:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.actors:actorServiceProvider:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.actors:actor.appc:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.actors:actor.appclcm:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.actors:actor.so:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.actors:actor.vfc:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.common.policy-yaml:${version}:jar -Dtransitive=false -mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:get -Dartifact=org.onap.policy.drools-applications.controlloop.templates:template.demo:${version}:jar -Dtransitive=false diff --git a/controlloop/packages/artifacts-controlloop/pom.xml b/controlloop/packages/artifacts-controlloop/pom.xml new file mode 100644 index 000000000..0d551265b --- /dev/null +++ b/controlloop/packages/artifacts-controlloop/pom.xml @@ -0,0 +1,63 @@ + + + + 4.0.0 + pom + + + org.onap.policy.drools-applications.controlloop.packages + packages + 1.2.0-SNAPSHOT + + + artifacts-controlloop + + artifacts-controlloop + Companion artifacts for a drools application to install in nexus repository + + + + + maven-assembly-plugin + + + + single + + package + + + src/assembly/zip.xml + + false + + + + + + + + + + + diff --git a/controlloop/packages/artifacts/src/assembly/zip.xml b/controlloop/packages/artifacts-controlloop/src/assembly/zip.xml similarity index 89% rename from controlloop/packages/artifacts/src/assembly/zip.xml rename to controlloop/packages/artifacts-controlloop/src/assembly/zip.xml index 3c7c61973..6a14b8b93 100644 --- a/controlloop/packages/artifacts/src/assembly/zip.xml +++ b/controlloop/packages/artifacts-controlloop/src/assembly/zip.xml @@ -24,6 +24,13 @@ zip false + + + src/files + . + 755 + + artifacts diff --git a/controlloop/packages/artifacts-controlloop/src/files/README.controlloop.artifacts.txt b/controlloop/packages/artifacts-controlloop/src/files/README.controlloop.artifacts.txt new file mode 100644 index 000000000..f229dbf36 --- /dev/null +++ b/controlloop/packages/artifacts-controlloop/src/files/README.controlloop.artifacts.txt @@ -0,0 +1,2 @@ +The artifacts directory contains Control Loop Application Dependencies that are +to be installed in the local nexus instance. \ No newline at end of file diff --git a/controlloop/packages/artifacts/pom.xml b/controlloop/packages/artifacts/pom.xml deleted file mode 100644 index 3b49a75ce..000000000 --- a/controlloop/packages/artifacts/pom.xml +++ /dev/null @@ -1,204 +0,0 @@ - - - - 4.0.0 - pom - - - org.onap.policy.drools-applications.controlloop.packages - packages - 1.2.0-SNAPSHOT - - - artifacts - - Artifacts for Drools Applications - Drools Application models, rules and tooling - - - - - maven-assembly-plugin - - - - single - - package - - - src/assembly/zip.xml - - false - - - - - - - - - - - org.onap.policy.drools-applications - drools-applications - ${project.version} - pom - - - org.onap.policy.drools-applications - controlloop - ${project.version} - pom - - - org.onap.policy.drools-applications.controlloop - controlloop - ${project.version} - pom - - - org.onap.policy.drools-applications.controlloop.common.model-impl - model-impl - ${project.version} - pom - - - - org.onap.policy.drools-applications.controlloop.common.model-impl - events - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.model-impl - appc - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.model-impl - appclcm - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.model-impl - vfc - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.model-impl - aai - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.model-impl - so - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.model-impl - sdc - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.model-impl - trafficgenerator - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common - eventmanager - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common - guard - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.actors - actorServiceProvider - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.actors - actor.appc - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.actors - actor.appclcm - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.actors - actor.so - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common.actors - actor.vfc - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.common - policy-yaml - ${project.version} - jar - - - org.onap.policy.drools-applications.controlloop.templates - template.demo - ${project.version} - jar - - - com.att.research.xacml - xacml-pdp - 1.0.1 - jar - - - - commons-collections - commons-collections - - - - - diff --git a/controlloop/packages/basex/pom.xml b/controlloop/packages/basex-controlloop/pom.xml similarity index 89% rename from controlloop/packages/basex/pom.xml rename to controlloop/packages/basex-controlloop/pom.xml index ed5016bcb..9a6850f97 100644 --- a/controlloop/packages/basex/pom.xml +++ b/controlloop/packages/basex-controlloop/pom.xml @@ -29,10 +29,10 @@ 1.2.0-SNAPSHOT - basex + basex-controlloop - Drools ApplicationsBase Package - Drools Applications Packaging + basex-controlloop + Control Loop Drools Applications Base Extension Package @@ -46,7 +46,7 @@ package - src/assembly/zip.xml + src/assembly/zip.xml false diff --git a/controlloop/packages/basex/src/assembly/zip.xml b/controlloop/packages/basex-controlloop/src/assembly/zip.xml similarity index 95% rename from controlloop/packages/basex/src/assembly/zip.xml rename to controlloop/packages/basex-controlloop/src/assembly/zip.xml index a33f1b7e5..1020327ce 100644 --- a/controlloop/packages/basex/src/assembly/zip.xml +++ b/controlloop/packages/basex-controlloop/src/assembly/zip.xml @@ -19,7 +19,7 @@ --> - basex + basex-controlloop tar.gz @@ -28,7 +28,7 @@ src/files . - 700 + 755 700 diff --git a/controlloop/packages/basex/src/files/bin/create-cl-amsterdam b/controlloop/packages/basex-controlloop/src/files/bin/create-cl-amsterdam similarity index 100% rename from controlloop/packages/basex/src/files/bin/create-cl-amsterdam rename to controlloop/packages/basex-controlloop/src/files/bin/create-cl-amsterdam diff --git a/controlloop/packages/basex/src/files/bin/create-cl-beijing b/controlloop/packages/basex-controlloop/src/files/bin/create-cl-beijing similarity index 100% rename from controlloop/packages/basex/src/files/bin/create-cl-beijing rename to controlloop/packages/basex-controlloop/src/files/bin/create-cl-beijing diff --git a/controlloop/packages/basex/src/files/bin/push-policies-beijing b/controlloop/packages/basex-controlloop/src/files/bin/push-policies-beijing similarity index 100% rename from controlloop/packages/basex/src/files/bin/push-policies-beijing rename to controlloop/packages/basex-controlloop/src/files/bin/push-policies-beijing diff --git a/controlloop/packages/basex/src/files/config/controlloop.properties.environment b/controlloop/packages/basex-controlloop/src/files/config/controlloop.properties.environment similarity index 100% rename from controlloop/packages/basex/src/files/config/controlloop.properties.environment rename to controlloop/packages/basex-controlloop/src/files/config/controlloop.properties.environment diff --git a/controlloop/packages/pom.xml b/controlloop/packages/pom.xml index 99e4beaa0..bdaa6a8a3 100644 --- a/controlloop/packages/pom.xml +++ b/controlloop/packages/pom.xml @@ -36,8 +36,8 @@ PDP-D Installation - basex - artifacts - apps + basex-controlloop + artifacts-controlloop + apps-controlloop diff --git a/controlloop/templates/archetype-cl-beijing/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl b/controlloop/templates/archetype-cl-beijing/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl index 013e6076e..7f43c6026 100644 --- a/controlloop/templates/archetype-cl-beijing/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl +++ b/controlloop/templates/archetype-cl-beijing/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl @@ -822,7 +822,7 @@ rule "APPC.LCM.RESPONSE" $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.getClosedLoopControlName(), onset.getRequestId() == $event.getRequestId() ) $opTimer : OperationTimer( closedLoopControlName == $event.getClosedLoopControlName(), requestID == $event.getRequestId().toString() ) $lock : TargetLock (requestID == $event.getRequestId()) - $response : LcmResponseWrapper( getBody().get().getRequestId() == $event.getRequestId() ) + $response : LcmResponseWrapper( getBody().getCommonHeader().getRequestId() == $event.getRequestId() ) then Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); @@ -900,7 +900,7 @@ end rule "APPC.LCM.RESPONSE.CLEANUP" when $params : ControlLoopParams( $clName : getClosedLoopControlName() ) - $response : LcmResponseWrapper($id : getBody().get().getRequestId ) + $response : LcmResponseWrapper($id : getBody().getCommonHeader().getRequestId ) not ( VirtualControlLoopEvent( requestId == $id, closedLoopEventStatus == ControlLoopEventStatus.ONSET ) ) then