From: Hector Anapan-Lavalle Date: Tue, 24 Oct 2017 23:13:22 +0000 (-0400) Subject: Handle dg-loader DGs approach with platform-logic X-Git-Tag: v1.2.0~15 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=appc%2Fdeployment.git;a=commitdiff_plain;h=192f6bad7a24854defdb5c1a0f2a948ad87bcfd8 Handle dg-loader DGs approach with platform-logic This commit takes care of adding the necessary code to be able to: 1) Convert JSON DGs to XML DGs in the dg-loader-dgs path 2) Load & Activate these converted XML DGs into the MySQL DB This approach is used in appc.git's dg-loader-provider to handle DGs. Combining platform-logic approach and dg-loader-provider approach to handle DGs coming from these two separate paths. Change-Id: I46505a3380afcdd3c6794e24fda75aef62ccc58f Signed-off-by: Hector Anapan-Lavalle Issue-Id:[APPC-287] --- 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 @@ Platform Logic : APP-C Contains platform-level service logic for the APP-C Platform - + maven-resources-plugin 2.6 - copy-version + copy-xml-dgs copy-resources - + validate ../target/graphs/appc @@ -52,7 +52,68 @@ + + + maven-resources-plugin + 2.6 + + + copy-dgloader-dgs + + copy-resources + + validate + + ../target/graphs/appc/json/dg-loader-dgs + + + src/main/json/dg-loader-dgs + + **/*.json + + true + + + src/main/resources + + dg_activate.txt + + true + + + + + + + + + maven-resources-plugin + 2.6 + + + copy-default-dgs + + copy-resources + + validate + + ../target/graphs/appc/json + + + src/main/json + + *.json + + true + + + + + + + + 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 @@ svclogic/graphs **/*.xml + **/*.json **/graph.versions + **/dg_activate.txt unix 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