aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHector Anapan-Lavalle <ha076r@att.com>2017-10-24 19:13:22 -0400
committerHector Anapan-Lavalle <ha076r@att.com>2017-10-24 19:13:45 -0400
commit192f6bad7a24854defdb5c1a0f2a948ad87bcfd8 (patch)
treeb5921661e544d05ed4712630629943370dbf6917
parentbd863814f64653131d2cb05942e5ac61fa300399 (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]
-rw-r--r--installation/appc/src/main/scripts/startODL.sh20
-rw-r--r--platform-logic/appc/pom.xml67
-rw-r--r--platform-logic/appc/src/main/resources/dg_activate.txt77
-rw-r--r--platform-logic/installer/src/assembly/assemble_zip.xml2
-rw-r--r--platform-logic/installer/src/main/scripts/install-converted-dgs.sh57
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