diff options
Diffstat (limited to 'controlloop/packages/basex-controlloop')
7 files changed, 118 insertions, 847 deletions
diff --git a/controlloop/packages/basex-controlloop/pom.xml b/controlloop/packages/basex-controlloop/pom.xml index e2b57afc8..593016816 100644 --- a/controlloop/packages/basex-controlloop/pom.xml +++ b/controlloop/packages/basex-controlloop/pom.xml @@ -1,15 +1,15 @@ <!-- ============LICENSE_START======================================================= - PDP-D Application Installation Packages + ONAP ================================================================================ - Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + Copyright (C) 2017-2019 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. @@ -18,42 +18,73 @@ ============LICENSE_END========================================================= --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <packaging>pom</packaging> - - <parent> - <groupId>org.onap.policy.drools-applications.controlloop.packages</groupId> - <artifactId>packages</artifactId> - <version>1.4.0-SNAPSHOT</version> - </parent> - - <artifactId>basex-controlloop</artifactId> - - <name>basex-controlloop</name> - <description>Control Loop Drools Applications Base Extension Package</description> - - <build> - <plugins> - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>single</goal> - </goals> - <phase>package</phase> - <configuration> - <descriptors> - <descriptor>src/assembly/zip.xml</descriptor> - </descriptors> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <packaging>pom</packaging> + + <parent> + <groupId>org.onap.policy.drools-applications.controlloop.packages</groupId> + <artifactId>packages</artifactId> + <version>1.4.0-SNAPSHOT</version> + </parent> + + <artifactId>basex-controlloop</artifactId> + + <name>basex-controlloop</name> + <description>Control Loop Drools Applications Base Extension Package</description> + + <build> + + <plugins> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <executions> + <execution> + <id>copy-resources</id> + <phase>validate</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${project.basedir}/target</outputDirectory> + <resources> + <resource> + <directory>src/main/resources</directory> + <includes> + <include>apps-controlloop-version</include> + </includes> + <filtering>true</filtering> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>single</goal> + </goals> + <phase>package</phase> + <configuration> + <descriptors> + <descriptor>src/assembly/zip.xml</descriptor> + </descriptors> + <appendAssemblyId>false</appendAssemblyId> + </configuration> + </execution> + </executions> + </plugin> + + </plugins> + + </build> </project> diff --git a/controlloop/packages/basex-controlloop/src/assembly/zip.xml b/controlloop/packages/basex-controlloop/src/assembly/zip.xml index 1020327ce..caa943c21 100644 --- a/controlloop/packages/basex-controlloop/src/assembly/zip.xml +++ b/controlloop/packages/basex-controlloop/src/assembly/zip.xml @@ -1,15 +1,15 @@ <!-- ============LICENSE_START======================================================= - PDP-D APPS Base Package + ONAP ================================================================================ - Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + Copyright (C) 2017-2019 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. @@ -19,18 +19,26 @@ --> <assembly> - <id>basex-controlloop</id> - <formats> - <format>tar.gz</format> - </formats> - <includeBaseDirectory>false</includeBaseDirectory> - <fileSets> - <fileSet> - <directory>src/files</directory> - <outputDirectory>.</outputDirectory> - <fileMode>755</fileMode> - <directoryMode>700</directoryMode> - </fileSet> - </fileSets> + <id>basex-controlloop</id> + <formats> + <format>tar.gz</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + <fileSets> + <fileSet> + <directory>src/files</directory> + <outputDirectory>.</outputDirectory> + <fileMode>755</fileMode> + <directoryMode>700</directoryMode> + </fileSet> + <fileSet> + <directory>target</directory> + <outputDirectory>etc/apps</outputDirectory> + <fileMode>755</fileMode> + <directoryMode>700</directoryMode> + <includes> + <include>apps-controlloop-version</include> + </includes> + </fileSet> + </fileSets> </assembly> - diff --git a/controlloop/packages/basex-controlloop/src/files/bin/create-cl-amsterdam b/controlloop/packages/basex-controlloop/src/files/bin/create-cl-amsterdam deleted file mode 100644 index 5beb6e134..000000000 --- a/controlloop/packages/basex-controlloop/src/files/bin/create-cl-amsterdam +++ /dev/null @@ -1,231 +0,0 @@ -#! /bin/bash - -### -# ============LICENSE_START======================================================= -# PDP-D APPS Base 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========================================================= -### - -# Interactive script to generate and install in a pdp-d control loops demo rules -# for a standalone PDP-D usage - -source "${POLICY_HOME}"/etc/build.info - -echo "Control Loop CLI Generator for R1 Amsterdam Release" -echo "---------------------------------------------------" -echo - -GROUP_ID="org.onap.policy.rules.amsterdam" -ARTIFACT_ID="amsterdam" -VERSION="${version:-1.1.1}" -PACKAGE="org.onap.policy.rules.amsterdam" -CONTROL_LOOP_NAME="ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e" -POLICY_SCOPE="amsterdam" -POLICY_NAME="vcpe" -POLICY_VERSION="v0.0.1" -CONTROL_LOOP_YAML="controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+true%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" -DMAAP_SERVERS="vm1.mr.simpledemo.openecomp.org" -DCAE_TOPIC="unauthenticated.DCAE_CL_OUTPUT" -DCAE_SERVERS="vm1.mr.simpledemo.openecomp.org" - -read -e -i "${GROUP_ID}" -p "Target Rules Group Id> " GROUP_ID -read -e -i "${ARTIFACT_ID}" -p "Target Rules Artifact Id> " ARTIFACT_ID -read -e -i "${VERSION}" -p "Target Rules Version> " VERSION -read -e -i "${PACKAGE}" -p "Target Rules Java Package> " PACKAGE - -read -e -i "${CONTROL_LOOP_NAME}" -p "Template Control Loop Name> " CONTROL_LOOP_NAME -read -e -i "${POLICY_SCOPE}" -p "Template Policy Scope> " POLICY_SCOPE -read -e -i "${POLICY_NAME}" -p "Template Policy Name> " POLICY_NAME -read -e -i "${POLICY_VERSION}" -p "Template Policy Version> " POLICY_VERSION - -read -e -i "${CONTROL_LOOP_YAML}" -p "Control Loop Yaml> " CONTROL_LOOP_YAML - -read -e -i "${DCAE_SERVERS}" -p "Configuration DCAE DMaaP Servers> " DCAE_SERVERS -read -e -i "${DMAAP_SERVERS}" -p "Configuration Open DMaaP Servers> " DMAAP_SERVERS -read -e -i "${DCAE_TOPIC}" -p "Template DCAE Topic> " DCAE_TOPIC - -echo -echo - -if [ -z "${GROUP_ID}" ]; then echo "Aborting: Rules Maven Group Id not provided"; exit 1; fi -if [ -z "${ARTIFACT_ID}" ]; then echo "Aborting: Rules Maven Coordinates Artifact Id not provided"; exit 1; fi -if [ -z "${VERSION}" ]; then echo "Aborting: Rules Maven Coordinates Version not provided"; exit 1; fi -if [ -z "${PACKAGE}" ]; then echo "Aborting: Rules Package not provided"; exit 1; fi -if [ -z "${CONTROL_LOOP_NAME}" ]; then echo "Aborting: Template Control Loop Name not provided"; exit 1; fi -if [ -z "${POLICY_SCOPE}" ]; then echo "Aborting: Template Policy Scope not provided"; exit 1; fi -if [ -z "${POLICY_NAME}" ]; then echo "Aborting: Template Policy Name not provided"; exit 1; fi -if [ -z "${POLICY_VERSION}" ]; then echo "Aborting: Template Policy Version not provided"; exit 1; fi -if [ -z "${CONTROL_LOOP_YAML}" ]; then echo "Aborting: Control Loop Yaml not provided"; exit 1; fi - -if [ -z "${DCAE_TOPIC}" ]; then echo "Aborting: Configuration DCAE DMaaP Topic not provided"; exit 1; fi -if [ -z "${DMAAP_SERVERS}" ]; then echo "Aborting: Configuration Open DMaaP Servers not provided"; exit 1; fi -if [ -z "${DCAE_SERVERS}" ]; then echo "Aborting: Configuration DCAE DMaaP Servers not provided"; exit 1; fi - -DEPENDENCIES_VERSION="${version}" - -read -e -i "${DEPENDENCIES_VERSION}" -p "Control Loop Jar Dependencies Version (ie: 1.1.1-SNAPSHOT, or 1.1.1) > " DEPENDENCIES_VERSION -if [ -z "${DEPENDENCIES_VERSION}" ]; then echo "Aborting: Control Loop Jar Dependencies Version not provided"; exit 1; fi - -echo "---------------------------------------------------------------------------------------" -echo "Please review the Control Loop Rules, Template, and Configuration Parameters:" -echo -echo "The generated rules jar will be installed in a local Maven Repository" -echo -echo "Rules Maven Artifact Generation: Group Id: ${GROUP_ID}" -echo "Rules Maven Artifact Generation: Artifact Id: ${ARTIFACT_ID}" -echo "Rules Maven Artifact Generation: Version: ${VERSION}" -echo "Rules Maven Artifact Generation: Java Package: ${PACKAGE}" -echo "Rules Maven Artifact Generation: pom: Java Libraries Dependencies Version: ${DEPENDENCIES_VERSION}" -echo -echo "Template Drools DRL Expansion: Control Loop Control Name: ${CONTROL_LOOP_NAME}" -echo "Template Drools DRL Expansion: Control Loop Policy Scope: ${POLICY_SCOPE}" -echo "Template Drools DRL Expansion: Control Loop Policy Name: ${POLICY_NAME}" -echo "Template Drools DRL Expansion: Control Loop Policy Version: ${POLICY_VERSION}" -echo "Template Drools DRL Expansion: Control Loop Yaml: ${CONTROL_LOOP_YAML}" -echo -echo "Configuration Policy Controller: Rules: Group Id: ${GROUP_ID}" -echo "Configuration Policy Controller: Rules: Artifact Id: ${ARTIFACT_ID}" -echo "Configuration Policy Controller: Rules: Version: ${VERSION}" -echo -echo "Configuration Policy Controller: DCAE DMaaP Topic: ${DCAE_TOPIC}" -echo "Configuration Policy Controller: DCAE DMaaP Servers: ${DCAE_SERVERS}" -echo -echo "Configuration Policy Controller: Open DMaaP Servers: ${DMAAP_SERVERS}" -echo "---------------------------------------------------------------------------------------" -echo - -HAPPY="Y" -read -e -i "${HAPPY}" -p "Are the previous parameters correct (Y/N)? " HAPPY -if [[ ${HAPPY} != "Y" ]]; then - exit 1 -fi - -echo -DIR_TMP="/tmp" -echo "The Control Loop Rules Maven Project Source Rules will be installed at ${DIR_TMP}" -read -e -i "${DIR_TMP}" -p "Do you want to change the Rules Source Project install directory? " DIR_TMP - -if [ ! -w "${DIR_TMP}" ]; then - echo "Aborting. ${DIR_TMP} is not writable" - exit 1 -fi - -ARCHETYPE_GROUP_ID="org.onap.policy.drools-applications.controlloop.templates" -ARCHETYPE_ARTIFACT_ID="archetype-cl-amsterdam" -ARCHETYPE_VERSION="${VERSION}" - -if [ -d "${DIR_TMP}/${ARTIFACT_ID}/" ]; then - if [ "$(ls -A "${DIR_TMP}/${ARTIFACT_ID}"/)" ]; then - echo "${DIR_TMP} already contains a ${ARTIFACT_ID}/ directory, saving it to ${DIR_TMP}/${ARTIFACT_ID}.arch.bak/" - if [ -d "${DIR_TMP}/${ARTIFACT_ID}.arch.bak"/ ]; then - ( - echo "${DIR_TMP}/${ARTIFACT_ID}.arch.bak/ also exists, deleting it .." - cd "${DIR_TMP}"/ - rm -fr "${ARTIFACT_ID}.arch.bak" - ) - fi - /bin/mv --force "${DIR_TMP}/${ARTIFACT_ID}/" "${DIR_TMP}/${ARTIFACT_ID}.arch.bak" - if [ "${?}" -ne 0 ]; then - echo - echo - echo "Aborting: ${DIR_TMP}/${ARTIFACT_ID}/ cannot be moved" - exit 1 - fi - else - ( cd "${DIR_TMP}/" ; rmdir "${DIR_TMP}/${ARTIFACT_ID}/" ) - fi -fi - -CREATEARTIFACT="Y" -read -e -i "${CREATEARTIFACT}" -p "Create Maven Artifact (Y/N)? " CREATEARTIFACT -if [[ ${CREATEARTIFACT} != "Y" ]]; then - exit 1 -fi - -( -cd "${DIR_TMP}" - -mvn archetype:generate \ - -B \ - -DarchetypeCatalog=local \ - -DarchetypeGroupId="${ARCHETYPE_GROUP_ID}" \ - -DarchetypeArtifactId="${ARCHETYPE_ARTIFACT_ID}" \ - -DarchetypeVersion="${ARCHETYPE_VERSION}" \ - -Dpackage="${PACKAGE}" \ - -DgroupId="${GROUP_ID}" \ - -DartifactId="${ARTIFACT_ID}" \ - -Dversion="${VERSION}" \ - -DclosedLoopControlName="${CONTROL_LOOP_NAME}" \ - -DcontrolLoopYaml="${CONTROL_LOOP_YAML}" \ - -DpolicyScope="${POLICY_SCOPE}" \ - -DpolicyName="${POLICY_NAME}" \ - -DpolicyVersion="${POLICY_VERSION}" \ - -DdmaapServers="${DMAAP_SERVERS}" \ - -DdcaeTopic="${DCAE_TOPIC}" \ - -DdcaeServers="${DCAE_SERVERS}" \ - -DdependenciesVersion="${DEPENDENCIES_VERSION}" - -if [ "${?}" -ne 0 ]; then - echo - echo - echo "Aborting: ${ARTIFACT_ID} has not been successfully generated" - exit 1 -fi - -echo - -cd "${DIR_TMP}/${ARTIFACT_ID}"/ - -mv src/main/config/* . - -echo -echo "Control Loop Rules from templates have been successfully created under ${DIR_TMP}/${ARTIFACT_ID}/" -echo "You have to option to further tweak this project or deploy it as is to the local maven repository." -echo "If you decide to customize the source rules project, please enter 'N' below," -echo "and when finished type 'mvn install' at ${DIR_TMP}/${ARTIFACT_ID}/ to install the Control Loop." - -INSTALLREPO="Y" -read -e -i "${INSTALLREPO}" -p "Do you want to deploy ${ARTIFACT_ID} rules into maven repository (Y/N)? " INSTALLREPO -if [[ ${INSTALLREPO} != "Y" ]]; then - exit 1 -fi - -echo -echo "installing the rules ${ARTIFACT_ID} maven artifact .." - -mvn install - -if [ "${?}" -ne 0 ]; then - echo - echo - echo "Aborting: ${ARTIFACT_ID} deployable jar cannot be installed" - echo "Fix the source rules project issues, and issue 'mvn install'" - echo "at ${DIR_TMP}/${ARTIFACT_ID}/ when done to install it." - exit 1 -fi - - -echo -echo "${ARTIFACT_ID} has been successfully installed in user's (${USER}) local repository" -echo "Find configuration files at ${DIR_TMP}/${ARTIFACT_ID}/" -echo -echo "To deploy this Control Loop into the PDP-D, follow one of these methods: " -echo "1. copy ${DIR_TMP}/${ARTIFACT_ID}/${ARTIFACT_ID}-controller.properties under '${POLICY_HOME}/config'" -echo " and restart the pdp-d (policy stop; policy start)" -echo "2. cd ${DIR_TMP}/${ARTIFACT_ID}/; rest-add-controller ${ARTIFACT_ID}" -echo -) diff --git a/controlloop/packages/basex-controlloop/src/files/bin/create-cl-casablanca b/controlloop/packages/basex-controlloop/src/files/bin/create-cl-casablanca deleted file mode 100644 index 5e3d26cf3..000000000 --- a/controlloop/packages/basex-controlloop/src/files/bin/create-cl-casablanca +++ /dev/null @@ -1,359 +0,0 @@ -#! /bin/bash - -### -# ============LICENSE_START======================================================= -# PDP-D APPS Base Package -# ================================================================================ -# 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========================================================= -### - -# Interactive script to generate and install in a pdp-d control loops demo rules -# for a standalone PDP-D usage - -source "${POLICY_HOME}"/etc/build.info - -echo "Control Loop CLI Generator for R2 Casablanca Release" -echo "---------------------------------------------------" -echo - -GROUP_ID="org.onap.policy.rules.casablanca" -ARTIFACT_ID="casablanca" -VERSION="${version:-1.2.0}" -PACKAGE="org.onap.policy.rules.casablanca" - -# vCPE Policy Parameters -VCPE_CONTROL_LOOP_NAME="ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e" -VCPE_POLICY_NAME="vcpe" -VCPE_CONTROL_LOOP_YAML="controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+true%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" - -# vFW Policy Parameters -VFW_CONTROL_LOOP_NAME="ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a" -VFW_POLICY_NAME="vfw" -VFW_CONTROL_LOOP_YAML="controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0D%0A++trigger_policy%3A+unique-policy-id-1-modifyConfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-modifyConfig%0D%0A++++name%3A+modify+packet+gen+config%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+TBD+-+Cannot+be+known+until+instantiation+is+done%0D%0A++++++resourceID%3A+Eace933104d443b496b8.nodes.heat.vpg%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" - -# vDNS Policy Parameters -VDNS_CONTROL_LOOP_NAME="ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3" -VDNS_POLICY_NAME="vdns" -VDNS_CONTROL_LOOP_YAML="controlLoop%3A%0A++version%3A+2.0.0%0A++controlLoopName%3A+ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3%0A++trigger_policy%3A+unique-policy-id-1-scale-up%0A++timeout%3A+1200%0A++abatement%3A+false%0Apolicies%3A%0A++-+id%3A+unique-policy-id-1-scale-up%0A++++name%3A+Create+a+new+VF+Module%0A++++description%3A%0A++++actor%3A+SO%0A++++recipe%3A+VF+Module+Create%0A++++target%3A%0A++++++type%3A+VNF%0A++++payload%3A%0A++++++requestParameters%3A+%27%7B%22usePreload%22%3Atrue%2C%22userParams%22%3A%5B%5D%7D%27%0A++++++configurationParameters%3A+%27%5B%7B%22ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B9%5D%22%2C%22oam-ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B16%5D%22%2C%22enabled%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B23%5D%22%7D%5D%27%0A++++retry%3A+0%0A++++timeout%3A+1200%0A++++success%3A+final_success%0A++++failure%3A+final_failure%0A++++failure_timeout%3A+final_failure_timeout%0A++++failure_retries%3A+final_failure_retries%0A++++failure_exception%3A+final_failure_exception%0A++++failure_guard%3A+final_failure_guard" - -# VoLTE Policy Parameters -VOLTE_CONTROL_LOOP_NAME="ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b" -VOLTE_POLICY_NAME="volte" -VOLTE_CONTROL_LOOP_YAML="controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+VFC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" - -# vPCI Policy Parameters -VPCI_CONTROL_LOOP_NAME="ControlLoop-vPCI-fb41f388-a5f2-11e8-98d0-529269fb1459" -VPCI_POLICY_NAME="vpci" -VPCI_CONTROL_LOOP_YAML="controlLoop%3A%0D%0A++version%3A+3.0.0%0D%0A++controlLoopName%3A+ControlLoop-vPCI-fb41f388-a5f2-11e8-98d0-529269fb1459%0D%0A++trigger_policy%3A+unique-policy-id-123-modifyconfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-123-modifyconfig%0D%0A++++name%3A+modify+PCI+config%0D%0A++++description%3A%0D%0A++++actor%3A+SDNR%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+These+fields+are+not+used%0D%0A++++++resourceID%3A+Eace933104d443b496b8.nodes.heat.vpg%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" - -# CCVPN Policy Parameters -CCVPN_CONTROL_LOOP_NAME="ControlLoop-CCVPN-2179b738-fd36-4843-a71a-a8c24c70c66b" -CCVPN_POLICY_NAME="ccvpn" -CCVPN_CONTROL_LOOP_YAML="controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-CCVPN-2179b738-fd36-4843-a71a-a8c24c70c66b%0D%0A++trigger_policy%3A+unique-policy-id-16-Reroute%0D%0A++t -imeout%3A+3600%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-16-Reroute%0D%0A++++name%3A+Connectivity Reroute%0D%0A++++description%3A%0D%0A++++actor%3A+SDNC%0D%0A++++reci -pe%3A+Reroute%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_fail -ure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" - -# Generic Scope and Version -POLICY_SCOPE="casablanca" -POLICY_VERSION="v0.0.1" - -BRMSGW_TOPIC="BRMSGW-POLICY" -BRMSGW_SERVERS="vm1.mr.simpledemo.openecomp.org" - -DMAAP_SERVERS="vm1.mr.simpledemo.openecomp.org" -DCAE_TOPIC="unauthenticated.DCAE_CL_OUTPUT" -DCAE_SERVERS="vm1.mr.simpledemo.openecomp.org" - -read -e -i "${GROUP_ID}" -p "Target Rules Group Id> " GROUP_ID -read -e -i "${ARTIFACT_ID}" -p "Target Rules Artifact Id> " ARTIFACT_ID -read -e -i "${VERSION}" -p "Target Rules Version> " VERSION -read -e -i "${PACKAGE}" -p "Target Rules Java Package> " PACKAGE - -read -e -i "${VCPE_CONTROL_LOOP_NAME}" -p "VCPE Control Loop Name> " VCPE_CONTROL_LOOP_NAME -read -e -i "${VCPE_POLICY_NAME}" -p "VCPE Policy Name> " VCPE_POLICY_NAME -read -e -i "${VCPE_CONTROL_LOOP_YAML}" -p "VCPE Control Loop Yaml> " VCPE_CONTROL_LOOP_YAML - -read -e -i "${VFW_CONTROL_LOOP_NAME}" -p "VFW Control Loop Name> " VFW_CONTROL_LOOP_NAME -read -e -i "${VFW_POLICY_NAME}" -p "VFW Policy Name> " VFW_POLICY_NAME -read -e -i "${VFW_CONTROL_LOOP_YAML}" -p "VFW Control Loop Yaml> " VFW_CONTROL_LOOP_YAML - -read -e -i "${VDNS_CONTROL_LOOP_NAME}" -p "VDNS Control Loop Name> " VDNS_CONTROL_LOOP_NAME -read -e -i "${VDNS_POLICY_NAME}" -p "VDNS Policy Name> " VDNS_POLICY_NAME -read -e -i "${VDNS_CONTROL_LOOP_YAML}" -p "VDNS Control Loop Yaml> " VDNS_CONTROL_LOOP_YAML - -read -e -i "${VOLTE_CONTROL_LOOP_NAME}" -p "VOLTE Control Loop Name> " VOLTE_CONTROL_LOOP_NAME -read -e -i "${VOLTE_POLICY_NAME}" -p "VOLTE Policy Name> " VOLTE_POLICY_NAME -read -e -i "${VOLTE_CONTROL_LOOP_YAML}" -p "VOLTE Control Loop Yaml> " VOLTE_CONTROL_LOOP_YAML - -read -e -i "${VPCI_CONTROL_LOOP_NAME}" -p "VPCI Control Loop Name> " VPCI_CONTROL_LOOP_NAME -read -e -i "${VPCI_POLICY_NAME}" -p "VPCI Policy Name> " VPCI_POLICY_NAME -read -e -i "${VPCI_CONTROL_LOOP_YAML}" -p "VPCI Control Loop Yaml> " VPCI_CONTROL_LOOP_YAML - -read -e -i "${CCVPN_CONTROL_LOOP_NAME}" -p "CCVPN Control Loop Name> " CCVPN_CONTROL_LOOP_NAME -read -e -i "${CCVPN_POLICY_NAME}" -p "CCVPN Policy Name> " CCVPN_POLICY_NAME -read -e -i "${CCVPN_CONTROL_LOOP_YAML}" -p "CCVPN Control Loop Yaml> " CCVPN_CONTROL_LOOP_YAML - -read -e -i "${POLICY_SCOPE}" -p "Generic Policy Scope> " POLICY_SCOPE -read -e -i "${POLICY_VERSION}" -p "Generic Policy Version> " POLICY_VERSION - -read -e -i "${BRMSGW_TOPIC}" -p "Controller BRMSGW TOPIC> " BRMSGW_TOPIC -read -e -i "${BRMSGW_SERVERS}" -p "Configuration BRMSGW DMaaP Servers> " BRMSGW_SERVERS - -read -e -i "${DCAE_SERVERS}" -p "Configuration DCAE DMaaP Servers> " DCAE_SERVERS -read -e -i "${DMAAP_SERVERS}" -p "Configuration Open DMaaP Servers> " DMAAP_SERVERS -read -e -i "${DCAE_TOPIC}" -p "Controller DCAE Topic> " DCAE_TOPIC - -echo -echo - -if [ -z "${GROUP_ID}" ]; then echo "Aborting: Rules Maven Group Id not provided"; exit 1; fi -if [ -z "${ARTIFACT_ID}" ]; then echo "Aborting: Rules Maven Coordinates Artifact Id not provided"; exit 1; fi -if [ -z "${VERSION}" ]; then echo "Aborting: Rules Maven Coordinates Version not provided"; exit 1; fi -if [ -z "${PACKAGE}" ]; then echo "Aborting: Rules Package not provided"; exit 1; fi - -if [ -z "${VCPE_CONTROL_LOOP_NAME}" ]; then echo "Aborting: VCPE Control Loop Name not provided"; exit 1; fi -if [ -z "${VCPE_POLICY_NAME}" ]; then echo "Aborting: VCPE Policy Name not provided"; exit 1; fi -if [ -z "${VCPE_CONTROL_LOOP_YAML}" ]; then echo "Aborting: VCPE Control Loop Yaml not provided"; exit 1; fi - -if [ -z "${VFW_CONTROL_LOOP_NAME}" ]; then echo "Aborting: VFW Control Loop Name not provided"; exit 1; fi -if [ -z "${VFW_POLICY_NAME}" ]; then echo "Aborting: VFW Policy Name not provided"; exit 1; fi -if [ -z "${VFW_CONTROL_LOOP_YAML}" ]; then echo "Aborting: VFW Control Loop Yaml not provided"; exit 1; fi - -if [ -z "${VDNS_CONTROL_LOOP_NAME}" ]; then echo "Aborting: VDNS Control Loop Name not provided"; exit 1; fi -if [ -z "${VDNS_POLICY_NAME}" ]; then echo "Aborting: VDNS Policy Name not provided"; exit 1; fi -if [ -z "${VDNS_CONTROL_LOOP_YAML}" ]; then echo "Aborting: VDNS Control Loop Yaml not provided"; exit 1; fi - -if [ -z "${VOLTE_CONTROL_LOOP_NAME}" ]; then echo "Aborting: VOLTE Control Loop Name not provided"; exit 1; fi -if [ -z "${VOLTE_POLICY_NAME}" ]; then echo "Aborting: VOLTE Policy Name not provided"; exit 1; fi -if [ -z "${VOLTE_CONTROL_LOOP_YAML}" ]; then echo "Aborting: VOLTE Control Loop Yaml not provided"; exit 1; fi - -if [ -z "${VPCI_CONTROL_LOOP_NAME}" ]; then echo "Aborting: VPCI Control Loop Name not provided"; exit 1; fi -if [ -z "${VPCI_POLICY_NAME}" ]; then echo "Aborting: VPCI Policy Name not provided"; exit 1; fi -if [ -z "${VPCI_CONTROL_LOOP_YAML}" ]; then echo "Aborting: VPCI Control Loop Yaml not provided"; exit 1; fi - -if [ -z "${CCVPN_CONTROL_LOOP_NAME}" ]; then echo "Aborting: CCVPN Control Loop Name not provided"; exit 1; fi -if [ -z "${CCVPN_POLICY_NAME}" ]; then echo "Aborting: CCVPN Policy Name not provided"; exit 1; fi -if [ -z "${CCVPN_CONTROL_LOOP_YAML}" ]; then echo "Aborting: CCVPN Control Loop Yaml not provided"; exit 1; fi - -if [ -z "${POLICY_SCOPE}" ]; then echo "Aborting: Template Policy Scope not provided"; exit 1; fi -if [ -z "${POLICY_VERSION}" ]; then echo "Aborting: Template Policy Version not provided"; exit 1; fi - -if [ -z "${BRMSGW_TOPIC}" ]; then echo "Aborting: Configuration BRMSGW DMaaP Topic not provided"; exit 1; fi -if [ -z "${BRMSGW_SERVERS}" ]; then echo "Aborting: Configuration BRMSGW DMaaP Servers not provided"; exit 1; fi - -if [ -z "${DCAE_TOPIC}" ]; then echo "Aborting: Configuration DCAE DMaaP Topic not provided"; exit 1; fi -if [ -z "${DMAAP_SERVERS}" ]; then echo "Aborting: Configuration Open DMaaP Servers not provided"; exit 1; fi -if [ -z "${DCAE_SERVERS}" ]; then echo "Aborting: Configuration DCAE DMaaP Servers not provided"; exit 1; fi - -DEPENDENCIES_VERSION="${version}" - -read -e -i "${DEPENDENCIES_VERSION}" -p "Control Loop Jar Dependencies Version (ie: 1.2.0-SNAPSHOT, or 1.2.0) > " DEPENDENCIES_VERSION -if [ -z "${DEPENDENCIES_VERSION}" ]; then echo "Aborting: Control Loop Jar Dependencies Version not provided"; exit 1; fi - -echo "---------------------------------------------------------------------------------------" -echo "Please review the Control Loop Rules, Template, and Configuration Parameters:" -echo -echo "The generated rules jar will be installed in a local Maven Repository" -echo -echo "Rules Maven Artifact Generation: Group Id: ${GROUP_ID}" -echo "Rules Maven Artifact Generation: Artifact Id: ${ARTIFACT_ID}" -echo "Rules Maven Artifact Generation: Version: ${VERSION}" -echo "Rules Maven Artifact Generation: Java Package: ${PACKAGE}" -echo "Rules Maven Artifact Generation: pom: Java Libraries Dependencies Version: ${DEPENDENCIES_VERSION}" -echo -echo "VCPE Drools Fact Generation: VCPE Control Loop Control Name: ${VCPE_CONTROL_LOOP_NAME}" -echo "VCPE Drools Fact Generation: VCPE Control Loop Policy Name: ${VCPE_POLICY_NAME}" -echo "VCPE Drools Fact Generation: VCPE Control Loop Yaml: ${VCPE_CONTROL_LOOP_YAML}" -echo -echo "VFW Drools Fact Generation: VFW Control Loop Control Name: ${VFW_CONTROL_LOOP_NAME}" -echo "VFW Drools Fact Generation: VFW Control Loop Policy Name: ${VFW_POLICY_NAME}" -echo "VFW Drools Fact Generation: VFW Control Loop Yaml: ${VFW_CONTROL_LOOP_YAML}" -echo -echo "VDNS Drools Fact Generation: VDNS Control Loop Control Name: ${VDNS_CONTROL_LOOP_NAME}" -echo "VDNS Drools Fact Generation: VDNS Control Loop Policy Name: ${VDNS_POLICY_NAME}" -echo "VDNS Drools Fact Generation: VDNS Control Loop Yaml: ${VDNS_CONTROL_LOOP_YAML}" -echo -echo "VOLTE Drools Fact Generation: VOLTE Control Loop Control Name: ${VOLTE_CONTROL_LOOP_NAME}" -echo "VOLTE Drools Fact Generation: VOLTE Control Loop Policy Name: ${VOLTE_POLICY_NAME}" -echo "VOLTE Drools Fact Generation: VOLTE Control Loop Yaml: ${VOLTE_CONTROL_LOOP_YAML}" -echo -echo "VPCI Drools Fact Generation: VPCI Control Loop Control Name: ${VPCI_CONTROL_LOOP_NAME}" -echo "VPCI Drools Fact Generation: VPCI Control Loop Policy Name: ${VPCI_POLICY_NAME}" -echo "VPCI Drools Fact Generation: VPCI Control Loop Yaml: ${VPCI_CONTROL_LOOP_YAML}" -echo -echo "CCVPN Drools Fact Generation: CCVPN Control Loop Control Name: ${CCVPN_CONTROL_LOOP_NAME}" -echo "CCVPN Drools Fact Generation: CCVPN Control Loop Policy Name: ${CCVPN_POLICY_NAME}" -echo "CCVPN Drools Fact Generation: CCVPN Control Loop Yaml: ${CCVPN_CONTROL_LOOP_YAML}" -echo -echo "Generic Drools Fact: Control Loop Policy Scope: ${POLICY_SCOPE}" -echo "Generic: Control Loop Policy Version: ${POLICY_VERSION}" -echo -echo "Configuration Policy Controller: Rules: Group Id: ${GROUP_ID}" -echo "Configuration Policy Controller: Rules: Artifact Id: ${ARTIFACT_ID}" -echo "Configuration Policy Controller: Rules: Version: ${VERSION}" -echo -echo "Configuration Policy Controller: BRMSGW DMaaP Topic: ${BRMSGW_TOPIC}" -echo "Configuration Policy Controller: BRMSGW DMaaP Servers: ${BRMSGW_SERVERS}" -echo -echo "Configuration Policy Controller: DCAE DMaaP Topic: ${DCAE_TOPIC}" -echo "Configuration Policy Controller: DCAE DMaaP Servers: ${DCAE_SERVERS}" -echo -echo "Configuration Policy Controller: Open DMaaP Servers: ${DMAAP_SERVERS}" -echo "---------------------------------------------------------------------------------------" -echo - -HAPPY="Y" -read -e -i "${HAPPY}" -p "Are the previous parameters correct (Y/N)? " HAPPY -if [[ ${HAPPY} != "Y" ]]; then - exit 1 -fi - -echo -DIR_TMP="/tmp" -echo "The Control Loop Rules Maven Project Source Rules will be installed at ${DIR_TMP}" -read -e -i "${DIR_TMP}" -p "Do you want to change the Rules Source Project install directory? " DIR_TMP - -if [ ! -w "${DIR_TMP}" ]; then - echo "Aborting. ${DIR_TMP} is not writable" - exit 1 -fi - -ARCHETYPE_GROUP_ID="org.onap.policy.drools-applications.controlloop.templates" -ARCHETYPE_ARTIFACT_ID="archetype-cl-casablanca" -ARCHETYPE_VERSION="${VERSION}" - -if [ -d "${DIR_TMP}/${ARTIFACT_ID}/" ]; then - if [ "$(ls -A "${DIR_TMP}/${ARTIFACT_ID}"/)" ]; then - echo "${DIR_TMP} already contains a ${ARTIFACT_ID}/ directory, saving it to ${DIR_TMP}/${ARTIFACT_ID}.arch.bak/" - if [ -d "${DIR_TMP}/${ARTIFACT_ID}.arch.bak"/ ]; then - ( - echo "${DIR_TMP}/${ARTIFACT_ID}.arch.bak/ also exists, deleting it .." - cd "${DIR_TMP}"/ - rm -fr "${ARTIFACT_ID}.arch.bak" - ) - fi - /bin/mv --force "${DIR_TMP}/${ARTIFACT_ID}/" "${DIR_TMP}/${ARTIFACT_ID}.arch.bak" - if [ "${?}" -ne 0 ]; then - echo - echo - echo "Aborting: ${DIR_TMP}/${ARTIFACT_ID}/ cannot be moved" - exit 1 - fi - else - ( cd "${DIR_TMP}/" ; rmdir "${DIR_TMP}/${ARTIFACT_ID}/" ) - fi -fi - -CREATEARTIFACT="Y" -read -e -i "${CREATEARTIFACT}" -p "Create Maven Artifact (Y/N)? " CREATEARTIFACT -if [[ ${CREATEARTIFACT} != "Y" ]]; then - exit 1 -fi - -( -cd "${DIR_TMP}" - -mvn archetype:generate \ - -B \ - -DarchetypeCatalog=local \ - -DarchetypeGroupId="${ARCHETYPE_GROUP_ID}" \ - -DarchetypeArtifactId="${ARCHETYPE_ARTIFACT_ID}" \ - -DarchetypeVersion="${ARCHETYPE_VERSION}" \ - -Dpackage="${PACKAGE}" \ - -DgroupId="${GROUP_ID}" \ - -DartifactId="${ARTIFACT_ID}" \ - -Dversion="${VERSION}" \ - -DvcpeClosedLoopControlName="${VCPE_CONTROL_LOOP_NAME}" \ - -DvcpePolicyName="${VCPE_POLICY_NAME}" \ - -DvcpeControlLoopYaml="${VCPE_CONTROL_LOOP_YAML}" \ - -DvfwClosedLoopControlName="${VFW_CONTROL_LOOP_NAME}" \ - -DvfwPolicyName="${VFW_POLICY_NAME}" \ - -DvfwControlLoopYaml="${VFW_CONTROL_LOOP_YAML}" \ - -DvdnsClosedLoopControlName="${VDNS_CONTROL_LOOP_NAME}" \ - -DvdnsPolicyName="${VDNS_POLICY_NAME}" \ - -DvdnsControlLoopYaml="${VDNS_CONTROL_LOOP_YAML}" \ - -DvolteClosedLoopControlName="${VOLTE_CONTROL_LOOP_NAME}" \ - -DvoltePolicyName="${VOLTE_POLICY_NAME}" \ - -DvolteControlLoopYaml="${VOLTE_CONTROL_LOOP_YAML}" \ - -DvpciClosedLoopControlName="${VPCI_CONTROL_LOOP_NAME}" \ - -DvpciPolicyName="${VPCI_POLICY_NAME}" \ - -DvpciControlLoopYaml="${VPCI_CONTROL_LOOP_YAML}" \ - -DccvpnClosedLoopControlName="${CCVPN_CONTROL_LOOP_NAME}" \ - -DccvpnPolicyName="${CCVPN_POLICY_NAME}" \ - -DccvpnControlLoopYaml="${CCVPN_CONTROL_LOOP_YAML}" \ - -DpolicyScope="${POLICY_SCOPE}" \ - -DpolicyVersion="${POLICY_VERSION}" \ - -DbrmsgwTopic="${BRMSGW_TOPIC}" \ - -DbrmsgwServers="${BRMSGW_SERVERS}" \ - -DdmaapServers="${DMAAP_SERVERS}" \ - -DdcaeTopic="${DCAE_TOPIC}" \ - -DdcaeServers="${DCAE_SERVERS}" \ - -DdependenciesVersion="${DEPENDENCIES_VERSION}" - -if [ "${?}" -ne 0 ]; then - echo - echo - echo "Aborting: ${ARTIFACT_ID} has not been successfully generated" - exit 1 -fi - -echo - -cd "${DIR_TMP}/${ARTIFACT_ID}"/ - -mv src/main/config/* . - -echo -echo "Control Loop Rules from templates have been successfully created under ${DIR_TMP}/${ARTIFACT_ID}/" -echo "You have to option to further tweak this project or deploy it as is to the local maven repository." -echo "If you decide to customize the source rules project, please enter 'N' below," -echo "and when finished type 'mvn install' at ${DIR_TMP}/${ARTIFACT_ID}/ to install the Control Loop." - -INSTALLREPO="Y" -read -e -i "${INSTALLREPO}" -p "Do you want to deploy ${ARTIFACT_ID} rules into maven repository (Y/N)? " INSTALLREPO -if [[ ${INSTALLREPO} != "Y" ]]; then - exit 1 -fi - -echo -echo "installing the rules ${ARTIFACT_ID} maven artifact .." - -mvn install - -if [ "${?}" -ne 0 ]; then - echo - echo - echo "Aborting: ${ARTIFACT_ID} deployable jar cannot be installed" - echo "Fix the source rules project issues, and issue 'mvn install'" - echo "at ${DIR_TMP}/${ARTIFACT_ID}/ when done to install it." - exit 1 -fi - - -echo -echo "${ARTIFACT_ID} has been successfully installed in user's (${USER}) local repository" -echo "Find configuration files at ${DIR_TMP}/${ARTIFACT_ID}/" -echo -echo "To deploy this Control Loop into the PDP-D, follow one of these methods: " -echo "1. copy ${DIR_TMP}/${ARTIFACT_ID}/${ARTIFACT_ID}-controller.properties under '${POLICY_HOME}/config'" -echo " and restart the pdp-d (policy stop; policy start)" -echo "2. cd ${DIR_TMP}/${ARTIFACT_ID}/; rest-add-controller ${ARTIFACT_ID}" -echo -echo "Once this Control Loop is deployed, you can run the push-policies-casablanca script" -echo "to automatically insert the policies for all use cases supported in this release" -echo -) diff --git a/controlloop/packages/basex-controlloop/src/files/bin/push-policies-casablanca b/controlloop/packages/basex-controlloop/src/files/bin/push-policies-casablanca deleted file mode 100644 index 97c437328..000000000 --- a/controlloop/packages/basex-controlloop/src/files/bin/push-policies-casablanca +++ /dev/null @@ -1,145 +0,0 @@ -#! /bin/bash - -### -# ============LICENSE_START======================================================= -# PDP-D APPS Base Package -# ================================================================================ -# 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========================================================= -### - -# A script to insert policies using ControlLoopParams facts -# for a standalone PDP-D usage - -# Obtain the controller properties file -if [[ "${CONTROLLER_PROPERTIES}" != "" ]] ; then - # The user already exported CONTROLLER_PROPERTIES - configFile="${CONTROLLER_PROPERTIES}" -else - # CONTROL_LOOP_PROPERTIES are missing, ask the user for them - echo "What is the path to the controller properties file?" - read -e -i "${configFile}" -p "Controller properties file> " configFile - - # Ensure the user gave a path - if [ -z "${configFile}" ]; then echo "Aborting: No controller properties file was specified"; exit 1; fi - - # Ensure the controller properties file exists in the user specified path - if [[ ! -f "${configFile}" ]] ; then - echo "Aborting: Can't find controller properties file at: ${configFile}" - exit 1 - fi -fi - -echo -echo "Extracting properties from properties file..." -echo - -echo "Extracting the controller's name..." -CONTROLLER_NAME=$(egrep ".*controller.name=" \ - "${configFile}") -CONTROLLER_NAME=`echo ${CONTROLLER_NAME} | sed -e 's/.*controller\.name=\(.*\)/\1/'` -echo "The controller's name is: ${CONTROLLER_NAME}" -echo - -echo "Extracting the BRMSGW Topic..." -BRMSGW_TOPIC=$(egrep "^ *(ueb|dmaap)\.source\.topics\..*\.events=org.onap.policy.controlloop.params.ControlLoopParams" \ - "${configFile}") -BRMSGW_TOPIC=`echo ${BRMSGW_TOPIC} | sed -e 's/.*topics\.\(.*\)\.events=org.onap.policy.controlloop.params.ControlLoopParams/\1/'` -echo "The BRMSGW topic is: ${BRMSGW_TOPIC}" -echo - -if [ -z "${BRMSGW_TOPIC}" ]; then echo "Aborting: BRMSGW DMaaP Topic was not found in controller properties file"; exit 1; fi - -echo -echo "Inserting ControlLoopParams facts in to working memory..." -echo - -echo -echo "Inserting vCPE Policy..." -curl -k --silent --user @1b3rt:31nst31n -X PUT --header 'Content-Type: text/plain' -d '{ - "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", - "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+true%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard", - "policyName": "vcpe", - "policyScope": "DCAE", - "policyVersion": "1.2.0" -}' "https://localhost:9696/policy/pdp/engine/topics/sources/ueb/${BRMSGW_TOPIC}/events" | python -m json.tool - -sleep 2 - -echo -echo "Inserting vFW Policy..." -curl -k --silent --user @1b3rt:31nst31n -X PUT --header 'Content-Type: text/plain' -d '{ - "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", - "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0D%0A++trigger_policy%3A+unique-policy-id-1-modifyConfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-modifyConfig%0D%0A++++name%3A+modify+packet+gen+config%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+TBD+-+Cannot+be+known+until+instantiation+is+done%0D%0A++++++resourceID%3A+Eace933104d443b496b8.nodes.heat.vpg%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard", - "policyName": "vfw", - "policyScope": "DCAE", - "policyVersion": "1.2.0" -}' "https://localhost:9696/policy/pdp/engine/topics/sources/ueb/${BRMSGW_TOPIC}/events" | python -m json.tool - -sleep 2 - -echo -echo "Inserting vDNS Policy..." -curl -k --silent --user @1b3rt:31nst31n -X PUT --header 'Content-Type: text/plain' -d '{ - "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", - "controlLoopYaml": "controlLoop%3A%0A++version%3A+2.0.0%0A++controlLoopName%3A+ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3%0A++trigger_policy%3A+unique-policy-id-1-scale-up%0A++timeout%3A+1200%0A++abatement%3A+false%0Apolicies%3A%0A++-+id%3A+unique-policy-id-1-scale-up%0A++++name%3A+Create+a+new+VF+Module%0A++++description%3A%0A++++actor%3A+SO%0A++++recipe%3A+VF+Module+Create%0A++++target%3A%0A++++++type%3A+VNF%0A++++payload%3A%0A++++++requestParameters%3A+%27%7B%22usePreload%22%3Atrue%2C%22userParams%22%3A%5B%5D%7D%27%0A++++++configurationParameters%3A+%27%5B%7B%22ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B9%5D%22%2C%22oam-ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B16%5D%22%2C%22enabled%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B23%5D%22%7D%5D%27%0A++++retry%3A+0%0A++++timeout%3A+1200%0A++++success%3A+final_success%0A++++failure%3A+final_failure%0A++++failure_timeout%3A+final_failure_timeout%0A++++failure_retries%3A+final_failure_retries%0A++++failure_exception%3A+final_failure_exception%0A++++failure_guard%3A+final_failure_guard", - "policyName": "vdns", - "policyScope": "DCAE", - "policyVersion": "1.2.0" -}' "https://localhost:9696/policy/pdp/engine/topics/sources/ueb/${BRMSGW_TOPIC}/events" | python -m json.tool - -sleep 2 - -echo -echo "Inserting VoLTE Policy..." -curl -k --silent --user @1b3rt:31nst31n -X PUT --header 'Content-Type: text/plain' -d '{ - "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b", - "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+VFC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard", - "policyName": "volte", - "policyScope": "DCAE", - "policyVersion": "1.2.0" -}' "https://localhost:9696/policy/pdp/engine/topics/sources/ueb/${BRMSGW_TOPIC}/events" | python -m json.tool - -sleep 2 -echo -echo "Inserting vPCI Policy..." -curl -k --silent --user @1b3rt:31nst31n -X PUT --header 'Content-Type: text/plain' -d '{ - "closedLoopControlName": "ControlLoop-vPCI-fb41f388-a5f2-11e8-98d0-529269fb1459", - "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+3.0.0%0D%0A++controlLoopName%3A+ControlLoop-vPCI-fb41f388-a5f2-11e8-98d0-529269fb1459%0D%0A++trigger_policy%3A+unique-policy-id-123-modifyconfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-123-modifyconfig%0D%0A++++name%3A+modify+PCI+config%0D%0A++++description%3A%0D%0A++++actor%3A+SDNR%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+These+fields+are+not+used%0D%0A++++++resourceID%3A+Eace933104d443b496b8.nodes.heat.vpg%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard", - "policyName": "vpci", - "policyScope": "DCAE", - "policyVersion": "1.2.0" -}' "https://localhost:9696/policy/pdp/engine/topics/sources/ueb/${BRMSGW_TOPIC}/events" | python -m json.tool - -sleep 2 - -echo -echo "Inserting CCVPN Policy..." -curl -k --silent --user @1b3rt:31nst31n -X PUT --header 'Content-Type: text/plain' -d '{ - "closedLoopControlName": "ControlLoop-CCVPN-2179b738-fd36-4843-a71a-a8c24c70c66b", - "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-CCVPN-2179b738-fd36-4843-a71a-a8c24c70c66b%0D%0A++trigger_policy%3A+unique-policy-id-16-Reroute%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-16-Reroute%0D%0A++++name%3A+Connectivity Reroute%0D%0A++++description%3A%0D%0A++++actor%3A+SDNC%0D%0A++++recipe%3A+Reroute%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard", - "policyName": "ccvpn", - "policyScope": "DCAE", - "policyVersion": "1.2.0" -}' "https://localhost:9696/policy/pdp/engine/topics/sources/ueb/${BRMSGW_TOPIC}/events" | python -m json.tool - -sleep 2 - -echo -echo "Policy insertions completed." -echo - -echo "The working memory is now: " -curl -k --silent --user @1b3rt:31nst31n -X GET https://localhost:9696/policy/pdp/engine/controllers/${CONTROLLER_NAME}/drools/facts/casablanca | python -m json.tool diff --git a/controlloop/packages/basex-controlloop/src/files/config/controlloop.properties.environment b/controlloop/packages/basex-controlloop/src/files/config/controlloop.properties.environment deleted file mode 100644 index 4e53b3ed6..000000000 --- a/controlloop/packages/basex-controlloop/src/files/config/controlloop.properties.environment +++ /dev/null @@ -1,54 +0,0 @@ -### -# ============LICENSE_START======================================================= -# ONAP APPS Base 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========================================================= -### - -# Environment file (.environment) for control loop applications in this -# directory, it will be automatically loaded by PDP-D, after being expanded -# by installation scripts. - -sql.db.host=${{SQL_HOST}} -sql.db.username=${{SQL_USER}} -sql.db.password=${{SQL_PASSWORD}} - -aai.url=${{AAI_URL}} -aai.username=${{AAI_USERNAME}} -aai.password=${{AAI_PASSWORD}} - -so.url=${{SO_URL}} -so.username=${{SO_USERNAME}} -so.password=${{SO_PASSWORD}} - -vfc.url=${{VFC_URL}} -vfc.username=${{VFC_USERNAME}} -vfc.password=${{VFC_PASSWORD}} - -pdpx.host=${{PDP_HOST}} -pdpx.username=${{PDP_USERNAME}} -pdpx.password=${{PDP_PASSWORD}} -pdpx.environment=${{PDP_ENVIRONMENT}} -pdpx.client.username=${{PDP_CLIENT_USERNAME}} -pdpx.client.password=${{PDP_CLIENT_PASSWORD}} - -guard.url=https://${{PDP_HOST}}:8081/pdp/api/getDecision -guard.jdbc.url=jdbc:mariadb://${{SQL_HOST}}:3306/onap_sdk -guard.disabled=false - -sdnc.url=${{SDNC_URL}} -sdnc.username=${{SDNC_USERNAME}} -sdnc.password=${{SDNC_PASSWORD}} diff --git a/controlloop/packages/basex-controlloop/src/main/resources/apps-controlloop-version b/controlloop/packages/basex-controlloop/src/main/resources/apps-controlloop-version new file mode 100644 index 000000000..066e5712e --- /dev/null +++ b/controlloop/packages/basex-controlloop/src/main/resources/apps-controlloop-version @@ -0,0 +1,21 @@ +### +# ============LICENSE_START======================================================= +# ONAP +# ================================================================================ +# Copyright (C) 2019 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========================================================= +### + +APPS_CONTROLLOOP_VERSION=${project.version} |