diff options
Diffstat (limited to 'platform-logic')
17 files changed, 1003 insertions, 0 deletions
diff --git a/platform-logic/.gitignore b/platform-logic/.gitignore new file mode 100644 index 00000000..1b8a6ba9 --- /dev/null +++ b/platform-logic/.gitignore @@ -0,0 +1,12 @@ +org.eclipse.core.resources.prefs +.classpath
+.project
+.settings
+.idea
+.externalToolBuilders
+maven-eclipse.xml
+*.class
+target/
+MANIFEST.MF
+.DS_STORE
+.metadata
diff --git a/platform-logic/asdc-api/pom.xml b/platform-logic/asdc-api/pom.xml new file mode 100644 index 00000000..9457d34d --- /dev/null +++ b/platform-logic/asdc-api/pom.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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/maven-v4_0_0.xsd"> + + <parent> + <groupId>org.onap.ccsdk.distribution</groupId> + <artifactId>distribution-platform-logic</artifactId> + <version>0.1.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <packaging>pom</packaging> + <artifactId>platform-logic-asdcapi</artifactId> + <version>0.1.0-SNAPSHOT</version> + + <name>Platform Logic : ASDC-API</name> + <description>Contains platform-level service logic for the ASDC-API</description> + + + <build> + <plugins> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>2.6</version> + <executions> + <execution> + <id>copy-version</id> + <goals> + <goal>copy-resources</goal> + </goals><!-- here the phase you need --> + <phase>validate</phase> + <configuration> + <outputDirectory>../target/graphs/asdcapi</outputDirectory> + <resources> + <resource> + <directory>src/main/xml</directory> + <includes> + <include>*.xml</include> + </includes> + <filtering>true</filtering> + </resource> + <resource> + <directory>src/main/resources</directory> + <includes> + <include>graph.versions</include> + </includes> + <filtering>true</filtering> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> diff --git a/platform-logic/asdc-api/src/main/json/ASDC-API_vf-license-model-update.json b/platform-logic/asdc-api/src/main/json/ASDC-API_vf-license-model-update.json new file mode 100644 index 00000000..de6d6a05 --- /dev/null +++ b/platform-logic/asdc-api/src/main/json/ASDC-API_vf-license-model-update.json @@ -0,0 +1,346 @@ + + + +[ + { + "id": "c7f3b902.c0fcc8", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 148, + "y": 123, + "z": "b94f5cde.40937", + "wires": [ + [ + "72236e27.a51f78" + ] + ] + }, + { + "id": "612aaed1.f30978", + "type": "comment", + "name": "ASDC update to VF license model", + "info": "", + "comments": "", + "x": 550, + "y": 45, + "z": "b94f5cde.40937", + "wires": [] + }, + { + "id": "72236e27.a51f78", + "type": "service-logic", + "name": "ASDC-API 1.0.0", + "module": "ASDC-API", + "version": "${project.version}", + "comments": "", + "xml": "<service-logic xmlns='http://www.att.com/sdnctl/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.att.com/sdnctl/svclogic ./svclogic.xsd' module='ASDC-API' version='${project.version}'>", + "outputs": 1, + "x": 340, + "y": 124, + "z": "b94f5cde.40937", + "wires": [ + [ + "e6c56f71.e6a96" + ] + ] + }, + { + "id": "e6c56f71.e6a96", + "type": "method", + "name": "method vf-license-model-update", + "xml": "<method rpc='vf-license-model-update' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 588, + "y": 124, + "z": "b94f5cde.40937", + "wires": [ + [ + "90b82ce5.7ff2a" + ] + ] + }, + { + "id": "90b82ce5.7ff2a", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 222, + "y": 230, + "z": "b94f5cde.40937", + "wires": [ + [ + "6a527c25.be62c4", + "b37c86cb.130b8", + "1c4b640e.56b174" + ] + ] + }, + { + "id": "6a527c25.be62c4", + "type": "GenericXML", + "name": "record", + "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"vf-license-model\"/>", + "comments": "", + "outputs": 1, + "x": 374, + "y": 230, + "z": "b94f5cde.40937", + "wires": [ + [] + ] + }, + { + "id": "b37c86cb.130b8", + "type": "set", + "name": "set resource-plugin", + "xml": "<set>\n<parameter name='resource-plugin' value='com.att.sdnctl.sli.resource.gamma.GammaResource' />\n", + "comments": "", + "outputs": 1, + "x": 410, + "y": 281, + "z": "b94f5cde.40937", + "wires": [ + [] + ] + }, + { + "id": "1c4b640e.56b174", + "type": "switchNode", + "name": "switch: length of feature-group list > 0", + "xml": "<switch test='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group_length > 0`'>\n", + "comments": "", + "outputs": 1, + "x": 459, + "y": 344, + "z": "b94f5cde.40937", + "wires": [ + [ + "1b40f4f1.7134f3" + ] + ] + }, + { + "id": "1b40f4f1.7134f3", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 695, + "y": 343, + "z": "b94f5cde.40937", + "wires": [ + [ + "9b76ec90.614c08" + ] + ] + }, + { + "id": "9b76ec90.614c08", + "type": "for", + "name": "for: feature groups", + "xml": "<for index='i' start='0' end='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group_length`' >\n", + "comments": "", + "outputs": 1, + "x": 855, + "y": 343, + "z": "b94f5cde.40937", + "wires": [ + [ + "3dbfa83c.5d206" + ] + ] + }, + { + "id": "44241b8a.fe4ddc", + "type": "save", + "name": "save VNF_MODEL_LICENSES", + "xml": "<save plugin='`$resource-plugin`' resource='vnf-model-licenses' key='att-part-number = $vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].att-part-number and license-assignment-group = $tmp-license-group' force='true'>\n<parameter name='att-part-number' value='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].att-part-number`' />\n<parameter name='license-assignment-group' value='`$tmp-license-group`'/>\n<parameter name='license-required' value='`$tmp-license-required`'/>\n<parameter name='entitlement-assignment-group' value='`$tmp-entitlement-group`'/>\n<parameter name='entitlement-required' value='`$tmp-entitlement-required`'/>\n", + "comments": "", + "outputs": 1, + "x": 1254, + "y": 544, + "z": "b94f5cde.40937", + "wires": [ + [] + ] + }, + { + "id": "90633ed7.848e18", + "type": "switchNode", + "name": "switch: length of license key groups == 0", + "xml": "<switch test='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].license-key-group-list.license-key-group_length == 0`'>\n", + "comments": "", + "outputs": 1, + "x": 1275, + "y": 294, + "z": "b94f5cde.40937", + "wires": [ + [ + "a36e3c96.3c6238", + "fb2fe0dd.5e4d38" + ] + ] + }, + { + "id": "a36e3c96.3c6238", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1523, + "y": 293, + "z": "b94f5cde.40937", + "wires": [ + [ + "fc3c75a8.272ad" + ] + ] + }, + { + "id": "fc3c75a8.272ad", + "type": "set", + "name": "set license required to 0", + "xml": "<set>\n<parameter name='tmp-license-required' value='0' />\n<parameter name='tmp-license-group' value='NONE' />\n", + "comments": "", + "outputs": 1, + "x": 1737, + "y": 293, + "z": "b94f5cde.40937", + "wires": [ + [] + ] + }, + { + "id": "fb2fe0dd.5e4d38", + "type": "outcomeFalse", + "name": "false", + "xml": "<outcome value='false'>\n", + "comments": "", + "outputs": 1, + "x": 1521, + "y": 346, + "z": "b94f5cde.40937", + "wires": [ + [ + "2d606ecc.b12bba" + ] + ] + }, + { + "id": "2d606ecc.b12bba", + "type": "set", + "name": "set license required to 1", + "xml": "<set>\n<parameter name='tmp-license-required' value='1' />\n<parameter name='tmp-license-group' value='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].license-key-group-list.license-key-group[0].license-key-group-uuid`' />\n", + "comments": "", + "outputs": 1, + "x": 1732, + "y": 348, + "z": "b94f5cde.40937", + "wires": [ + [] + ] + }, + { + "id": "64fd0671.15f188", + "type": "switchNode", + "name": "switch: length of entitlement pool == 0", + "xml": "<switch test='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].entitlement-pool-list.entitlement-pool_length == 0`'>\n", + "comments": "", + "outputs": 1, + "x": 1277, + "y": 405, + "z": "b94f5cde.40937", + "wires": [ + [ + "7ebbe15a.bb3988", + "9213bc2a.81103" + ] + ] + }, + { + "id": "7ebbe15a.bb3988", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1525, + "y": 404, + "z": "b94f5cde.40937", + "wires": [ + [ + "eb5a3c7b.4c3dc" + ] + ] + }, + { + "id": "eb5a3c7b.4c3dc", + "type": "set", + "name": "set entitlement required to 0", + "xml": "<set>\n<parameter name='tmp-entitlement-required' value='0' />\n<parameter name='tmp-entitlement-group' value='NONE' />\n", + "comments": "", + "outputs": 1, + "x": 1739, + "y": 404, + "z": "b94f5cde.40937", + "wires": [ + [] + ] + }, + { + "id": "9213bc2a.81103", + "type": "outcomeFalse", + "name": "false", + "xml": "<outcome value='false'>\n", + "comments": "", + "outputs": 1, + "x": 1523, + "y": 457, + "z": "b94f5cde.40937", + "wires": [ + [ + "b64ce482.a1f508" + ] + ] + }, + { + "id": "b64ce482.a1f508", + "type": "set", + "name": "set entitlement required to 1", + "xml": "<set>\n<parameter name='tmp-entitlement-required' value='1' />\n<parameter name='tmp-entitlement-group' value='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].entitlement-pool-list.entitlement-pool[0].entitlement-pool-uuid`' />\n", + "comments": "", + "outputs": 1, + "x": 1734, + "y": 459, + "z": "b94f5cde.40937", + "wires": [ + [] + ] + }, + { + "id": "3dbfa83c.5d206", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 1022, + "y": 344, + "z": "b94f5cde.40937", + "wires": [ + [ + "90633ed7.848e18", + "64fd0671.15f188", + "44241b8a.fe4ddc" + ] + ] + } +] diff --git a/platform-logic/asdc-api/src/main/resources/graph.versions b/platform-logic/asdc-api/src/main/resources/graph.versions new file mode 100644 index 00000000..43271614 --- /dev/null +++ b/platform-logic/asdc-api/src/main/resources/graph.versions @@ -0,0 +1 @@ +ASDC-API vf-license-model-update ${project.version} sync diff --git a/platform-logic/asdc-api/src/main/xml/ASDC-API_vf-license-model-update.xml b/platform-logic/asdc-api/src/main/xml/ASDC-API_vf-license-model-update.xml new file mode 100644 index 00000000..c6d079ce --- /dev/null +++ b/platform-logic/asdc-api/src/main/xml/ASDC-API_vf-license-model-update.xml @@ -0,0 +1,78 @@ +<!-- + ============LICENSE_START======================================================= + openECOMP : SDN-C + ================================================================================ + 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========================================================= + --> + +<service-logic xmlns="http://www.onap.org/sdnc/svclogic" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module='ASDC-API' version='${project.version}'> + <method rpc='vf-license-model-update' mode='sync'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/> + <parameter name="field1" value="__TIMESTAMP__"/> + <parameter name="field2" value="vf-license-model"/> + </record> + <set> + <parameter name='resource-plugin' value='org.onap.ccsdk.sli.adaptors.gamma.GammaResource' /> + </set> + <switch test='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group_length > 0`'> + <outcome value='true'> + <for index='i' start='0' end='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group_length`' > + <block> + <switch test='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].license-key-group-list.license-key-group_length == 0`'> + <outcome value='true'> + <set> + <parameter name='tmp-license-required' value='0' /> + <parameter name='tmp-license-group' value='NONE' /> + </set> + </outcome> + <outcome value='false'> + <set> + <parameter name='tmp-license-required' value='1' /> + <parameter name='tmp-license-group' value='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].license-key-group-list.license-key-group[0].license-key-group-uuid`' /> + </set> + </outcome> + </switch> + <switch test='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].entitlement-pool-list.entitlement-pool_length == 0`'> + <outcome value='true'> + <set> + <parameter name='tmp-entitlement-required' value='0' /> + <parameter name='tmp-entitlement-group' value='NONE' /> + </set> + </outcome> + <outcome value='false'> + <set> + <parameter name='tmp-entitlement-required' value='1' /> + <parameter name='tmp-entitlement-group' value='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].entitlement-pool-list.entitlement-pool[0].entitlement-pool-uuid`' /> + </set> + </outcome> + </switch> + <save plugin='`$resource-plugin`' resource='vnf-model-licenses' key='att-part-number = $vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].att-part-number and license-assignment-group = $tmp-license-group' force='true'> + <parameter name='att-part-number' value='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].att-part-number`' /> + <parameter name='license-assignment-group' value='`$tmp-license-group`'/> + <parameter name='license-required' value='`$tmp-license-required`'/> + <parameter name='entitlement-assignment-group' value='`$tmp-entitlement-group`'/> + <parameter name='entitlement-required' value='`$tmp-entitlement-required`'/> + </save> + </block> + </for> + </outcome> + </switch> + </block> + </method> +</service-logic> diff --git a/platform-logic/installer/pom.xml b/platform-logic/installer/pom.xml new file mode 100644 index 00000000..f6b8578b --- /dev/null +++ b/platform-logic/installer/pom.xml @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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/maven-v4_0_0.xsd"> + + <parent> + <groupId>org.onap.ccsdk.distribution</groupId> + <artifactId>distribution-platform-logic</artifactId> + <version>0.1.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <packaging>pom</packaging> + <artifactId>platform-logic-installer</artifactId> + <version>0.1.0-SNAPSHOT</version> + + <name>Platform Logic Installer</name> + <description>Contains platform-level service logic installer</description> + + + + <build> + <plugins> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>2.6</version> + <executions> + <execution> + <id>copy-version</id> + <goals> + <goal>copy-resources</goal> + </goals><!-- here the phase you need --> + <phase>validate</phase> + <configuration> + <outputDirectory>target/resources</outputDirectory> + <resources> + <resource> + <directory>src/main/resources</directory> + <includes> + <include>*</include> + </includes> + <filtering>true</filtering> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.6</version> + <executions> + <execution> + <id>create-zip</id> + <goals> + <goal>single</goal> + </goals> + <phase>package</phase> + <configuration> + <attach>true</attach> + <descriptors> + <descriptor>src/assembly/assemble_zip.xml</descriptor> + </descriptors> + <appendAssemblyId>false</appendAssemblyId> + </configuration> + </execution> + + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>copy-dependencies</id> + <goals> + <goal>copy-dependencies</goal> + </goals> + <phase>prepare-package</phase> + <configuration> + <transitive>false</transitive> + <outputDirectory>${project.build.directory}/lib</outputDirectory> + <overWriteReleases>false</overWriteReleases> + <overWriteSnapshots>true</overWriteSnapshots> + <overWriteIfNewer>true</overWriteIfNewer> + <useRepositoryLayout>false</useRepositoryLayout> + <addParentPoms>false</addParentPoms> + <copyPom>false</copyPom> + <scope>provided</scope> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + + </build> + <dependencies> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>${slf4j.version}</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-simple</artifactId> + <version>1.7.5</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.onap.ccsdk.sli.core</groupId> + <artifactId>sli-common</artifactId> + <version>${sdnctl.sli.version}</version> + </dependency> + <dependency> + <groupId>org.antlr</groupId> + <artifactId>antlr4</artifactId> + <version>${antlr.version}</version> + <type>jar</type> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + <version>${mysql.connector.version}</version> + <type>jar</type> + <scope>compile</scope> + </dependency> + </dependencies> + +</project> diff --git a/platform-logic/installer/src/assembly/assemble_zip.xml b/platform-logic/installer/src/assembly/assemble_zip.xml new file mode 100644 index 00000000..46a8b610 --- /dev/null +++ b/platform-logic/installer/src/assembly/assemble_zip.xml @@ -0,0 +1,71 @@ +<!-- + ============LICENSE_START======================================================= + openECOMP : SDN-C + ================================================================================ + 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========================================================= + --> + +<!-- Defines how we build the .zip file which is our distribution. --> + +<assembly + xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> + <id>bin</id> + <formats> + <format>zip</format> + </formats> + + <includeBaseDirectory>false</includeBaseDirectory> + + <fileSets> + <fileSet> + <directory>../target/graphs</directory> + <outputDirectory>svclogic/graphs</outputDirectory> + <includes> + <include>**/*.xml</include> + <include>**/graph.versions</include> + </includes> + </fileSet> + + <fileSet> + <directory>src/main/scripts</directory> + <outputDirectory>svclogic/bin</outputDirectory> + <includes> + <include>*.sh</include> + </includes> + <fileMode>0755</fileMode> + </fileSet> + <fileSet> + <directory>target/resources</directory> + <outputDirectory>svclogic/config</outputDirectory> + <includes> + <include>*</include> + </includes> + </fileSet> + <fileSet> + <directory>target/lib</directory> + <outputDirectory>svclogic/lib</outputDirectory> + <includes> + <include>*.jar</include> + </includes> + </fileSet> + </fileSets> + + + +</assembly> diff --git a/platform-logic/installer/src/main/resources/svclogic.properties b/platform-logic/installer/src/main/resources/svclogic.properties new file mode 100644 index 00000000..9ffc298f --- /dev/null +++ b/platform-logic/installer/src/main/resources/svclogic.properties @@ -0,0 +1,26 @@ +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# 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========================================================= +### + +org.onap.ccsdk.sli.dbtype = jdbc +org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://sdnctldb01:3306/sdnctl +org.onap.ccsdk.sli.jdbc.database = sdnctl +org.onap.ccsdk.sli.jdbc.user = sdnctl +org.onap.ccsdk.sli.jdbc.password = gamma diff --git a/platform-logic/installer/src/main/scripts/install.sh b/platform-logic/installer/src/main/scripts/install.sh new file mode 100644 index 00000000..2c32e93a --- /dev/null +++ b/platform-logic/installer/src/main/scripts/install.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# 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========================================================= +### + +BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" + + +# Load directed graphs + + +for graphlist in $(find $BASEDIR/graphs -name graph.versions -print) +do + curdir=$(dirname $graphlist) + + # Load files from directory containing graph.versions file + echo "Loading graphs from $curdir" + for file in $(ls $curdir/*.xml) + do + echo "Loading $file ..." + $BASEDIR/bin/svclogic.sh load $file $BASEDIR/config/svclogic.properties + done + + # Activate directed graphs + while read module rpc version mode + do + echo "Activating $module $rpc $version $mode" + $BASEDIR/bin/svclogic.sh activate $module $rpc $version $mode $BASEDIR/config/svclogic.properties + done < $graphlist +done + + + + + + diff --git a/platform-logic/installer/src/main/scripts/setenv.sh b/platform-logic/installer/src/main/scripts/setenv.sh new file mode 100644 index 00000000..c5e520f8 --- /dev/null +++ b/platform-logic/installer/src/main/scripts/setenv.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# 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========================================================= +### + +SDNC_CONFIG_DIR=${SDNC_CONFIG_DIR:-/opt/sdnc/data/properties} + +AAIURI=$(grep org.onap.ccsdk.sli.aai.uri ${SDNC_CONFIG_DIR}/aaiclient.properties | grep -v '#' | cut -d'=' -f2) + +MYSQL_USER=$(grep org.onap.ccsdk.sli.jdbc.user ${SDNC_CONFIG_DIR}/dblib.properties | grep -v '#' | cut -d'=' -f2) +MYSQL_PWD=$(grep org.onap.ccsdk.sli.jdbc.password ${SDNC_CONFIG_DIR}/dblib.properties | grep -v '#' | cut -d'=' -f2) +MYSQL_DB=$(grep org.onap.ccsdk.sli.jdbc.database ${SDNC_CONFIG_DIR}/dblib.properties | grep -v '#' | cut -d'=' -f2) +MYSQL_SERVER=$(grep org.onap.ccsdk.sli.jdbc.hosts ${SDNC_CONFIG_DIR}/dblib.properties | grep -v '#' | cut -d'=' -f2 | cut -d',' -f1) + +ODLUSER=$(grep controllerUser ${SDNC_CONFIG_DIR}/backup.properties | grep -v '#' | cut -d'=' -f2) +ODLPWD=$(grep controllerPass ${SDNC_CONFIG_DIR}/backup.properties | grep -v '#' | cut -d'=' -f2) + +ODLHOST=$(grep odlNodes ${SDNC_CONFIG_DIR}/backup.properties | grep -v '#' | cut -d'=' -f2|cut -d',' -f1) +ODLPORT=$(grep controllerPort ${SDNC_CONFIG_DIR}/backup.properties | grep -v '#' | cut -d'=' -f2) +if [ $ODLPORT = 8443 ] +then + ODLPROTO=https +else + ODLPROTO=http +fi + +unset HTTP_PROXY HTTPS_PROXY http_proxy https_proxy diff --git a/platform-logic/installer/src/main/scripts/showActiveGraphs.sh b/platform-logic/installer/src/main/scripts/showActiveGraphs.sh new file mode 100644 index 00000000..9b89e9cf --- /dev/null +++ b/platform-logic/installer/src/main/scripts/showActiveGraphs.sh @@ -0,0 +1,29 @@ +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# 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========================================================= +### + +MYSQL_USER=${MYSQL_USER:-sdnctl} +MYSQL_PWD=${MYSQL_PWD:-gamma} +MYSQL_DB=${MYSQL_DB:-sdnctl} +MYSQL_HOST=${MYSQL_HOST:-dbhost} + +mysql --user=${MYSQL_USER} --password=${MYSQL_PWD} --host=${MYSQL_HOST} ${MYSQL_DB} <<-END +SELECT module, rpc, version, mode from SVC_LOGIC where active='Y'; +END diff --git a/platform-logic/installer/src/main/scripts/svclogic.sh b/platform-logic/installer/src/main/scripts/svclogic.sh new file mode 100644 index 00000000..1d6dd2da --- /dev/null +++ b/platform-logic/installer/src/main/scripts/svclogic.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# 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========================================================= +### + +BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" +JARDIR=${BASEDIR}/lib + +for jar in $JARDIR/*.jar +do + CLASSPATH=$CLASSPATH:${jar} +done + +java -cp ${CLASSPATH}:${MYSQL_JDBC_DRIVER} org.onap.ccsdk.sli.core.sli.SvcLogicParser $* diff --git a/platform-logic/pom.xml b/platform-logic/pom.xml new file mode 100644 index 00000000..3ce0b570 --- /dev/null +++ b/platform-logic/pom.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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/maven-v4_0_0.xsd"> + + <parent> + <groupId>org.onap.ccsdk.distribution</groupId> + <artifactId>distribution-root</artifactId> + <version>0.1.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <packaging>pom</packaging> + <artifactId>distribution-platform-logic</artifactId> + <version>0.1.0-SNAPSHOT</version> + + <name>Platform Logic </name> + <description>Contains platform-level service logic</description> + + <properties> + <application.name>platform-logic</application.name> + + <maven.build.timestamp.format>yyMMdd-HHmmss</maven.build.timestamp.format> + <build.number>${maven.build.timestamp}</build.number> + </properties> + + <modules> + <module>asdc-api</module> + <module>sliapi</module> + <module>installer</module> + </modules> + <organization> + <name>openECOMP</name> + </organization> +</project> diff --git a/platform-logic/sliapi/pom.xml b/platform-logic/sliapi/pom.xml new file mode 100644 index 00000000..ef047a8d --- /dev/null +++ b/platform-logic/sliapi/pom.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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/maven-v4_0_0.xsd"> + + <parent> + <groupId>org.onap.ccsdk.distribution</groupId> + <artifactId>distribution-platform-logic</artifactId> + <version>0.1.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <packaging>pom</packaging> + <artifactId>platform-logic-sliapi</artifactId> + <version>0.1.0-SNAPSHOT</version> + + <name>Platform Logic : SLI-API</name> + <description>Contains platform-level service logic for the SLI-API</description> + + + <build> + <plugins> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>2.6</version> + <executions> + <execution> + <id>copy-version</id> + <goals> + <goal>copy-resources</goal> + </goals><!-- here the phase you need --> + <phase>validate</phase> + <configuration> + <outputDirectory>../target/graphs/sliapi</outputDirectory> + <resources> + <resource> + <directory>src/main/xml</directory> + <includes> + <include>*.xml</include> + </includes> + <filtering>true</filtering> + </resource> + <resource> + <directory>src/main/resources</directory> + <includes> + <include>graph.versions</include> + </includes> + <filtering>true</filtering> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> diff --git a/platform-logic/sliapi/src/main/json/sli_healthcheck.json b/platform-logic/sliapi/src/main/json/sli_healthcheck.json new file mode 100644 index 00000000..e9394675 --- /dev/null +++ b/platform-logic/sliapi/src/main/json/sli_healthcheck.json @@ -0,0 +1,4 @@ + + + +[{"id":"dbe3f1ee.ed5bb8","type":"dgstart","name":"DGSTART","outputs":1,"x":130,"y":52,"z":"95339741.be0da","wires":[["e5677e2c.75636"]]},{"id":"e5677e2c.75636","type":"service-logic","name":"sli ${project.version}","module":"sli","version":"${project.version}","comments":"","xml":"<service-logic xmlns='http://www.att.com/sdnctl/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.att.com/sdnctl/svclogic ./svclogic.xsd' module='sli' version='${project.version}'>","outputs":1,"x":169,"y":117,"z":"95339741.be0da","wires":[["2abd790.d32b188"]]},{"id":"2abd790.d32b188","type":"method","name":"method healthcheck","xml":"<method rpc='healthcheck' mode='sync'>\n","comments":"","outputs":1,"x":212,"y":184,"z":"95339741.be0da","wires":[["33013f8c.9c1dc8"]]},{"id":"33013f8c.9c1dc8","type":"set","name":"set return message","xml":"<set>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='SDN-C is healthy'/>\n<parameter name='ack-final' value='Y'/>\n","comments":"","x":263,"y":264,"z":"95339741.be0da","wires":[]}] diff --git a/platform-logic/sliapi/src/main/resources/graph.versions b/platform-logic/sliapi/src/main/resources/graph.versions new file mode 100644 index 00000000..d0cdbdc3 --- /dev/null +++ b/platform-logic/sliapi/src/main/resources/graph.versions @@ -0,0 +1 @@ +sli healthcheck ${project.version} sync diff --git a/platform-logic/sliapi/src/main/xml/sli_healthcheck.xml b/platform-logic/sliapi/src/main/xml/sli_healthcheck.xml new file mode 100644 index 00000000..c176767e --- /dev/null +++ b/platform-logic/sliapi/src/main/xml/sli_healthcheck.xml @@ -0,0 +1,27 @@ +<!-- + ============LICENSE_START======================================================= + openECOMP : SDN-C + ================================================================================ + 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========================================================= + --> + +<service-logic xmlns="http://www.openecomp.org/sdnc/svclogic" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd" module='sli' version='${project.version}'><method rpc='healthcheck' mode='sync'> +<set> +<parameter name='error-code' value='200' /> +<parameter name='error-message' value='SDN-C is healthy'/> +<parameter name='ack-final' value='Y'/> +</set></method></service-logic> |