diff options
author | Hector Anapan-Lavalle <ha076r@att.com> | 2017-10-24 19:13:22 -0400 |
---|---|---|
committer | Hector Anapan-Lavalle <ha076r@att.com> | 2017-10-24 19:13:45 -0400 |
commit | 192f6bad7a24854defdb5c1a0f2a948ad87bcfd8 (patch) | |
tree | b5921661e544d05ed4712630629943370dbf6917 /platform-logic | |
parent | bd863814f64653131d2cb05942e5ac61fa300399 (diff) |
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 <ha076r@att.com>
Issue-Id:[APPC-287]
Diffstat (limited to 'platform-logic')
4 files changed, 200 insertions, 3 deletions
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 |