diff options
-rw-r--r-- | installation/appc/src/main/scripts/startODL.sh | 20 | ||||
-rw-r--r-- | platform-logic/appc/pom.xml | 67 | ||||
-rw-r--r-- | platform-logic/appc/src/main/resources/dg_activate.txt | 77 | ||||
-rw-r--r-- | platform-logic/installer/src/assembly/assemble_zip.xml | 2 | ||||
-rw-r--r-- | platform-logic/installer/src/main/scripts/install-converted-dgs.sh | 57 |
5 files changed, 213 insertions, 10 deletions
diff --git a/installation/appc/src/main/scripts/startODL.sh b/installation/appc/src/main/scripts/startODL.sh index 5ff7b32..7642820 100644 --- a/installation/appc/src/main/scripts/startODL.sh +++ b/installation/appc/src/main/scripts/startODL.sh @@ -22,8 +22,8 @@ ### # -# This script takes care of installing the SDN-C & APP-C platform components -# if not already installed, and starts the APP-C Docker Container +# This script takes care of installing the SDNC & APPC platform components +# if not already installed, and starts the APPC Docker Container # ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} @@ -64,9 +64,9 @@ echo -e "\nmysql ready" if [ ! -f ${SDNC_HOME}/.installed ] then - echo "Installing SDN-C database" + echo "Installing SDNC database" ${SDNC_HOME}/bin/installSdncDb.sh - echo "Installing APP-C database" + echo "Installing APPC database" ${APPC_HOME}/bin/installAppcDb.sh echo "Starting OpenDaylight" ${ODL_HOME}/bin/start @@ -75,7 +75,7 @@ then echo "Inserting modified installFeatures.sh for sdnc" rm ${SDNC_HOME}/bin/installFeatures.sh cp ${APPC_HOME}/data/sdncInstallFeatures.sh ${SDNC_HOME}/bin/installFeatures.sh - echo "Installing SDN-C platform features" + echo "Installing SDNC platform features" ${SDNC_HOME}/bin/installFeatures.sh if [ -x ${SDNC_HOME}/svclogic/bin/install.sh ] then @@ -83,14 +83,20 @@ then ${SDNC_HOME}/svclogic/bin/install.sh fi - echo "Installing APP-C platform features" + echo "Installing APPC platform features" ${APPC_HOME}/bin/installFeatures.sh if [ -x ${APPC_HOME}/svclogic/bin/install.sh ] then - echo "Installing directed graphs for APP-C" + echo "Installing APPC DGs using platform-logic" ${APPC_HOME}/svclogic/bin/install.sh fi + if [ -x ${APPC_HOME}/svclogic/bin/install-converted-dgs.sh ] + then + echo "Installing APPC JSON DGs converted to XML using dg-loader" + ${APPC_HOME}/svclogic/bin/install-converted-dgs.sh + fi + echo "Restarting OpenDaylight" ${ODL_HOME}/bin/stop echo "Installed at `date`" > ${SDNC_HOME}/.installed diff --git a/platform-logic/appc/pom.xml b/platform-logic/appc/pom.xml index deb425d..36938e1 100644 --- a/platform-logic/appc/pom.xml +++ b/platform-logic/appc/pom.xml @@ -17,18 +17,18 @@ <name>Platform Logic : APP-C</name> <description>Contains platform-level service logic for the APP-C Platform</description> - <build> <plugins> + <!-- Copying the XML DG Graph scripts from platform-logic/appc/src/main/xml to container's <SVCLOGIC_DIR>/graphs/appc path --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> <executions> <execution> - <id>copy-version</id> + <id>copy-xml-dgs</id> <goals> <goal>copy-resources</goal> - </goals><!-- here the phase you need --> + </goals> <phase>validate</phase> <configuration> <outputDirectory>../target/graphs/appc</outputDirectory> @@ -52,7 +52,68 @@ </execution> </executions> </plugin> + <!-- Copying the JSON DG Graph scripts from platform-logic/appc/src/main/json/dg-loader-dgs to container's <SVCLOGIC_DIR>/graphs/appc/json/dg-loader-dgs path --> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>2.6</version> + <executions> + <execution> + <id>copy-dgloader-dgs</id> + <goals> + <goal>copy-resources</goal> + </goals> + <phase>validate</phase> + <configuration> + <outputDirectory>../target/graphs/appc/json/dg-loader-dgs</outputDirectory> + <resources> + <resource> + <directory>src/main/json/dg-loader-dgs</directory> + <includes> + <include>**/*.json</include> + </includes> + <filtering>true</filtering> + </resource> + <resource> + <directory>src/main/resources</directory> + <includes> + <include>dg_activate.txt</include> + </includes> + <filtering>true</filtering> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + <!-- Copying the default platform-logic scripts from platform-logic/appc/src/main/json to container's <SVCLOGIC_DIR>/graphs/appc/json path --> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>2.6</version> + <executions> + <execution> + <id>copy-default-dgs</id> + <goals> + <goal>copy-resources</goal> + </goals> + <phase>validate</phase> + <configuration> + <outputDirectory>../target/graphs/appc/json</outputDirectory> + <resources> + <resource> + <directory>src/main/json</directory> + <includes> + <include>*.json</include> + </includes> + <filtering>true</filtering> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> </plugins> </build> + + </project> diff --git a/platform-logic/appc/src/main/resources/dg_activate.txt b/platform-logic/appc/src/main/resources/dg_activate.txt new file mode 100644 index 0000000..9d2d805 --- /dev/null +++ b/platform-logic/appc/src/main/resources/dg_activate.txt @@ -0,0 +1,77 @@ +# MODULE NAME:RPC NAME:VERSION:MODE +# Example -> APPC:GetDeviceRunningConfiguration:3.0.0:sync +APPC:CheckConfigStatus:4.0.0:sync +APPC:CommonConfiguration:4.0.0:sync +APPC:Configure:4.0.0:sync +APPC:DownloadCliConfig:4.0.0:sync +APPC:DownloadIsbcConfig:4.0.0:sync +APPC:DownloadRestconfConfig:4.0.0:sync +APPC:DownloadSBGConfig:4.0.0:sync +APPC:DownloadvIRCChefConfig:4.0.0:sync +APPC:DownloadXmlConfig:4.0.0:sync +APPC:GenerateTemplateConfig:4.0.0:sync +APPC:GetConfigParams:4.0.0:sync +APPC:GetDeviceRunningConfig:4.0.0:sync +APPC:GenerateConfig:4.0.0:sync +APPC:SaveRunningConfig:4.0.0:sync +APPC:SetStatus:4.0.0:sync +APPC:UpdateAaiInfo:4.0.0:sync +APPC:GetAaiInfo:4.0.0:sync +APPC:GetVfModuleInfo:4.0.0:sync +APPC:ProcessParameterDefinition:4.0.0:sync +APPC:PublishConfiguration:4.0.0:sync +APPC:topology-operation-all:2.0.0:sync +ASDC-MESSAGE:configuration-document-request:3.0.0:sync + +Appc-API:service-configuration-operation:4.0.0:sync +Appc-API:service-configuration-prepare:4.0.0:sync +Appc-API:service-configuration-activate:4.0.0:sync +Appc-API:service-configuration-backup:4.0.0:sync +Appc-API:service-configuration-notification:4.0.0:sync +Appc-API:audit-configuration-operation:4.0.0:sync +Appc-API:audit-configuration-notification:4.0.0:sync +Appc-API:update-aai:4.0.0:sync +Appc-API:update-aai-sbg:4.0.0:sync +Appc-API:update-vserver-info:4.0.0:sync +Appc-API:update-vnfc-info:4.0.0:sync + +Appc-API:Generic_Evacuate:2.0.0:sync + +# +APPC:GetRunningConfig:2.0.0:sync +APPC:Restart-Active-Active_VNFC:2.0.0:sync +APPC:Restart-Active-Passive_VNFC:2.0.0:sync +APPC:Check-Active_VNFC_vSCP:2.0.0:sync +APPC:HealthCheck_VNF_vSCP:2.0.0:sync +APPC:Restart_VNF:2.0.0:sync +APPC:Restart_VNFC:2.0.0:sync +APPC:Restart_VM:2.0.0:sync +APPC:Stop_VNFC:2.0.2:sync +APPC:Stop_VNF:2.0.2:sync +APPC:StopVM_VM:2.0.0:sync +APPC:Stop_VM:2.0.0:sync +APPC:StopApplication_VM_vSCP:2.0.0:sync +APPC:Generic_Sync:2.0.0:sync +APPC:Generic_Audit:2.0.0:sync +APPC:Start_VNF:2.0.0:sync +APPC:Start_VNFC:2.0.0:sync +APPC:Start_VM:2.0.0:sync +APPC:StartApplication_VM_vSCP:2.0.0:sync +APPC:RestartVM_VM:2.0.0:sync +APPC:Rebuild_VM:2.0.0:sync + +APPC:EvacuateVM:2.0.0:sync +APPC:RebuildVM:2.0.0:sync +APPC:CreateSnapShotVM:2.0.0:sync +APPC:MigrateVM:2.0.0:sync +APPC:RestartVMCommonFlow:2.0.0:sync +APPC:RestartVMVNFCommonFlow:2.0.0:sync + +APPC:setInputParams:4:0:0:sync +APPC:healthcheck:4:0:0:sync +APPC:chef:4:0:0sync +APPC:ansible-adapter-1.0:4:0:0:sync +APPC:Generic_AnsibleDG:4:0:0:sync +APPC:GetTemplateConfig_Ansible:4:0:0:sync +APPC:GetTemplateConfig_Chef:4:0:0:sync +APPC_Generic_ChefDG:4:0:0:sync diff --git a/platform-logic/installer/src/assembly/assemble_zip.xml b/platform-logic/installer/src/assembly/assemble_zip.xml index 8fc1342..56e6bf2 100644 --- a/platform-logic/installer/src/assembly/assemble_zip.xml +++ b/platform-logic/installer/src/assembly/assemble_zip.xml @@ -38,7 +38,9 @@ <outputDirectory>svclogic/graphs</outputDirectory> <includes> <include>**/*.xml</include> + <include>**/*.json</include> <include>**/graph.versions</include> + <include>**/dg_activate.txt</include> </includes> <lineEnding>unix</lineEnding> </fileSet> diff --git a/platform-logic/installer/src/main/scripts/install-converted-dgs.sh b/platform-logic/installer/src/main/scripts/install-converted-dgs.sh new file mode 100644 index 0000000..5047a68 --- /dev/null +++ b/platform-logic/installer/src/main/scripts/install-converted-dgs.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +### +# ============LICENSE_START======================================================= +# APPC +# ================================================================================ +# 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========================================================= +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +### + +### +### Convert XML DGs to JSON DGs using dg-loader, then load/activate them in the MySQL DB. ### +### + +export APPC_HOME=${APPC_HOME:-/opt/openecomp/appc} + +# SVCLOGIC_DIR env variable points to /opt/openecomp/appc/svclogic +export SVCLOGIC_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" + +# Check if the JSON Directory exists under the env. variable defined +export DG_JSON_DIR=${SVCLOGIC_DIR}/graphs/appc/json/dg-loader-dgs +echo "Processing DG JSON directory : ${DG_JSON_DIR}" +if [ ! -d "$DG_JSON_DIR" ] +then + echo "DG-Loader JSON Directory is Missing" +exit 1 +fi + +# Temporarily use wget to download the JAR needed to execute the dg-loader actions below (NEEDS TO GET THE JAR WITH DEPENDENCIES) +wget -P ${SVCLOGIC_DIR}/lib https://nexus.onap.org/content/groups/staging/org/openecomp/appc/plugins/dg-loader-provider/1.1.0/dg-loader-provider-1.1.0.jar + +cd ${DG_JSON_DIR} +mkdir -p ${DG_JSON_DIR}/converted-xml + +# Generate XML DGs from JSON DGs +$JAVA_HOME/bin/java -cp ${SVCLOGIC_DIR}/lib/dg-loader-jar-with-dependencies.jar org.openecomp.sdnc.dg.loader.DGXMLGenerator ${DG_JSON_DIR} ${DG_JSON_DIR}/converted-xml + +# Load converted XML DGs to the SVC_LOGIC DB in the MySQL Docker Container +$JAVA_HOME/bin/java -cp ${SVCLOGIC_DIR}/lib/dg-loader-jar-with-dependencies.jar org.openecomp.sdnc.dg.loader.DGXMLLoad ${DG_JSON_DIR}/converted-xml ${APPC_HOME}/data/properties/dblib.properties + +# Activate converted XML DGs to the SVC_LOGIC DB in the MySQL Docker Container +$JAVA_HOME/bin/java -cp ${SVCLOGIC_DIR}/lib/dg-loader-jar-with-dependencies.jar org.openecomp.sdnc.dg.loader.DGXMLActivate ${DG_JSON_DIR}/dg_activate.txt ${APPC_HOME}/data/properties/dblib.properties + +exit 0 |