Proposal to remove OSGi dependencies from the CCSDK project 50/84050/25
authorMatej Perina <matej.perina@pantheon.tech>
Wed, 3 Apr 2019 07:17:40 +0000 (09:17 +0200)
committerSamuel Kontris <samuel.kontris@pantheon.tech>
Wed, 28 Aug 2019 10:18:55 +0000 (12:18 +0200)
Dependencies on the OSGi frameworks and libraries are removed
by integrating the CCSDK project with the lighty.io.
It's a toolkit that allows to use ODL services (in this case
core services and the Restconf) without the dependency
on the Karaf framework and the Blueprint DI.

The ccsdk-lighty-module artifact contains lighty.io module
that groups all other modules from other repositories and
starts/stops them at once.

The ccsdk-lighty-distribution artifact starts
the lighty.io core, Restconf and the CCSDK integrated with
the lighty.io and creates zip distribution with the CCSDK
lighty.io application and necessary libraries.

The distribution-lighty-ubuntu-docker artifact creates
the docker image with the zip distribution from
the ccsdk-lighty-application artifact and necessary
configuration files.

For more information see the README.md file
in the lighty/docs directory.

More info about the lighty.io - https://lighty.io

Change-Id: Id29935c8e2951b400ad3217ff412bc5155384487
Signed-off-by: Matej Perina <matej.perina@pantheon.tech>
Signed-off-by: Samuel Kontris <samuel.kontris@pantheon.tech>
37 files changed:
lighty/ccsdk-lighty-distribution/pom.xml [new file with mode: 0755]
lighty/ccsdk-lighty-distribution/src/main/java/org/onap/ccsdk/distribution/lighty/Main.java [new file with mode: 0644]
lighty/ccsdk-lighty-distribution/src/main/resources/lightyCcsdkConfig.json [new file with mode: 0644]
lighty/ccsdk-lighty-module/pom.xml [new file with mode: 0755]
lighty/ccsdk-lighty-module/src/main/java/org/onap/ccsdk/distribution/lighty/AAAEncryptionServiceLightyImpl.java [new file with mode: 0644]
lighty/ccsdk-lighty-module/src/main/java/org/onap/ccsdk/distribution/lighty/CcsdkLightyApplication.java [new file with mode: 0644]
lighty/ccsdk-lighty-module/src/main/java/org/onap/ccsdk/distribution/lighty/CcsdkLightyModule.java [new file with mode: 0644]
lighty/docs/README.md [new file with mode: 0644]
lighty/docs/hello_world.json [new file with mode: 0644]
lighty/lighty-ubuntu-docker/pom.xml [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/docker/Dockerfile [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/docker/docker-compose.yml [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/properties/aaiclient.properties [new file with mode: 0755]
lighty/lighty-ubuntu-docker/src/main/properties/admportal.json [new file with mode: 0755]
lighty/lighty-ubuntu-docker/src/main/properties/admportal.log4js.json [new file with mode: 0755]
lighty/lighty-ubuntu-docker/src/main/properties/dblib.properties [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/properties/grpc.properties [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/properties/lightyCcsdkConfig.json [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/properties/mdsal-resource.properties [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/properties/netbox.properties [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/properties/partners.json [new file with mode: 0755]
lighty/lighty-ubuntu-docker/src/main/properties/sdnr-oofpcipoc-api-dg.properties [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/properties/sql-resource.properties [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/properties/svclogic.properties [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/properties/svclogic.properties.sdnctldb01 [new file with mode: 0755]
lighty/lighty-ubuntu-docker/src/main/properties/template-node.properties [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/properties/ueb.properties [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/resources/ansible-sources.list [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/resources/idmlight.db.mv.db [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/resources/install_ccsdk.yml [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/resources/odlsli.dump [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/resources/org.ops4j.pax.logging.cfg [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/scripts/installSdncDb.sh [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/scripts/startODL.sh [new file with mode: 0644]
lighty/lighty-ubuntu-docker/src/main/stores/truststore.onap.client.jks [new file with mode: 0755]
lighty/pom.xml [new file with mode: 0644]
pom.xml

diff --git a/lighty/ccsdk-lighty-distribution/pom.xml b/lighty/ccsdk-lighty-distribution/pom.xml
new file mode 100755 (executable)
index 0000000..4082589
--- /dev/null
@@ -0,0 +1,79 @@
+<?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/xsd/maven-4.0.0.xsd">
+       <modelVersion>4.0.0</modelVersion>
+
+       <parent>
+               <groupId>io.lighty.core</groupId>
+               <artifactId>lighty-app-parent</artifactId>
+               <version>10.1.0</version>
+       </parent>
+
+       <groupId>org.onap.ccsdk.distribution</groupId>
+       <artifactId>ccsdk-lighty-distribution</artifactId>
+       <version>0.6.0-SNAPSHOT</version>
+       <packaging>jar</packaging>
+
+       <properties>
+               <maven.compiler.source>1.8</maven.compiler.source>
+               <maven.compiler.target>1.8</maven.compiler.target>
+               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+               <application.main.class>org.onap.ccsdk.distribution.lighty.Main</application.main.class>
+               <application.attach.zip>true</application.attach.zip>
+
+               <maven.deploy.skip>true</maven.deploy.skip>
+       </properties>
+
+       <dependencyManagement>
+               <dependencies>
+                       <dependency>
+                               <groupId>org.onap.ccsdk.sli.core</groupId>
+                               <artifactId>ccsdk-lighty-dependency-versions</artifactId>
+                               <version>${project.version}</version>
+                               <type>pom</type>
+                               <scope>import</scope>
+                       </dependency>
+               </dependencies>
+       </dependencyManagement>
+
+       <dependencies>
+               <dependency>
+                       <groupId>io.lighty.core</groupId>
+                       <artifactId>lighty-controller</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>io.lighty.modules</groupId>
+                       <artifactId>lighty-restconf-nb-community</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>io.lighty.resources</groupId>
+                       <artifactId>singlenode-configuration</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.ccsdk.distribution</groupId>
+                       <artifactId>ccsdk-lighty-module</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.ccsdk.sli.core</groupId>
+                       <artifactId>sliapi-model</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.ccsdk.sli.northbound</groupId>
+                       <artifactId>dataChange-model</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.ccsdk.sli.northbound</groupId>
+                       <artifactId>asdcApi-model</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.ccsdk.sli.northbound</groupId>
+                       <artifactId>lcm-model</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+
+       </dependencies>
+</project>
diff --git a/lighty/ccsdk-lighty-distribution/src/main/java/org/onap/ccsdk/distribution/lighty/Main.java b/lighty/ccsdk-lighty-distribution/src/main/java/org/onap/ccsdk/distribution/lighty/Main.java
new file mode 100644 (file)
index 0000000..47163ea
--- /dev/null
@@ -0,0 +1,139 @@
+/*
+ * ============LICENSE_START==========================================
+ * Copyright (c) 2019 PANTHEON.tech s.r.o.
+ * ===================================================================
+ * 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============================================
+ *
+ */
+package org.onap.ccsdk.distribution.lighty;
+
+import io.lighty.core.controller.impl.config.ControllerConfiguration;
+import io.lighty.core.controller.impl.util.ControllerConfigUtils;
+import io.lighty.modules.northbound.restconf.community.impl.config.RestConfConfiguration;
+import io.lighty.modules.northbound.restconf.community.impl.util.RestConfConfigUtils;
+import java.net.InetAddress;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Set;
+import java.util.concurrent.ExecutionException;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Main class of the CCSDK lighty.io application. In order to start the application run main method. Path to
+ * the configuration file can be provided as argument. If not, then default configuration will be used.
+ */
+public class Main {
+
+    private static final Logger LOG = LoggerFactory.getLogger(Main.class);
+
+    private ShutdownHook shutdownHook;
+
+    public static void main(String[] args) {
+        Main app = new Main();
+        app.start(args, true);
+    }
+
+    public void start(String[] args, boolean registerShutdownHook) {
+        long startTime = System.nanoTime();
+        LOG.info(".__  .__       .__     __              .__                   _________ _________   _________________ "
+                + "  ____  __.");
+        LOG.info("|  | |__| ____ |  |___/  |_ ___.__.    |__| ____             \\_   ___ \\\\_   ___ \\ /   _____/\\___"
+                + "___ \\ |    |/ _|");
+        LOG.info("|  | |  |/ ___\\|  |  \\   __<   |  |    |  |/  _ \\    ______  /    \\  \\//    \\  \\/ \\_____  \\ "
+                + " |    |  \\|      <");
+        LOG.info("|  |_|  / /_/  >   Y  \\  |  \\___  |    |  (  <_> )  /_____/  \\     \\___\\     \\____/        \\ |"
+                + "    `   \\    |  \\");
+        LOG.info("|____/__\\___  /|___|  /__|  / ____| /\\ |__|\\____/             \\______  /\\______  /_______  //___"
+                + "____  /____|__ \\");
+        LOG.info("       /_____/      \\/      \\/      \\/                               \\/        \\/        \\/    "
+                + "     \\/        \\/");
+
+        LOG.info("Starting lighty.io CCSDK application ...");
+        LOG.info("https://lighty.io/");
+        LOG.info("https://github.com/PantheonTechnologies/lighty-core");
+        try {
+            if (args.length > 0) {
+                Path configPath = Paths.get(args[0]);
+                LOG.info("Using configuration from file {} ...", configPath);
+                //1. get controller configuration
+                ControllerConfiguration singleNodeConfiguration =
+                        ControllerConfigUtils.getConfiguration(Files.newInputStream(configPath));
+                //2. get RESTCONF NBP configuration
+                RestConfConfiguration restConfConfiguration = RestConfConfigUtils
+                        .getRestConfConfiguration(Files.newInputStream(configPath));
+                //3. start lighty
+                startLighty(singleNodeConfiguration, restConfConfiguration, registerShutdownHook);
+            } else {
+                LOG.info("Using default configuration ...");
+                Set<YangModuleInfo> modelPaths = Stream.concat(RestConfConfigUtils.YANG_MODELS.stream(),
+                        CcsdkLightyModule.YANG_MODELS.stream()).collect(Collectors.toSet());
+                //1. get controller configuration
+                ControllerConfiguration defaultSingleNodeConfiguration =
+                        ControllerConfigUtils.getDefaultSingleNodeConfiguration(modelPaths);
+                //2. get RESTCONF NBP configuration
+                RestConfConfiguration restConfConfig =
+                        RestConfConfigUtils.getDefaultRestConfConfiguration();
+                restConfConfig.setInetAddress(InetAddress.getLocalHost());
+                restConfConfig.setHttpPort(8181);
+                //3. start lighty
+                startLighty(defaultSingleNodeConfiguration, restConfConfig, registerShutdownHook);
+            }
+            float duration = (System.nanoTime() - startTime)/1_000_000f;
+            LOG.info("lighty.io and CCSDK started in {}ms", duration);
+        } catch (Exception e) {
+            LOG.error("Main CCSDK lighty.io application exception: ", e);
+        }
+    }
+
+    private void startLighty(ControllerConfiguration singleNodeConfiguration,
+            RestConfConfiguration restConfConfiguration, boolean registerShutdownHook)
+            throws ExecutionException, InterruptedException {
+        CcsdkLightyApplication ccsdkLightyApplication = new CcsdkLightyApplication(singleNodeConfiguration,
+                restConfConfiguration);
+
+        if (registerShutdownHook) {
+            shutdownHook = new ShutdownHook(ccsdkLightyApplication);
+            Runtime.getRuntime().addShutdownHook(shutdownHook);
+        }
+
+        ccsdkLightyApplication.start().get();
+    }
+
+    private static class ShutdownHook extends Thread {
+
+        private static final Logger LOG = LoggerFactory.getLogger(ShutdownHook.class);
+        private final CcsdkLightyApplication ccsdkLightyApplication;
+
+        ShutdownHook(CcsdkLightyApplication ccsdkLightyApplication) {
+            this.ccsdkLightyApplication = ccsdkLightyApplication;
+        }
+
+        @Override
+        public void run() {
+            LOG.info("lighty.io and CCSDK shutting down ...");
+            long startTime = System.nanoTime();
+            try {
+                ccsdkLightyApplication.shutdown();
+            } catch (Exception e) {
+                LOG.error("Exception while shutting down lighty.io CCSDK application:", e);
+            }
+            float duration = (System.nanoTime() - startTime)/1_000_000f;
+            LOG.info("lighty.io and CCSDK stopped in {}ms", duration);
+        }
+
+    }
+}
diff --git a/lighty/ccsdk-lighty-distribution/src/main/resources/lightyCcsdkConfig.json b/lighty/ccsdk-lighty-distribution/src/main/resources/lightyCcsdkConfig.json
new file mode 100644 (file)
index 0000000..1abed34
--- /dev/null
@@ -0,0 +1,74 @@
+{
+    "controller":{
+        "restoreDirectoryPath":"./clustered-datastore-restore",
+        "maxDataBrokerFutureCallbackQueueSize":1000,
+        "maxDataBrokerFutureCallbackPoolSize":10,
+        "metricCaptureEnabled":false,
+        "mailboxCapacity":1000,
+        "moduleShardsConfig": "configuration/initial/module-shards.conf",
+        "modulesConfig": "configuration/initial/modules.conf",
+        "domNotificationRouterConfig":{
+            "queueDepth":65536,
+            "spinTime":0,
+            "parkTime":0,
+            "unit":"MILLISECONDS"
+        },
+        "actorSystemConfig":{
+            "akkaConfigPath":"singlenode/akka-default.conf",
+            "factoryAkkaConfigPath":"singlenode/factory-akka-default.conf"
+        },
+        "schemaServiceConfig":{
+            "topLevelModels":[
+                { "nameSpace": "urn:TBD:params:xml:ns:yang:network:isis-topology", "name": "isis-topology", "revision": "2013-07-12" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:general-entity", "name": "general-entity", "revision": "2015-08-20" },
+                { "nameSpace": "subscribe:to:notification", "name": "subscribe-to-notification", "revision": "2016-10-28" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:cluster:admin", "name": "cluster-admin", "revision": "2015-10-13" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types", "name": "ietf-lisp-address-types", "revision": "2015-11-05" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:aaa", "name": "aaa", "revision": "2016-12-14" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:config:actor-system-provider:impl", "name": "actor-system-provider-impl", "revision": "2015-10-05" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ospf-topology", "name": "ospf-topology", "revision": "2013-07-12" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:config:distributed-datastore-provider", "name": "distributed-datastore-provider", "revision": "2014-06-12" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-yang-library", "name": "ietf-yang-library", "revision": "2016-06-21" },
+                { "nameSpace": "urn:TBD:params:xml:ns:yang:network:isis-topology", "name": "isis-topology", "revision": "2013-10-21" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider", "name": "opendaylight-inmemory-datastore-provider", "revision": "2014-06-17" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-restconf", "name": "ietf-restconf", "revision": "2013-10-19" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:iana-afn-safi", "name": "iana-afn-safi", "revision": "2013-07-04" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:config:concurrent-data-broker", "name": "odl-concurrent-data-broker-cfg", "revision": "2014-11-24" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:clustering:entity-owners", "name": "entity-owners", "revision": "2015-08-04" },
+                { "nameSpace": "urn:sal:restconf:event:subscription", "name": "sal-remote-augment", "revision": "2014-07-08" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-access-control-list", "name": "ietf-access-control-list", "revision": "2016-02-18" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:pingpong", "name": "opendaylight-pingpong-broker", "revision": "2014-11-07" },
+                { "nameSpace": "instance:identifier:patch:module", "name": "instance-identifier-patch-module", "revision": "2015-11-21" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-network-topology", "name": "ietf-network-topology", "revision": "2015-06-08" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-yang-types", "name": "ietf-yang-types", "revision": "2010-09-24" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:mdsal:core:general-entity", "name": "odl-general-entity", "revision": "2015-09-30" },
+                { "nameSpace": "urn:opendaylight:yang:extension:yang-ext", "name": "yang-ext", "revision": "2013-07-09" },
+                { "nameSpace": "urn:opendaylight:l2:types", "name": "opendaylight-l2-types", "revision": "2013-08-27" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:md:sal:config:impl:cluster-singleton-service", "name": "cluster-singleton-service-impl", "revision": "2016-07-18" },
+                { "nameSpace": "urn:TBD:params:xml:ns:yang:ospf-topology", "name": "ospf-topology", "revision": "2013-10-21" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring", "name": "ietf-restconf-monitoring", "revision": "2017-01-26" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:clustering:prefix-shard-configuration", "name": "prefix-shard-configuration", "revision": "2017-01-10" },
+                { "nameSpace": "urn:opendaylight:aaa:app:config", "name": "aaa-app-config", "revision": "2017-06-19" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-restconf", "name": "ietf-restconf", "revision": "2017-01-26" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:config:legacy-entity-ownership-service-provider", "name": "opendaylight-legacy-entity-ownership-service-provider", "revision": "2016-02-26" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:iana-if-type", "name": "iana-if-type", "revision": "2014-05-08" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl", "name": "opendaylight-sal-binding-broker-impl", "revision": "2013-10-28" },
+
+                { "nameSpace": "org:onap:ccsdk:sli:core:sliapi", "name": "SLI-API", "revision": "2016-11-10" },
+                { "nameSpace": "org:onap:ccsdk:sli:northbound:lcm", "name": "LCM", "revision": "2018-03-29" },
+                { "nameSpace": "org:onap:ccsdk:sli:northbound:datachange", "name": "DataChange", "revision": "2015-05-19" },
+                { "nameSpace": "org:onap:ccsdk:sli:northbound:asdcapi:common", "name": "asdc-api-common", "revision": "2017-02-01" },
+                { "nameSpace": "http://xmlns.onap.org/asdc/license-model/1.0", "name": "asdc-license-model", "revision": "2016-04-27" },
+                { "nameSpace": "org:onap:ccsdk", "name": "ASDC-API", "revision": "2017-02-01" }
+
+            ]
+        }
+    },
+    "restconf":{
+        "httpPort":8181,
+        "webSocketPort": 8185,
+        "restconfServletContextPath":"/restconf",
+        "jsonRestconfServiceType": "DRAFT_18",
+        "inetAddress": "0.0.0.0"
+    }
+}
diff --git a/lighty/ccsdk-lighty-module/pom.xml b/lighty/ccsdk-lighty-module/pom.xml
new file mode 100755 (executable)
index 0000000..063a17d
--- /dev/null
@@ -0,0 +1,97 @@
+<?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/xsd/maven-4.0.0.xsd">
+       <modelVersion>4.0.0</modelVersion>
+
+       <parent>
+               <groupId>org.onap.ccsdk.parent</groupId>
+               <artifactId>odlparent-lite</artifactId>
+               <version>1.4.0-SNAPSHOT</version>
+               <relativePath/>
+       </parent>
+
+       <groupId>org.onap.ccsdk.distribution</groupId>
+       <artifactId>ccsdk-lighty-module</artifactId>
+       <version>0.6.0-SNAPSHOT</version>
+       <packaging>jar</packaging>
+
+       <properties>
+               <jersey.version>2.26</jersey.version>
+       </properties>
+
+       <dependencyManagement>
+               <dependencies>
+                       <dependency>
+                               <groupId>org.onap.ccsdk.sli.core</groupId>
+                               <artifactId>ccsdk-lighty-dependency-versions</artifactId>
+                               <version>${project.version}</version>
+                               <type>pom</type>
+                               <scope>import</scope>
+                       </dependency>
+               </dependencies>
+       </dependencyManagement>
+
+       <dependencies>
+               <dependency>
+                       <groupId>io.lighty.core</groupId>
+                       <artifactId>lighty-controller</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>io.lighty.modules</groupId>
+                       <artifactId>lighty-restconf-nb-community</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.ccsdk.sli.core</groupId>
+                       <artifactId>ccsdk-core-lighty</artifactId>
+                       <version>${project.version}</version>
+                       <exclusions>
+                               <exclusion>
+                                       <artifactId>org.apache.karaf.jaas.modules</artifactId>
+                                       <groupId>org.apache.karaf.jaas</groupId>
+                               </exclusion>
+                       </exclusions>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+                       <artifactId>ccsdk-adaptors-lighty</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.ccsdk.sli.northbound</groupId>
+                       <artifactId>ccsdk-northbound-lighty</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.onap.ccsdk.sli.plugins</groupId>
+                       <artifactId>ccsdk-plugins-lighty</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+
+               <dependency>
+                       <groupId>org.onap.ccsdk.sli.core</groupId>
+                       <artifactId>sli-recording</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+
+               <dependency>
+                       <groupId>org.opendaylight.aaa</groupId>
+                       <artifactId>aaa-encrypt-service</artifactId>
+               </dependency>
+
+               <dependency>
+                       <groupId>org.apache.httpcomponents</groupId>
+                       <artifactId>httpclient</artifactId>
+                       <version>4.5.2</version>
+               </dependency>
+               <!-- version 2.26 is not backwards compatible - https://stackoverflow.com/a/46405129/4727422 -->
+               <dependency>
+                       <groupId>org.glassfish.jersey.core</groupId>
+                       <artifactId>jersey-common</artifactId>
+                       <version>${jersey.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.glassfish.jersey.inject</groupId>
+                       <artifactId>jersey-hk2</artifactId>
+                       <version>${jersey.version}</version>
+               </dependency>
+    </dependencies>
+</project>
diff --git a/lighty/ccsdk-lighty-module/src/main/java/org/onap/ccsdk/distribution/lighty/AAAEncryptionServiceLightyImpl.java b/lighty/ccsdk-lighty-module/src/main/java/org/onap/ccsdk/distribution/lighty/AAAEncryptionServiceLightyImpl.java
new file mode 100644 (file)
index 0000000..2610544
--- /dev/null
@@ -0,0 +1,116 @@
+/*
+ * ============LICENSE_START==========================================
+ * Copyright (c) 2019 PANTHEON.tech s.r.o.
+ * ===================================================================
+ * 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============================================
+ *
+ */
+package org.onap.ccsdk.distribution.lighty;
+
+import java.nio.charset.Charset;
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+import javax.xml.bind.DatatypeConverter;
+import org.onap.ccsdk.sli.core.dblib.DBLIBResourceProvider;
+import org.onap.ccsdk.sli.core.dblib.DBLIBResourceProviderLighty;
+import org.opendaylight.aaa.encrypt.AAAEncryptionService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Custom implementation of the {@link AAAEncryptionService}. Original class {@link DBLIBResourceProvider} was accessing
+ * instance of this interface via OGSi (BundleContext) and java reflection. The implementation of
+ * the {@link AAAEncryptionService} has to be injected via constructor into the lighty.io version of the class with
+ * removed OSGi dependency {@link DBLIBResourceProviderLighty}.
+ */
+public class AAAEncryptionServiceLightyImpl implements AAAEncryptionService {
+
+    private static final Logger LOG = LoggerFactory.getLogger(AAAEncryptionServiceLightyImpl.class);
+
+    private final Cipher encryptCipher;
+    private final Cipher decryptCipher;
+
+    public AAAEncryptionServiceLightyImpl(Cipher encryptCipher, Cipher decryptCipher) {
+        this.encryptCipher = encryptCipher;
+        this.decryptCipher = decryptCipher;
+    }
+
+    @Override
+    public String encrypt(String data) {
+        if (data != null && data.length() != 0 ) {
+            try {
+                synchronized (encryptCipher) {
+                    byte[] cryptobytes = encryptCipher.doFinal(data.getBytes(Charset.defaultCharset()));
+                    String cryptostring = DatatypeConverter.printBase64Binary(cryptobytes);
+                    return cryptostring;
+                }
+            } catch (IllegalBlockSizeException | BadPaddingException e) {
+                LOG.error("Failed to encrypt data.", e);
+                return data;
+            }
+        } else {
+            LOG.warn("data is empty or null.");
+            return data;
+        }
+    }
+
+    @Override
+    public byte[] encrypt(byte[] data) {
+        if (data != null && data.length != 0) {
+            try {
+                synchronized (encryptCipher) {
+                    return encryptCipher.doFinal(data);
+                }
+            } catch (IllegalBlockSizeException | BadPaddingException e) {
+                LOG.error("Failed to encrypt data.", e);
+                return data;
+            }
+        } else {
+            LOG.warn("data is empty or null.");
+            return data;
+        }
+    }
+
+    @Override
+    public String decrypt(String encryptedData) {
+        if (encryptedData != null && encryptedData.length() != 0) {
+            try {
+                byte[] cryptobytes = DatatypeConverter.parseBase64Binary(encryptedData);
+                byte[] clearbytes = decryptCipher.doFinal(cryptobytes);
+                return new String(clearbytes, Charset.defaultCharset());
+            } catch (IllegalBlockSizeException | BadPaddingException e) {
+                LOG.error("Failed to decrypt encoded data", e);
+                return encryptedData;
+            }
+        } else {
+            LOG.warn("encryptedData is empty or null.");
+            return encryptedData;
+        }
+    }
+
+    @Override
+    public byte[] decrypt(byte[] encryptedData) {
+        if (encryptedData != null && encryptedData.length != 0) {
+            try {
+                return decryptCipher.doFinal(encryptedData);
+            } catch (IllegalBlockSizeException | BadPaddingException e) {
+                LOG.error("Failed to decrypt encoded data", e);
+                return encryptedData;
+            }
+        } else {
+            LOG.warn("encryptedData is empty or null.");
+            return encryptedData;
+        }
+    }
+
+}
diff --git a/lighty/ccsdk-lighty-module/src/main/java/org/onap/ccsdk/distribution/lighty/CcsdkLightyApplication.java b/lighty/ccsdk-lighty-module/src/main/java/org/onap/ccsdk/distribution/lighty/CcsdkLightyApplication.java
new file mode 100644 (file)
index 0000000..efecb3f
--- /dev/null
@@ -0,0 +1,170 @@
+/*
+ * ============LICENSE_START==========================================
+ * Copyright (c) 2019 PANTHEON.tech s.r.o.
+ * ===================================================================
+ * 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============================================
+ *
+ */
+package org.onap.ccsdk.distribution.lighty;
+
+import io.lighty.core.controller.api.AbstractLightyModule;
+import io.lighty.core.controller.api.LightyController;
+import io.lighty.core.controller.impl.LightyControllerBuilder;
+import io.lighty.core.controller.impl.config.ConfigurationException;
+import io.lighty.core.controller.impl.config.ControllerConfiguration;
+import io.lighty.modules.northbound.restconf.community.impl.CommunityRestConf;
+import io.lighty.modules.northbound.restconf.community.impl.CommunityRestConfBuilder;
+import io.lighty.modules.northbound.restconf.community.impl.config.RestConfConfiguration;
+import io.lighty.modules.northbound.restconf.community.impl.util.RestConfConfigUtils;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.security.spec.InvalidKeySpecException;
+import java.security.spec.KeySpec;
+import java.util.Base64;
+import javax.crypto.Cipher;
+import javax.crypto.NoSuchPaddingException;
+import javax.crypto.SecretKey;
+import javax.crypto.SecretKeyFactory;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.PBEKeySpec;
+import javax.crypto.spec.SecretKeySpec;
+import org.onap.ccsdk.sli.core.lighty.common.CcsdkLightyUtils;
+import org.opendaylight.aaa.encrypt.AAAEncryptionService;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
+import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.opendaylight.yang.gen.v1.config.aaa.authn.encrypt.service.config.rev160915.AaaEncryptServiceConfig;
+import org.opendaylight.yang.gen.v1.config.aaa.authn.encrypt.service.config.rev160915.AaaEncryptServiceConfigBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The implementation of the {@link io.lighty.core.controller.api.LightyModule} that groups all necessary components
+ * needed to start the CCSDK lighty.io application.
+ */
+public class CcsdkLightyApplication extends AbstractLightyModule {
+
+    private static final Logger LOG = LoggerFactory.getLogger(CcsdkLightyApplication.class);
+
+    private ControllerConfiguration controllerConfiguration;
+    private RestConfConfiguration restConfConfiguration;
+
+    private LightyController lightyController;
+    private CommunityRestConf communityRestConf;
+    private CcsdkLightyModule ccsdkLightyModule;
+
+    public CcsdkLightyApplication(ControllerConfiguration controllerConfiguration,
+            RestConfConfiguration restConfConfiguration) {
+        this.controllerConfiguration = controllerConfiguration;
+        this.restConfConfiguration = restConfConfiguration;
+    }
+
+    @Override
+    protected boolean initProcedure() {
+        // Start Lighty Controller with base OLD services
+        LightyControllerBuilder lightyControllerBuilder = new LightyControllerBuilder();
+        try {
+            lightyController = lightyControllerBuilder.from(controllerConfiguration).build();
+        } catch (ConfigurationException e) {
+            LOG.error("Exception thrown while starting Lighty controller!", e);
+            return false;
+        }
+        if (!CcsdkLightyUtils.startLightyModule(lightyController)) {
+            LOG.error("Unable to start Lighty controller!");
+            return false;
+        }
+
+        // Start RestConf
+        CommunityRestConfBuilder communityRestConfBuilder = new CommunityRestConfBuilder();
+        communityRestConf = communityRestConfBuilder
+                .from(RestConfConfigUtils.getRestConfConfiguration(restConfConfiguration,
+                        lightyController.getServices()))
+                .build();
+        if (!CcsdkLightyUtils.startLightyModule(communityRestConf)) {
+            LOG.error("Unable to start RestConf!");
+            return false;
+        }
+
+        // Start Lighty CCSDK
+        AAAEncryptionService aaaEncryptionService = null;
+        try {
+            aaaEncryptionService = createAAAEncryptionService(getDefaultAaaEncryptServiceConfig());
+        } catch (ConfigurationException e) {
+            LOG.error("Exception thrown while initializing {}!", AAAEncryptionService.class, e);
+        }
+        DataBroker dataBroker = lightyController.getServices().getControllerBindingDataBroker();
+        NotificationPublishService notificationPublishService = lightyController.getServices()
+                .getControllerBindingNotificationPublishService();
+        RpcProviderRegistry rpcProviderRegistry = lightyController.getServices().getControllerRpcProviderRegistry();
+        ccsdkLightyModule = new CcsdkLightyModule(dataBroker, notificationPublishService,
+                rpcProviderRegistry, aaaEncryptionService);
+        if (!CcsdkLightyUtils.startLightyModule(ccsdkLightyModule)) {
+            LOG.error("Unable to start CCSDK Lighty module!");
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    protected boolean stopProcedure() {
+        boolean stopSuccessful = true;
+
+        if (!CcsdkLightyUtils.stopLightyModule(ccsdkLightyModule)) {
+            stopSuccessful = false;
+        }
+
+        if (!CcsdkLightyUtils.stopLightyModule(communityRestConf)) {
+            stopSuccessful = false;
+        }
+
+        if (!CcsdkLightyUtils.stopLightyModule(lightyController)) {
+            stopSuccessful = false;
+        }
+
+        return stopSuccessful;
+    }
+
+    private AAAEncryptionService createAAAEncryptionService(AaaEncryptServiceConfig encrySrvConfig)
+            throws ConfigurationException {
+        final byte[] encryptionKeySalt = Base64.getDecoder().decode(encrySrvConfig.getEncryptSalt());
+        try {
+            final SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(encrySrvConfig.getEncryptMethod());
+            final KeySpec keySpec = new PBEKeySpec(encrySrvConfig.getEncryptKey().toCharArray(), encryptionKeySalt,
+                    encrySrvConfig.getEncryptIterationCount(), encrySrvConfig.getEncryptKeyLength());
+            SecretKey key = new SecretKeySpec(keyFactory.generateSecret(keySpec).getEncoded(),
+                    encrySrvConfig.getEncryptType());
+            IvParameterSpec ivParameterSpec = new IvParameterSpec(encryptionKeySalt);
+
+            Cipher encryptCipher = Cipher.getInstance(encrySrvConfig.getCipherTransforms());
+            encryptCipher.init(Cipher.ENCRYPT_MODE, key, ivParameterSpec);
+
+            Cipher decryptCipher = Cipher.getInstance(encrySrvConfig.getCipherTransforms());
+            decryptCipher.init(Cipher.DECRYPT_MODE, key, ivParameterSpec);
+
+            return new AAAEncryptionServiceLightyImpl(encryptCipher, decryptCipher);
+
+        } catch (NoSuchAlgorithmException | InvalidKeySpecException | NoSuchPaddingException
+                | InvalidAlgorithmParameterException | InvalidKeyException e) {
+            throw new ConfigurationException(e);
+        }
+    }
+
+    private AaaEncryptServiceConfig getDefaultAaaEncryptServiceConfig() {
+        return new AaaEncryptServiceConfigBuilder().setEncryptKey("V1S1ED4OMeEh")
+                .setPasswordLength(12).setEncryptSalt("TdtWeHbch/7xP52/rp3Usw==")
+                .setEncryptMethod("PBKDF2WithHmacSHA1").setEncryptType("AES")
+                .setEncryptIterationCount(32768).setEncryptKeyLength(128)
+                .setCipherTransforms("AES/CBC/PKCS5Padding").build();
+    }
+}
diff --git a/lighty/ccsdk-lighty-module/src/main/java/org/onap/ccsdk/distribution/lighty/CcsdkLightyModule.java b/lighty/ccsdk-lighty-module/src/main/java/org/onap/ccsdk/distribution/lighty/CcsdkLightyModule.java
new file mode 100644 (file)
index 0000000..061afc8
--- /dev/null
@@ -0,0 +1,206 @@
+/*
+ * ============LICENSE_START==========================================
+ * Copyright (c) 2019 PANTHEON.tech s.r.o.
+ * ===================================================================
+ * 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============================================
+ *
+ */
+package org.onap.ccsdk.distribution.lighty;
+
+import com.google.common.collect.ImmutableSet;
+import io.lighty.core.controller.api.AbstractLightyModule;
+import java.util.Set;
+import org.onap.ccsdk.sli.adaptors.lighty.CcsdkAdaptorsLightyModule;
+import org.onap.ccsdk.sli.core.dblib.lighty.DblibModule;
+import org.onap.ccsdk.sli.core.lighty.common.CcsdkLightyUtils;
+import org.onap.ccsdk.sli.core.sli.lighty.SliModule;
+import org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder;
+import org.onap.ccsdk.sli.core.sliapi.lighty.SliApiModule;
+import org.onap.ccsdk.sli.core.slipluginutils.lighty.SliPluginUtilsModule;
+import org.onap.ccsdk.sli.northbound.lighty.CcsdkNorhboundLightyModule;
+import org.onap.ccsdk.sli.plugins.lighty.CcsdkPluginsLightyModule;
+import org.opendaylight.aaa.encrypt.AAAEncryptionService;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
+import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The implementation of the {@link io.lighty.core.controller.api.LightyModule} that groups all other LightyModules
+ * from the CCSDK project so they can be all treated as one component (for example started/stopped at once).
+ * For more information about the lighty.io visit the website https://lighty.io.
+ */
+public class CcsdkLightyModule extends AbstractLightyModule {
+
+    private static final Logger LOG = LoggerFactory.getLogger(CcsdkLightyModule.class);
+
+    public static final Set<YangModuleInfo> YANG_MODELS = ImmutableSet.of(
+            org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.core.sliapi.rev161110.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.lcm.rev180329.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.asdcapi.common.rev170201.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.xmlns.onap.org.asdc.license.model._1._0.rev160427.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev170201.$YangModuleInfoImpl.getInstance()
+    );
+
+    private final DataBroker dataBroker;
+    private final NotificationPublishService notificationPublishService;
+    private final RpcProviderRegistry rpcProviderRegistry;
+    private final AAAEncryptionService aaaEncryptionService;
+
+    private CcsdkAdaptorsLightyModule ccsdkAdaptorsLightyModule;
+    private CcsdkNorhboundLightyModule ccsdkNorhboundLightyModule;
+    private CcsdkPluginsLightyModule ccsdkPluginsLightyModule;
+    private DblibModule dblibModule;
+    private SliModule sliModule;
+    private SliApiModule sliApiModule;
+    private SliPluginUtilsModule sliPluginUtilsModule;
+
+    public CcsdkLightyModule(DataBroker dataBroker, NotificationPublishService notificationPublishService,
+            RpcProviderRegistry rpcProviderRegistry, AAAEncryptionService aaaEncryptionService) {
+        this.dataBroker = dataBroker;
+        this.notificationPublishService = notificationPublishService;
+        this.rpcProviderRegistry = rpcProviderRegistry;
+        this.aaaEncryptionService = aaaEncryptionService;
+    }
+
+    protected boolean initProcedure() {
+        // FIXME modules from CcsdkCoreLightyModule need to be started separately (not through CcsdkCoreLightyModule
+        //  itself) because SliApiModule is dependent on the adaptors
+        try {
+            LOG.debug("Initializing CCSDK Lighty module...");
+
+            this.dblibModule = new DblibModule(aaaEncryptionService);
+            if (!CcsdkLightyUtils.startLightyModule(dblibModule)) {
+                LOG.error("Unable to start DblibModule in CCSDK Core Lighty module!");
+                return false;
+            }
+
+            this.ccsdkAdaptorsLightyModule = new CcsdkAdaptorsLightyModule(dblibModule.getDbLibService());
+            if (!CcsdkLightyUtils.startLightyModule(ccsdkAdaptorsLightyModule)) {
+                LOG.error("Unable to start CcsdkAdaptorsLightyModule in CCSDK Lighty module!");
+                return false;
+            }
+
+            this.sliModule = new SliModule(dblibModule.getDbLibService(),
+                    ccsdkAdaptorsLightyModule.getAaaServiceModule().getAAIService(), new Slf4jRecorder(),
+                    ccsdkAdaptorsLightyModule.getAaaServiceModule().getAAIService(), null);
+            if (!CcsdkLightyUtils.startLightyModule(sliModule)) {
+                LOG.error("Unable to start SliModule in CCSDK Core Lighty module!");
+                return false;
+            }
+
+            this.sliApiModule = new SliApiModule(dataBroker, notificationPublishService, rpcProviderRegistry, sliModule.getSvcLogicServiceImpl());
+            if (!CcsdkLightyUtils.startLightyModule(sliApiModule)) {
+                LOG.error("Unable to start SliApiModule in CCSDK Core Lighty module!");
+                return false;
+            }
+
+            this.sliPluginUtilsModule = new SliPluginUtilsModule();
+            if (!CcsdkLightyUtils.startLightyModule(sliPluginUtilsModule)) {
+                LOG.error("Unable to start SliPluginUtilsModule in CCSDK Core Lighty module!");
+                return false;
+            }
+
+            this.ccsdkPluginsLightyModule = new CcsdkPluginsLightyModule();
+            if (!CcsdkLightyUtils.startLightyModule(ccsdkPluginsLightyModule)) {
+                LOG.error("Unable to start CcsdkPluginsLightyModule in CCSDK Lighty module!");
+                return false;
+            }
+
+            this.ccsdkNorhboundLightyModule =
+                    new CcsdkNorhboundLightyModule(sliModule.getSvcLogicServiceImpl(), dataBroker,
+                            notificationPublishService, rpcProviderRegistry);
+            if (!CcsdkLightyUtils.startLightyModule(ccsdkNorhboundLightyModule)) {
+                LOG.error("Unable to start CcsdkNorhboundLightyModule in CCSDK Lighty module!");
+                return false;
+            }
+
+            LOG.debug("CCSDK Lighty module was initialized successfully");
+            return true;
+        } catch (Exception e) {
+            LOG.error("Exception caught!", e);
+            throw e;
+        }
+    }
+
+    protected boolean stopProcedure() {
+        LOG.debug("Stopping CCSDK Lighty module...");
+
+        boolean stopSuccessful = true;
+
+        if (!CcsdkLightyUtils.stopLightyModule(ccsdkPluginsLightyModule)) {
+            stopSuccessful = false;
+        }
+
+        if (!CcsdkLightyUtils.stopLightyModule(ccsdkNorhboundLightyModule)) {
+            stopSuccessful = false;
+        }
+
+        if (!CcsdkLightyUtils.stopLightyModule(ccsdkAdaptorsLightyModule)) {
+            stopSuccessful = false;
+        }
+
+        if (!CcsdkLightyUtils.stopLightyModule(sliPluginUtilsModule)) {
+            stopSuccessful = false;
+        }
+
+        if (!CcsdkLightyUtils.stopLightyModule(sliApiModule)) {
+            stopSuccessful = false;
+        }
+
+        if (!CcsdkLightyUtils.stopLightyModule(sliModule)) {
+            stopSuccessful = false;
+        }
+
+        if (!CcsdkLightyUtils.stopLightyModule(dblibModule)) {
+            stopSuccessful = false;
+        }
+
+        if (stopSuccessful) {
+            LOG.debug("CCSDK Lighty module was stopped successfully");
+        } else {
+            LOG.error("CCSDK Lighty module was not stopped successfully!");
+        }
+        return stopSuccessful;
+    }
+
+    public CcsdkAdaptorsLightyModule getCcsdkAdaptorsLightyModule() {
+        return ccsdkAdaptorsLightyModule;
+    }
+
+    public CcsdkNorhboundLightyModule getCcsdkNorhboundLightyModule() {
+        return ccsdkNorhboundLightyModule;
+    }
+
+    public CcsdkPluginsLightyModule getCcsdkPluginsLightyModule() {
+        return ccsdkPluginsLightyModule;
+    }
+
+    public DblibModule getDblibModule() {
+        return dblibModule;
+    }
+
+    public SliModule getSliModule() {
+        return sliModule;
+    }
+
+    public SliApiModule getSliApiModule() {
+        return sliApiModule;
+    }
+
+    public SliPluginUtilsModule getSliPluginUtilsModule() {
+        return sliPluginUtilsModule;
+    }
+}
diff --git a/lighty/docs/README.md b/lighty/docs/README.md
new file mode 100644 (file)
index 0000000..7212084
--- /dev/null
@@ -0,0 +1,122 @@
+## Integration of the lighty.io with the CCSDK
+
+These artifacts contain the examples of how can be the CCSDK integrated with the lighty.io. This
+integration removes the dependency on the OSGi framework (Karaf) and the Blueprint 
+dependency injection - instead it uses only the plain java like _main_ method to start
+the application and plain java constructors as DI (but it is ready to be integrated with
+other frameworks).
+
+The CCSDK lighty.io modules can be all started at once (as in this example) or only the
+selected group of them - in case there is no need to run them all.
+
+For more information about the lighty.io visit the official web-page 
+[https://lighty.io](https://lighty.io) or the 
+[GitHub repository](https://github.com/PantheonTechnologies/lighty-core).
+
+
+### Artifact `ccsdk-lighty-module`
+
+The artifact `ccsdk-lighty-module` contains implementation of the lighty.io module that groups
+all the other lighty.io modules from the other repositories (core, adaptors, plugins,
+northbound). These grouped modules can be started all at once using just a few lines of code.
+
+In addition it contains implementation of the lighty.io module that
+groups the lighty.io controller (base services from the ODL), the RESTCONF lighty.io module 
+(the RESTCONF from the ODL integrated with the lighty.io) and the CCSDK lighty.io module
+
+### Artifact `ccsdk-lighty-distribution`
+
+The CCSDK lighty.io application can be started via _main_ method from the _Main_ class.
+This artifact generates the _.zip_ file containing the _.jar_ file and all other necessary
+libraries.
+
+The path to the lighty.io configuration file can be passed to the _main_ method (or to
+the _.jar_ file) as an argument. This configuration file contains configuration for the
+lighty.io controller and the RESTCONF (for example the port or the IP address where should
+the RESTCONF listen or the yang modules that should be imported into the application).
+The example of the configuration file can be found in the _resources_ directory.
+If path to the configuration file will not be passed through the _main_ method then
+the default configuration will be used.
+
+
+### Artifact `distribution-lighty-ubuntu-docker`
+
+The artifact `distribution-lighty-ubuntu-docker` contains the _Dockerfile_ and the _docker-compose.yml_
+files for the CCSDK lighty.io. _Dockerfile_ is very similar to the original file from
+the `distribution-odlsli-ubuntu` artifact and the _docker-compose.yml_ to the original file from the 
+`src/main/yaml` directory in the root of this repository.
+
+Necessary configuration files and the _.zip_ file containing the CCSDK lighty.io application
+are copied by the maven plugins into the respective directories during the the maven build.
+
+The _Dockerfile_ unpacks the _.zip_ distribution generated by the `ccsdk-lighty-distribution`
+artifact and runs the _startODL.sh_ script that starts the CCSDK lighty.io _.jar_ file using
+the `src/main/properties/lightyCcsdkConfig.json` configuration file.
+The _docker-compose.yml_ file contains three images - database, CCSDK lighty.io application
+and the _DG builder_.
+
+### How to run
+
+In order to run the CCSDK lighty.io application build the `distribution-lighty` repository
+using the maven with the _docker_ profile enabled (command: `mvn clean install -P docker`).
+Then run the _docker-compose_ from  the `src/main/docker` directory 
+(command: `docker-compose -f docker-compose.yml up`).
+
+After a few seconds CCSDK lighty.io application should be up and running together with the
+database and the _DG builder_.
+
+_DG builder_ web UI can be accessed through the `http://localhost:3000` address and RESTCONF at
+the `http://localhost:8383/restconf` address.
+
+
+#### DG Builder and the CCSDK lighty.io application example
+
+In the browser open the `localhost:3000` URL. Login with the default username `dguser` and
+the password `test123`. In the top right corner click on the menu -> import -> Clipboard.
+Copy and paste the content of the `hello_world.json` file (from the same directory where is
+this readme file located) to the text box. Then click on the OK button and place the graph
+to the sheet.
+
+To upload and activate the imported graph click on the small empty square on the left side
+of the `DGSTART` node and then click on the `Upload XML` button. Then click on the `ViewDG List`
+button and on the `Activate` link in the row where imported graph is.
+
+After the graph is activated it can be called using the POST REST request on the address:
+
+`http://<restconf_address:port>/restconf/operations/SLI-API:execute-graph`
+
+With the body like:
+
+```
+{
+  "input": {
+    "module-name": "<name of the module (service-logic type node)>",
+    "rpc-name": "<name of the rpc (method type node)>",
+    "mode": "sync",
+    "sli-parameter": [
+    ]
+  }
+}
+```
+
+So in order to call imported _hello world_ graph send the POST request to the address:
+
+`http://localhost:8383/restconf/operations/SLI-API:execute-graph`
+
+with the body:
+
+```
+{
+  "input": {
+    "module-name": "Test",
+    "rpc-name": "helloWorld",
+    "mode": "sync",
+    "sli-parameter": [
+    ]
+  }
+}
+```
+
+Now the _hello world_ message should be displayed in the console where the CCSDK lighty.io
+application is running.
diff --git a/lighty/docs/hello_world.json b/lighty/docs/hello_world.json
new file mode 100644 (file)
index 0000000..c461d8f
--- /dev/null
@@ -0,0 +1,66 @@
+[
+  {
+    "id": "3b052d99.a24df2",
+    "type": "record",
+    "name": "record",
+    "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\" />\n<parameter name=\"level\" value=\"info\"/>\n<parameter name=\"field1\" value=\"Hello World!\"/>",
+    "comments": "",
+    "outputs": 1,
+    "x": 779,
+    "y": 367,
+    "z": "fca901a.0d76d8",
+    "wires": [
+      [
+
+      ]
+    ]
+  },
+  {
+    "id": "1b3e7bbc.925914",
+    "type": "dgstart",
+    "name": "DGSTART",
+    "outputs": 1,
+    "x": 240,
+    "y": 168,
+    "z": "fca901a.0d76d8",
+    "wires": [
+      [
+        "9109b5dc.513d48"
+      ]
+    ]
+  },
+  {
+    "id": "9109b5dc.513d48",
+    "type": "service-logic",
+    "name": "Test 1.0",
+    "module": "Test",
+    "version": "1.0",
+    "comments": "",
+    "xml": "<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='Test' version='1.0'>",
+    "outputs": 1,
+    "x": 425,
+    "y": 232,
+    "z": "fca901a.0d76d8",
+    "wires": [
+      [
+        "54587071.4a0dc"
+      ]
+    ]
+  },
+  {
+    "id": "54587071.4a0dc",
+    "type": "method",
+    "name": "method",
+    "xml": "<method rpc='helloWorld' mode='sync'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 610,
+    "y": 302,
+    "z": "fca901a.0d76d8",
+    "wires": [
+      [
+        "3b052d99.a24df2"
+      ]
+    ]
+  }
+]
diff --git a/lighty/lighty-ubuntu-docker/pom.xml b/lighty/lighty-ubuntu-docker/pom.xml
new file mode 100644 (file)
index 0000000..5361603
--- /dev/null
@@ -0,0 +1,343 @@
+<?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/xsd/maven-4.0.0.xsd">
+       <modelVersion>4.0.0</modelVersion>
+
+       <parent>
+               <groupId>org.onap.ccsdk.distribution</groupId>
+               <artifactId>distribution-lighty</artifactId>
+               <version>0.6.0-SNAPSHOT</version>
+       </parent>
+
+       <artifactId>distribution-lighty-ubuntu-docker</artifactId>
+       <packaging>pom</packaging>
+
+       <name>ccsdk-distribution :: lighty :: ${project.artifactId}</name>
+       <description>Creates Lighty container</description>
+       <organization>
+               <name>ONAP</name>
+       </organization>
+
+       <properties>
+               <image.name>onap/ccsdk-lighty-ubuntu-image</image.name>
+               <lighty.app.name>ccsdk-lighty-distribution-${project.version}</lighty.app.name>
+               <lighty.app.zip>${lighty.app.name}-bin.zip</lighty.app.zip>
+               <lighty.app.jar>${lighty.app.name}.jar</lighty.app.jar>
+               <ccsdk.project.version>${project.version}</ccsdk.project.version>
+               <ccsdk.build.timestamp>${maven.build.timestamp}</ccsdk.build.timestamp>
+               <docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
+               <docker.push.phase>deploy</docker.push.phase>
+       </properties>
+
+       <dependencyManagement>
+               <dependencies>
+                       <dependency>
+                               <groupId>org.onap.ccsdk.sli.core</groupId>
+                               <artifactId>ccsdk-lighty-dependency-versions</artifactId>
+                               <version>${project.version}</version>
+                               <type>pom</type>
+                               <scope>import</scope>
+                       </dependency>
+               </dependencies>
+       </dependencyManagement>
+
+       <build>
+               <plugins>
+
+
+                       <plugin>
+                               <groupId>org.codehaus.groovy.maven</groupId>
+                               <artifactId>gmaven-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>execute</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <source>${basedir}/../../src/main/scripts/TagVersion.groovy</source>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+
+
+
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-dependency-plugin</artifactId>
+                               <version>3.0.2</version>
+                               <executions>
+                                       <execution>
+                                               <id>unpack dgs</id>
+                                               <phase>generate-sources</phase>
+                                               <goals>
+                                                       <goal>unpack</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk</outputDirectory>
+                                                       <artifactItems>
+                                                               <artifactItem>
+                                                                       <groupId>${project.groupId}</groupId>
+                                                                       <artifactId>platform-logic-installer</artifactId>
+                                                                       <version>${project.version}</version>
+                                                                       <type>zip</type>
+                                                               </artifactItem>
+                                                       </artifactItems>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+
+                       <plugin>
+                               <artifactId>maven-resources-plugin</artifactId>
+                               <version>2.6</version>
+                               <executions>
+                                       <execution>
+                                               <id>copy-dockerfile</id>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals><!-- here the phase you need -->
+                                               <phase>validate</phase>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>src/main/docker</directory>
+                                                                       <includes>
+                                                                               <include>Dockerfile</include>
+                                                                       </includes>
+                                                                       <filtering>true</filtering>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+
+                                       <execution>
+                                               <id>copy-ccsdk-lighty-zip</id>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals>
+                                               <phase>validate</phase>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>${basedir}/../ccsdk-lighty-distribution/target</directory>
+                                                                       <includes>
+                                                                               <include>${lighty.app.zip}</include>
+                                                                       </includes>
+                                                                       <filtering>false</filtering>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+
+                                       <execution>
+                                               <id>copy-scripts</id>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals><!-- here the phase you need -->
+                                               <phase>validate</phase>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/bin</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>./src/main/scripts</directory>
+                                                                       <includes>
+                                                                               <include>*.sh</include>
+                                                                       </includes>
+                                                                       <filtering>false</filtering>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+
+                                       <execution>
+                                               <id>copy-odl-resources</id>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals><!-- here the phase you need -->
+                                               <phase>validate</phase>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>./src/main/resources</directory>
+                                                                       <includes>
+                                                                               <include>idmlight.db.mv.db</include>
+                                                                               <include>org.ops4j.pax.logging.cfg</include>
+                                                                               <include>install_ccsdk.yml</include>
+                                                                               <include>ansible-sources.list</include>
+                                                                       </includes>
+                                                                       <filtering>false</filtering>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+                                       <execution>
+                                               <id>copy-config</id>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals><!-- here the phase you need -->
+                                               <phase>validate</phase>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>./src/main/resources</directory>
+                                                                       <includes>
+                                                                               <include>org.ops4j.pax.logging.cfg</include>
+                                                                       </includes>
+                                                                       <filtering>false</filtering>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+                                       <execution>
+                                               <id>copy-data</id>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals><!-- here the phase you need -->
+                                               <phase>validate</phase>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>./src/main/resources</directory>
+                                                                       <includes>
+                                                                               <include>*.dump</include>
+                                                                       </includes>
+                                                                       <filtering>false</filtering>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+                                       <execution>
+                                               <id>copy-properties</id>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals><!-- here the phase you need -->
+                                               <phase>validate</phase>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/properties</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>./src/main/properties</directory>
+                                                                       <includes>
+                                                                               <include>*.properties</include>
+                                                                               <include>*.json</include>
+                                                                       </includes>
+                                                                       <filtering>false</filtering>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+                                       <execution>
+                                               <id>copy-keystores</id>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals><!-- here the phase you need -->
+                                               <phase>validate</phase>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/stores</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>./src/main/stores</directory>
+                                                                       <includes>
+                                                                               <include>*.jks</include>
+                                                                       </includes>
+                                                                       <filtering>false</filtering>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+
+                       <plugin>
+                               <groupId>org.codehaus.mojo</groupId>
+                               <artifactId>exec-maven-plugin</artifactId>
+                               <version>1.5.0</version>
+                               <executions>
+
+                                       <execution>
+                                               <id>change shell permissions</id>
+                                               <phase>process-sources</phase>
+                                               <goals>
+                                                       <goal>exec</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <executable>/usr/bin/find</executable>
+                                                       <arguments>
+                                                               <argument>${basedir}/target/docker-stage/opt/onap/ccsdk</argument>
+                                                               <argument>-name</argument>
+                                                               <argument>*.sh</argument>
+                                                               <argument>-exec</argument>
+                                                               <argument>chmod</argument>
+                                                               <argument>+x</argument>
+                                                               <argument>{}</argument>
+                                                               <argument>;</argument>
+                                                       </arguments>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+
+               </plugins>
+       </build>
+
+       <profiles>
+               <profile>
+                       <id>docker</id>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               <groupId>io.fabric8</groupId>
+                                               <artifactId>docker-maven-plugin</artifactId>
+                                               <version>0.28.0</version>
+                                               <inherited>false</inherited>
+                                               <configuration>
+                                                       <images>
+                                                               <image>
+                                                                       <name>${image.name}</name>
+                                                                       <build>
+                                                                               <cleanup>try</cleanup>
+                                                                               <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
+                                                                               <dockerFile>Dockerfile</dockerFile>
+                                                                               <tags>
+                                                                                       <tag>${project.docker.latestminortag.version}</tag>
+                                                                                       <tag>${project.docker.latestfulltag.version}</tag>
+                                                                                       <tag>${project.docker.latesttagtimestamp.version}</tag>
+                                                                               </tags>
+                                                                       </build>
+                                                               </image>
+                                                       </images>
+                                               </configuration>
+                                               <executions>
+                                                       <execution>
+                                                               <id>generate-images</id>
+                                                               <phase>package</phase>
+                                                               <goals>
+                                                                       <goal>build</goal>
+                                                               </goals>
+                                                       </execution>
+
+                                                       <execution>
+                                                               <id>push-images</id>
+                                                               <phase>${docker.push.phase}</phase>
+                                                               <goals>
+                                                                       <goal>build</goal>
+                                                                       <goal>push</goal>
+                                                               </goals>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+
+                               </plugins>
+                       </build>
+               </profile>
+
+       </profiles>
+</project>
diff --git a/lighty/lighty-ubuntu-docker/src/main/docker/Dockerfile b/lighty/lighty-ubuntu-docker/src/main/docker/Dockerfile
new file mode 100644 (file)
index 0000000..fbf9356
--- /dev/null
@@ -0,0 +1,16 @@
+# Base ubuntu with added packages needed for open ecomp
+FROM onap/ccsdk-ubuntu-image:${project.docker.latestfulltag.version}
+MAINTAINER CCSDK Team (onap-ccsdk@lists.onap.org)
+ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
+ENV ODL_HOME /opt/opendaylight/current
+
+# copy the opendaylight tar and expand
+COPY ${lighty.app.zip} /tmp/lighty/
+RUN mkdir -p /opt/lighty \
+    && unzip /tmp/lighty/${lighty.app.zip} -d /opt/lighty \
+    && rm -rf /tmp/lighty
+
+COPY opt /opt
+
+ENTRYPOINT /opt/onap/ccsdk/bin/startODL.sh
+EXPOSE 8181
diff --git a/lighty/lighty-ubuntu-docker/src/main/docker/docker-compose.yml b/lighty/lighty-ubuntu-docker/src/main/docker/docker-compose.yml
new file mode 100644 (file)
index 0000000..14c3dc3
--- /dev/null
@@ -0,0 +1,64 @@
+version: '2'
+
+services:
+  db:
+    image: mysql/mysql-server:5.6
+    container_name: ccsdk_db_container
+    ports:
+      - "3306"
+    environment:
+      - MYSQL_ROOT_PASSWORD=openECOMP1.0
+      - MYSQL_ROOT_HOST=%
+    logging:
+      driver:   "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+
+
+  odlsli:
+    image: onap/ccsdk-lighty-ubuntu-image
+    depends_on :
+      - db
+    container_name: ccsdk_lighty_container
+    entrypoint: ["/opt/onap/ccsdk/bin/startODL.sh"]
+    ports:
+      - "8383:8181"
+    links:
+      - db:dbhost
+      - db:sdnctldb01
+      - db:sdnctldb02
+    environment:
+      - MYSQL_ROOT_PASSWORD=openECOMP1.0
+      - SDNC_CONFIG_DIR=/opt/onap/ccsdk/data/properties
+    logging:
+      driver:   "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+
+  dgbuilder:
+    image: nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image
+    depends_on:
+      - db
+    container_name:  ccsdk_dgbuilder_container
+    entrypoint:
+      - "/bin/bash"
+      - "-c"
+      - "cd /opt/onap/ccsdk/dgbuilder/ && ./start.sh sdnc1.0 && wait"
+    ports:
+      - "3000:3100"
+    links:
+      - db:dbhost
+      - db:sdnctldb01
+      - db:sdnctldb02
+      - odlsli:sdnhost
+    environment:
+      - MYSQL_ROOT_PASSWORD=openECOMP1.0
+      - SDNC_CONFIG_DIR=/opt/onap/ccsdk/data/properties
+    logging:
+      driver:   "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/aaiclient.properties b/lighty/lighty-ubuntu-docker/src/main/properties/aaiclient.properties
new file mode 100755 (executable)
index 0000000..4f27206
--- /dev/null
@@ -0,0 +1,82 @@
+###
+# ============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=========================================================
+###
+
+#
+# Configuration file for A&AI Client
+#
+
+#
+# Certificate keystore and truststore
+#
+org.onap.ccsdk.sli.adaptors.aai.ssl.trust=/opt/onap/ccsdk/data/stores/truststore.onap.client.jks
+org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd=adminadmin
+org.onap.ccsdk.sli.adaptors.aai.host.certificate.ignore=true
+
+org.onap.ccsdk.sli.adaptors.aai.client.name=SDNC
+org.onap.ccsdk.sli.adaptors.aai.client.psswd=SDNC
+
+org.onap.ccsdk.sli.adaptors.aai.application=openECOMP
+#
+# Configuration file for A&AI Client
+#
+org.onap.ccsdk.sli.adaptors.aai.uri=https://aai.api.simpledemo.onap.org:8443
+connection.timeout=60000
+read.timeout=60000
+
+# query
+org.onap.ccsdk.sli.adaptors.aai.path.query=/aai/v14/search/sdn-zone-query
+org.onap.ccsdk.sli.adaptors.aai.query.nodes=/aai/v14/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name}
+org.onap.ccsdk.sli.adaptors.aai.query.generic=/aai/v14/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3
+
+# named query
+org.onap.ccsdk.sli.adaptors.aai.query.named=/aai/search/named-query
+
+#update
+org.onap.ccsdk.sli.adaptors.aai.update=/aai/v14/actions/update
+
+# UBB Notify
+org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v14/actions/notify
+org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=<%= @ubbUri %>/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id}
+org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=<%= @ubbUri %>/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information
+
+# P-Interfaces
+org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterfaces=/aai/v14/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces
+org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterface=/aai/v14/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}
+
+# VNF IMAGES
+org.onap.ccsdk.sli.adaptors.aai.path.vnf.images=/aai/v14/service-design-and-creation/vnf-images
+org.onap.ccsdk.sli.adaptors.aai.path.vnf.image=/aai/v14/service-design-and-creation/vnf-images/vnf-image/{att-uuid}
+org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v14/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor}
+
+# service instance
+org.onap.ccsdk.sli.adaptors.aai.path.svcinst.query=/aai/v14/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance
+org.onap.ccsdk.sli.adaptors.aai.path.service.instance=/aai/v14/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}
+
+# VNF IMAGES QUERY
+org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v14/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor}
+
+#
+# Formatting
+#
+org.onap.ccsdk.sli.adaptors.aai.param.format=filter=%s:%s
+org.onap.ccsdk.sli.adaptors.aai.param.vnf_type=vnf-type
+org.onap.ccsdk.sli.adaptors.aai.param.physical.location.id=physical-location-id
+org.onap.ccsdk.sli.adaptors.aai.param.service.type=service-type
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/admportal.json b/lighty/lighty-ubuntu-docker/src/main/properties/admportal.json
new file mode 100755 (executable)
index 0000000..8d567d0
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "MainMenu": "gamma",
+  "dbConnLimit": "100",
+  "home": "/opt/admportal",
+  "sslEnabled": "false",
+  "nonSslPort": "8843",
+  "ConexusNetworkPort": "8443",
+  "AppNetworkPort": "8543",
+  "clusterPort": "8443",
+  "serviceHomingServiceType": "SDN-ETHERNET-INTERNET",
+  "passwordKey": "QtfJMKggVk",
+  "preloadImportDirectory": "C:/data/csv",
+  "clusterPrefixURL": "/jolokia/read/org.opendaylight.controller:Category=Shards,name=member-",
+  "clusterMidURL": "-shard-",
+  "clusterSuffixURL": "-config,type=DistributedConfigDatastore",
+  "shards": [
+    "default",
+    "inventory",
+    "topology"
+  ],
+  "dbFabric": "false",
+  "ip-addresses": {
+    "lo": "127.0.0.1",
+    "eth0": "127.0.0.1",
+    "docker0": "172.17.0.1",
+    "virbr0": "192.168.122.1"
+  },
+  "svclogicPropertiesDb01": "/opt/onap/sdnc/data/properties/svclogic.properties.sdnctldb01",
+  "databases": [
+    "dbhost|sdnctldb01"
+  ],
+  "dbFabricServer": "localhost",
+  "dbFabricPort": "32275",
+  "dbFabricGroupId": "hagroup1",
+  "dbFabricUser": "admin",
+  "dbFabricPassword": "admin",
+  "dbFabricDB": "mysql",
+  "dbUser": "sdnctl",
+  "dbPassword": "gamma",
+  "dbName": "sdnctl",
+  "odlProtocol": "http",
+  "odlHost": "sdnhost",
+  "odlConexusHost": "sdnhost",
+  "odlPort": "8181",
+  "odlConexusPort": "8181",
+  "odlUser": "admin",
+  "odlPasswd": "admin",
+  "ConexusNetwork_sslCert": "",
+  "ConexusNetwork_sslKey": "",
+  "AppNetwork_sslCert": "",
+  "AppNetwork_sslKey": "",
+  "hostnameList": [
+    {
+      "hname": "localhost"
+    }
+  ],
+  "shard_list": [
+    {
+      "shard_name": "default"
+    },
+    {
+      "shard_name": "inventory"
+    },
+    {
+      "shard_name": "topology"
+    }
+  ]
+}
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/admportal.log4js.json b/lighty/lighty-ubuntu-docker/src/main/properties/admportal.log4js.json
new file mode 100755 (executable)
index 0000000..0f41e56
--- /dev/null
@@ -0,0 +1,169 @@
+{ 
+  "appenders": [ 
+       {
+               "category": "accesslog",
+               "type"    : "file",
+               "absolute": true,
+               "filename": "/opt/admportal/logs/accesslog.log"
+       },
+       {
+        "category" : "usertrace",
+        "type"     : "file",
+               "absolute" : true,
+        "filename" : "/opt/admportal/logs/usertrace.log"
+    },
+    { 
+        "category": "tracelog", 
+        "type"    : "dateFile", 
+        "absolute": true, 
+        "filename": "/opt/admportal/logs/tracelog.log",
+        "pattern": "-yyyy-MM-dd", 
+        "alwaysIncludePattern": true, 
+        "backups"  : 14
+    },
+       {
+        "category" : "tunnel",
+        "type"     : "dateFile",
+        "absolute" : true,
+        "filename" : "/opt/admportal/logs/tunnel.log",
+        "pattern"  : "-yyyy-MM-dd",
+        "alwaysIncludePattern": true,
+        "backups"  : 14
+    },
+       {
+        "category" : "preload",
+        "type"     : "dateFile",
+        "absolute" : true,
+        "filename" : "/opt/admportal/logs/preload.log",
+        "pattern"  : "-yyyy-MM-dd",
+        "alwaysIncludePattern": true,
+        "backups"  : 14
+    },
+       {
+               "category" : "eipam",
+               "type"     : "dateFile",
+        "absolute" : true, 
+               "filename" : "/opt/admportal/logs/eipam.log",
+        "pattern"  : "-yyyy-MM-dd", 
+        "alwaysIncludePattern": true, 
+               "backups"  : 14
+       }, 
+       {
+        "category" : "instar",
+        "type"     : "dateFile",
+        "absolute" : true,
+        "filename" : "/opt/admportal/logs/instar.log",
+        "pattern"  : "-yyyy-MM-dd",
+        "alwaysIncludePattern": true,
+        "backups"  : 14
+    },
+       {
+               "category" : "app",
+               "type"     : "dateFile",
+        "absolute" : true, 
+               "filename" : "/opt/admportal/logs/app.log",
+        "pattern"  : "-yyyy-MM-dd", 
+        "alwaysIncludePattern": true, 
+               "backups"  : 14
+       }, 
+       {
+               "category" : "csp",
+               "type"     : "dateFile",
+        "absolute" : true, 
+               "filename" : "/opt/admportal/logs/csp.log",
+        "pattern"  : "-yyyy-MM-dd", 
+        "alwaysIncludePattern": true, 
+               "backups"  : 14
+       }, 
+       {
+               "category" : "db",
+               "type"     : "dateFile",
+        "absolute" : true, 
+               "filename" : "/opt/admportal/logs/db.log",
+               "pattern"  : "-yyyy-MM-dd",
+               "alwaysIncludePattern": true,
+               "backups"  : 14
+       }, 
+       {
+               "category" : "admin",
+               "type"     : "dateFile",
+        "absolute" : true, 
+               "filename" : "/opt/admportal/logs/admin.log",
+               "pattern"  : "-yyyy-MM-dd",
+               "alwaysIncludePattern": true,
+               "backups"  : 14
+       }, 
+       {
+               "category" : "resalloc",
+               "type"     : "dateFile",
+        "absolute" : true, 
+               "filename" : "/opt/admportal/logs/resalloc.log",
+               "pattern"  : "-yyyy-MM-dd",
+               "alwaysIncludePattern": true,
+               "backups"  : 14
+       }, 
+       {
+        "category" : "logs",
+        "type"     : "dateFile",
+        "absolute" : true,
+        "filename" : "/opt/admportal/logs/applogs.log",
+        "pattern"  : "-yyyy-MM-dd",
+        "alwaysIncludePattern": true,
+        "backups"  : 14
+    },
+       {
+               "category" : "sla",
+               "type"     : "dateFile",
+        "absolute" : true, 
+               "filename" : "/opt/admportal/logs/sla.log",
+               "pattern"  : "-yyyy-MM-dd",
+               "alwaysIncludePattern": true,
+               "backups"  : 14
+       }, 
+       {
+               "category" : "gamma",
+               "type"     : "dateFile",
+        "absolute" : true, 
+               "filename" : "/opt/admportal/logs/gamma.log",
+               "pattern"  : "-yyyy-MM-dd",
+               "alwaysIncludePattern": true,
+               "backups"  : 14
+       }, 
+       {
+               "category" : "odl",
+               "type"     : "dateFile",
+        "absolute" : true, 
+               "filename" : "/opt/admportal/logs/odl.log",
+               "pattern"  : "-yyyy-MM-dd",
+               "alwaysIncludePattern": true,
+               "backups"  : 14
+       }, 
+       {
+        "category" : "mobility",
+        "type"     : "dateFile",
+        "absolute" : true,
+        "filename" : "/opt/admportal/logs/mobility.log",
+        "pattern"  : "-yyyy-MM-dd",
+        "alwaysIncludePattern": true,
+        "backups"  : 14
+    },
+       {
+        "category" : "ucpe",
+        "type"     : "dateFile",
+        "absolute" : true,
+        "filename" : "/opt/admportal/logs/ucpe.log",
+        "pattern"  : "-yyyy-MM-dd",
+        "alwaysIncludePattern": true,
+        "backups"  : 14
+    },
+       {
+               "category" : "user",
+               "type"     : "dateFile",
+        "absolute" : true, 
+               "filename" : "/opt/admportal/logs/user.log",
+               "pattern"  : "-yyyy-MM-dd",
+               "alwaysIncludePattern": true,
+               "backups"  : 14
+       } 
+  ] 
+}
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/dblib.properties b/lighty/lighty-ubuntu-docker/src/main/properties/dblib.properties
new file mode 100644 (file)
index 0000000..9506ac8
--- /dev/null
@@ -0,0 +1,38 @@
+###
+# ============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=========================================================
+###
+
+# dblib.properrties
+org.onap.ccsdk.sli.dbtype=jdbc
+
+org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://dbhost:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver
+org.onap.ccsdk.sli.jdbc.database=sdnctl
+org.onap.ccsdk.sli.jdbc.user=sdnctl
+org.onap.ccsdk.sli.jdbc.password=gamma
+org.onap.ccsdk.sli.jdbc.connection.name=sdnctldb01
+org.onap.ccsdk.sli.jdbc.connection.timeout=50
+org.onap.ccsdk.sli.jdbc.request.timeout=100
+org.onap.ccsdk.sli.jdbc.limit.init=10
+org.onap.ccsdk.sli.jdbc.limit.min=10
+org.onap.ccsdk.sli.jdbc.limit.max=20
+org.onap.dblib.connection.recovery=false
+
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/grpc.properties b/lighty/lighty-ubuntu-docker/src/main/properties/grpc.properties
new file mode 100644 (file)
index 0000000..797c67e
--- /dev/null
@@ -0,0 +1,18 @@
+#
+# Copyright (C) 2019 Bell Canada.
+#
+# 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.
+#
+org.onap.ccsdk.sli.adaptors.grpc.blueprint.processor.url=cds-blueprints-processor-grpc
+org.onap.ccsdk.sli.adaptors.grpc.blueprint.processor.port=9111
+org.onap.ccsdk.sli.adaptors.grpc.blueprint.processor.auth=Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/lightyCcsdkConfig.json b/lighty/lighty-ubuntu-docker/src/main/properties/lightyCcsdkConfig.json
new file mode 100644 (file)
index 0000000..1abed34
--- /dev/null
@@ -0,0 +1,74 @@
+{
+    "controller":{
+        "restoreDirectoryPath":"./clustered-datastore-restore",
+        "maxDataBrokerFutureCallbackQueueSize":1000,
+        "maxDataBrokerFutureCallbackPoolSize":10,
+        "metricCaptureEnabled":false,
+        "mailboxCapacity":1000,
+        "moduleShardsConfig": "configuration/initial/module-shards.conf",
+        "modulesConfig": "configuration/initial/modules.conf",
+        "domNotificationRouterConfig":{
+            "queueDepth":65536,
+            "spinTime":0,
+            "parkTime":0,
+            "unit":"MILLISECONDS"
+        },
+        "actorSystemConfig":{
+            "akkaConfigPath":"singlenode/akka-default.conf",
+            "factoryAkkaConfigPath":"singlenode/factory-akka-default.conf"
+        },
+        "schemaServiceConfig":{
+            "topLevelModels":[
+                { "nameSpace": "urn:TBD:params:xml:ns:yang:network:isis-topology", "name": "isis-topology", "revision": "2013-07-12" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:general-entity", "name": "general-entity", "revision": "2015-08-20" },
+                { "nameSpace": "subscribe:to:notification", "name": "subscribe-to-notification", "revision": "2016-10-28" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:cluster:admin", "name": "cluster-admin", "revision": "2015-10-13" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types", "name": "ietf-lisp-address-types", "revision": "2015-11-05" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:aaa", "name": "aaa", "revision": "2016-12-14" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:config:actor-system-provider:impl", "name": "actor-system-provider-impl", "revision": "2015-10-05" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ospf-topology", "name": "ospf-topology", "revision": "2013-07-12" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:config:distributed-datastore-provider", "name": "distributed-datastore-provider", "revision": "2014-06-12" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-yang-library", "name": "ietf-yang-library", "revision": "2016-06-21" },
+                { "nameSpace": "urn:TBD:params:xml:ns:yang:network:isis-topology", "name": "isis-topology", "revision": "2013-10-21" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider", "name": "opendaylight-inmemory-datastore-provider", "revision": "2014-06-17" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-restconf", "name": "ietf-restconf", "revision": "2013-10-19" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:iana-afn-safi", "name": "iana-afn-safi", "revision": "2013-07-04" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:config:concurrent-data-broker", "name": "odl-concurrent-data-broker-cfg", "revision": "2014-11-24" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:clustering:entity-owners", "name": "entity-owners", "revision": "2015-08-04" },
+                { "nameSpace": "urn:sal:restconf:event:subscription", "name": "sal-remote-augment", "revision": "2014-07-08" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-access-control-list", "name": "ietf-access-control-list", "revision": "2016-02-18" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:pingpong", "name": "opendaylight-pingpong-broker", "revision": "2014-11-07" },
+                { "nameSpace": "instance:identifier:patch:module", "name": "instance-identifier-patch-module", "revision": "2015-11-21" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-network-topology", "name": "ietf-network-topology", "revision": "2015-06-08" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-yang-types", "name": "ietf-yang-types", "revision": "2010-09-24" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:mdsal:core:general-entity", "name": "odl-general-entity", "revision": "2015-09-30" },
+                { "nameSpace": "urn:opendaylight:yang:extension:yang-ext", "name": "yang-ext", "revision": "2013-07-09" },
+                { "nameSpace": "urn:opendaylight:l2:types", "name": "opendaylight-l2-types", "revision": "2013-08-27" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:md:sal:config:impl:cluster-singleton-service", "name": "cluster-singleton-service-impl", "revision": "2016-07-18" },
+                { "nameSpace": "urn:TBD:params:xml:ns:yang:ospf-topology", "name": "ospf-topology", "revision": "2013-10-21" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring", "name": "ietf-restconf-monitoring", "revision": "2017-01-26" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:clustering:prefix-shard-configuration", "name": "prefix-shard-configuration", "revision": "2017-01-10" },
+                { "nameSpace": "urn:opendaylight:aaa:app:config", "name": "aaa-app-config", "revision": "2017-06-19" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:ietf-restconf", "name": "ietf-restconf", "revision": "2017-01-26" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:config:legacy-entity-ownership-service-provider", "name": "opendaylight-legacy-entity-ownership-service-provider", "revision": "2016-02-26" },
+                { "nameSpace": "urn:ietf:params:xml:ns:yang:iana-if-type", "name": "iana-if-type", "revision": "2014-05-08" },
+                { "nameSpace": "urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl", "name": "opendaylight-sal-binding-broker-impl", "revision": "2013-10-28" },
+
+                { "nameSpace": "org:onap:ccsdk:sli:core:sliapi", "name": "SLI-API", "revision": "2016-11-10" },
+                { "nameSpace": "org:onap:ccsdk:sli:northbound:lcm", "name": "LCM", "revision": "2018-03-29" },
+                { "nameSpace": "org:onap:ccsdk:sli:northbound:datachange", "name": "DataChange", "revision": "2015-05-19" },
+                { "nameSpace": "org:onap:ccsdk:sli:northbound:asdcapi:common", "name": "asdc-api-common", "revision": "2017-02-01" },
+                { "nameSpace": "http://xmlns.onap.org/asdc/license-model/1.0", "name": "asdc-license-model", "revision": "2016-04-27" },
+                { "nameSpace": "org:onap:ccsdk", "name": "ASDC-API", "revision": "2017-02-01" }
+
+            ]
+        }
+    },
+    "restconf":{
+        "httpPort":8181,
+        "webSocketPort": 8185,
+        "restconfServletContextPath":"/restconf",
+        "jsonRestconfServiceType": "DRAFT_18",
+        "inetAddress": "0.0.0.0"
+    }
+}
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/mdsal-resource.properties b/lighty/lighty-ubuntu-docker/src/main/properties/mdsal-resource.properties
new file mode 100644 (file)
index 0000000..d853747
--- /dev/null
@@ -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=========================================================
+###
+
+org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-user=admin
+org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-passwd=admin
+org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-host=localhost
+org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-protocol=http
+org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-port=8181
+
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/netbox.properties b/lighty/lighty-ubuntu-docker/src/main/properties/netbox.properties
new file mode 100644 (file)
index 0000000..4346d17
--- /dev/null
@@ -0,0 +1,19 @@
+#
+# Copyright (C) 2019 Bell Canada.
+#
+# 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.
+#
+
+# Configuration file for Netbox client
+org.onap.ccsdk.sli.adaptors.netbox.url=http://netbox-nginx:8080
+org.onap.ccsdk.sli.adaptors.netbox.apikey=onceuponatimeiplayedwithnetbox20180814
\ No newline at end of file
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/partners.json b/lighty/lighty-ubuntu-docker/src/main/properties/partners.json
new file mode 100755 (executable)
index 0000000..9a17a1a
--- /dev/null
@@ -0,0 +1,16 @@
+{\r
+       "partnerOne": {\r
+               "url": "http://localhost:7001",\r
+               "test": "/metrics"\r
+       },\r
+       "partnerTwo": {\r
+               "url": "http://localhost:7002",\r
+               "user": "controller_user",\r
+               "password": "P@ssword",\r
+               "test": "/metrics"\r
+       },\r
+       "partnerThree": {\r
+               "url": "http://localhost:7003",\r
+               "user": "controller_admin"\r
+       }\r
+}\r
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/sdnr-oofpcipoc-api-dg.properties b/lighty/lighty-ubuntu-docker/src/main/properties/sdnr-oofpcipoc-api-dg.properties
new file mode 100644 (file)
index 0000000..d4f7e3c
--- /dev/null
@@ -0,0 +1,35 @@
+restapi.templateDir=/opt/onap/ccsdk/restapi/templates
+controller.url=http://localhost:8181
+controller.user=admin
+controller.pwd=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+honeycomb.url=http://{honeycomb-instance-ip}:8183
+honeycomb.user=admin
+honeycomb.pwd=admin
+restapi.trustStoreFileName=/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks
+restapi.trustStorePassword=adminadmin
+restapi.keyStoreFileName=/opt/onap/sdnc/data/stores/sdnc.p12
+restapi.keyStorePassword=adminadmin
+restapi.connection-oof-url=http://oof.api.simpledemo.onap.org:8698/api/oof/v1/route
+naming.gen-name.url=http://neng-serv:8080
+naming.gen-name.user=ccsdkapps
+naming.gen-name.pwd=ccsdkapps
+
+
+#Patch Targets
+oofpcipoc.patch.pci.target=/oofpcipoc:phy-cell-id-in-use
+oofpcipoc.patch.pci.target2=/oofpcipoc:fap-service[oofpcipoc:alias='{alias}']/oofpcipoc:x-0005b9-lte
+
+
+# Templates
+restapi.pci-patch.templatefile=oofpcipoc-pci-patch.json
+restapi.neighbor-add.templatefile=oofpcipoc-addNeighbor.json
+restapi.neighbor-delete.templatefile=oofpcipoc-deleteNeighbor.json
+restapi.generic-neighbor-patch.template=oofpcipoc-generic-neighbor-patch.json
+
+# URLs
+restapi.config=/restconf/config
+restapi.radio-access=/restconf/config/oofpcipoc:radio-access
+restapi.fap-service=/restconf/config/oofpcipoc:radio-access/fap-service/{alias}
+restapi.x-005b9-lte=/restconf/config/oofpcipoc:radio-access/fap-service/{alias}/x-0005b9-lte
+restapi.lte-ran-neighbor-list-in-use=/restconf/config/oofpcipoc:radio-access/fap-service/{alias}/cell-config/lte/lte-ran/lte-ran-neighbor-list-in-use
+restapi.lte-ran-neighbor-in-use=/restconf/config/oofpcipoc:radio-access/fap-service/{alias}/cell-config/lte/lte-ran/lte-ran-neighbor-list-in-use/lte-ran-neighbor-list-in-use-lte-cell/{plmnid}/{cid}
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/sql-resource.properties b/lighty/lighty-ubuntu-docker/src/main/properties/sql-resource.properties
new file mode 100644 (file)
index 0000000..ac32f77
--- /dev/null
@@ -0,0 +1,23 @@
+###
+# ============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.openecomp.sdnc.resource.sql.cryptkey=QtfJMKggVk
+
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/svclogic.properties b/lighty/lighty-ubuntu-docker/src/main/properties/svclogic.properties
new file mode 100644 (file)
index 0000000..54d667c
--- /dev/null
@@ -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=========================================================
+###
+
+org.onap.ccsdk.sli.dbtype = dblib
+#Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://dbhost:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.database=sdnctl
+org.onap.ccsdk.sli.jdbc.user=sdnctl
+org.onap.ccsdk.sli.jdbc.password=gamma
+
+org.xml.sax.driver=org.apache.xerces.parsers.SAXParser
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/svclogic.properties.sdnctldb01 b/lighty/lighty-ubuntu-docker/src/main/properties/svclogic.properties.sdnctldb01
new file mode 100755 (executable)
index 0000000..54d667c
--- /dev/null
@@ -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=========================================================
+###
+
+org.onap.ccsdk.sli.dbtype = dblib
+#Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://dbhost:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.database=sdnctl
+org.onap.ccsdk.sli.jdbc.user=sdnctl
+org.onap.ccsdk.sli.jdbc.password=gamma
+
+org.xml.sax.driver=org.apache.xerces.parsers.SAXParser
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/template-node.properties b/lighty/lighty-ubuntu-docker/src/main/properties/template-node.properties
new file mode 100644 (file)
index 0000000..1199a0c
--- /dev/null
@@ -0,0 +1,4 @@
+velocity.resource.loader=class
+velocity.file.resource.loader.path=/home/my/example
+velocity.file.resource.loader.cache=true
+velocity.custom.property=customValue
\ No newline at end of file
diff --git a/lighty/lighty-ubuntu-docker/src/main/properties/ueb.properties b/lighty/lighty-ubuntu-docker/src/main/properties/ueb.properties
new file mode 100644 (file)
index 0000000..8871130
--- /dev/null
@@ -0,0 +1,4 @@
+poolMembers=10.147.29.67:3904
+topic.read=APPC-TEST1
+topic.read.timeout=2500
+topic.write=APPC-TEST1
diff --git a/lighty/lighty-ubuntu-docker/src/main/resources/ansible-sources.list b/lighty/lighty-ubuntu-docker/src/main/resources/ansible-sources.list
new file mode 100644 (file)
index 0000000..7e166f2
--- /dev/null
@@ -0,0 +1,2 @@
+deb http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main 
+deb-src http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main 
\ No newline at end of file
diff --git a/lighty/lighty-ubuntu-docker/src/main/resources/idmlight.db.mv.db b/lighty/lighty-ubuntu-docker/src/main/resources/idmlight.db.mv.db
new file mode 100644 (file)
index 0000000..c0b7b49
Binary files /dev/null and b/lighty/lighty-ubuntu-docker/src/main/resources/idmlight.db.mv.db differ
diff --git a/lighty/lighty-ubuntu-docker/src/main/resources/install_ccsdk.yml b/lighty/lighty-ubuntu-docker/src/main/resources/install_ccsdk.yml
new file mode 100644 (file)
index 0000000..e09eceb
--- /dev/null
@@ -0,0 +1,16 @@
+---
+- hosts: all
+  become: yes
+  roles:
+    - role: ansible-opendaylight
+      # ODL is already installed, so no need to specify installation method.  Specify extra features to install
+      extra_features:
+          - odl-restconf-all 
+          - odl-mdsal-all
+          - odl-mdsal-apidocs
+          - odl-daexim-all
+          - odl-restconf-nb-rfc8040
+          - ccsdk-sli-core-all
+          - ccsdk-sli-adaptors-all
+          - ccsdk-sli-northbound-all
+          - ccsdk-sli-plugins-all
\ No newline at end of file
diff --git a/lighty/lighty-ubuntu-docker/src/main/resources/odlsli.dump b/lighty/lighty-ubuntu-docker/src/main/resources/odlsli.dump
new file mode 100644 (file)
index 0000000..e6b6222
--- /dev/null
@@ -0,0 +1,1418 @@
+-- MySQL dump 10.13  Distrib 5.6.22, for Linux (x86_64)
+--
+-- Host: sdnctldb01    Database: sdnctl
+-- ------------------------------------------------------
+-- Server version      5.6.27-enterprise-commercial-advanced-log
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
+SET @@SESSION.SQL_LOG_BIN= 0;
+
+--
+-- Table structure for table `ALLOCATION_ITEM`
+--
+
+DROP TABLE IF EXISTS `ALLOCATION_ITEM`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `ALLOCATION_ITEM` (
+  `allocation_item_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `resource_id` bigint(20) NOT NULL,
+  `application_id` varchar(50) NOT NULL,
+  `resource_set_id` varchar(200) NOT NULL,
+  `resource_union_id` varchar(200) NOT NULL,
+  `resource_share_group_list` varchar(200) DEFAULT NULL,
+  `lt_used` bigint(20) DEFAULT NULL,
+  `ll_label` varchar(50) DEFAULT NULL,
+  `rr_used` varchar(200) DEFAULT NULL,
+  `allocation_time` datetime NOT NULL,
+  PRIMARY KEY (`allocation_item_id`),
+  UNIQUE KEY `allocation_item_id` (`allocation_item_id`),
+  UNIQUE KEY `IX2_ALLOCATION_ITEM` (`resource_id`,`resource_set_id`),
+  KEY `IX1_ALLOCATION_ITEM` (`resource_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=10104 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+
+--
+-- Table structure for table `DATA_OBJECT_MAPPING`
+--
+
+DROP TABLE IF EXISTS `DATA_OBJECT_MAPPING`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `DATA_OBJECT_MAPPING` (
+  `serial_key` int(11) NOT NULL AUTO_INCREMENT,
+  `data_object_key` varchar(100) NOT NULL,
+  `data_object_type` varchar(50) NOT NULL,
+  `service_type` varchar(50) NOT NULL,
+  `data_object_key2` varchar(100) NOT NULL,
+  `data_object_key2_type` varchar(50) NOT NULL,
+  PRIMARY KEY (`serial_key`),
+  KEY `IX1_DATA_OBJECT_MAPPING` (`data_object_key`,`data_object_type`,`service_type`),
+  KEY `IX2_DATA_OBJECT_MAPPING` (`service_type`,`data_object_key2`,`data_object_key2_type`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `DEVICE2CONNECTION_MAPPING`
+--
+
+DROP TABLE IF EXISTS `DEVICE2CONNECTION_MAPPING`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `DEVICE2CONNECTION_MAPPING` (
+  `vnf_host_name` varchar(100) NOT NULL,
+  `e2e_vpn_key` varchar(30) NOT NULL,
+  `service_type` varchar(30) NOT NULL,
+  `connection_id` bigint(20) NOT NULL,
+  PRIMARY KEY (`vnf_host_name`,`e2e_vpn_key`,`service_type`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `DEVICE2IPADDRESS_CONSUMPTION`
+--
+
+DROP TABLE IF EXISTS `DEVICE2IPADDRESS_CONSUMPTION`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `DEVICE2IPADDRESS_CONSUMPTION` (
+  `serial_key` int(11) NOT NULL AUTO_INCREMENT,
+  `device_id` varchar(100) NOT NULL,
+  `device_type` varchar(30) NOT NULL,
+  `ip_version` varchar(10) NOT NULL,
+  `consumption_key` varchar(100) NOT NULL,
+  `logical_interface_service_id` varchar(100) NOT NULL,
+  `address_type` varchar(30) NOT NULL,
+  `ip_consumed` varchar(50) NOT NULL,
+  `vnf_type` varchar(30) NOT NULL,
+  PRIMARY KEY (`serial_key`),
+  KEY `IX1_DEVICEIPADDRESS_CONSUMPTION` (`device_id`,`device_type`,`ip_version`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `DEVICE2IPADDRESS_MAPPING`
+--
+
+DROP TABLE IF EXISTS `DEVICE2IPADDRESS_MAPPING`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `DEVICE2IPADDRESS_MAPPING` (
+  `serial_key` int(11) NOT NULL AUTO_INCREMENT,
+  `device_id` varchar(100) NOT NULL,
+  `device_type` varchar(30) NOT NULL,
+  `secondary_key` varchar(100) NOT NULL,
+  `secondary_key_type` varchar(30) NOT NULL,
+  `address` varchar(50) NOT NULL,
+  `address_type` varchar(30) NOT NULL,
+  `ip_version` varchar(10) NOT NULL,
+  `length` int(11) NOT NULL,
+  `status` varchar(30) NOT NULL,
+  PRIMARY KEY (`serial_key`),
+  KEY `IX1_DEVICE2IPADDRESS_MAPPING` (`device_id`,`device_type`,`secondary_key`,`secondary_key_type`,`address`,`address_type`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `EIPAM_IP_ASSIGNMENTS`
+--
+
+DROP TABLE IF EXISTS `EIPAM_IP_ASSIGNMENTS`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `EIPAM_IP_ASSIGNMENTS` (
+  `plan_name` varchar(40) NOT NULL,
+  `client_key` varchar(100) NOT NULL,
+  `service_type` varchar(40) NOT NULL,
+  `ip_address` varchar(40) DEFAULT NULL,
+  `prefix_length` int(2) DEFAULT NULL,
+  `status` varchar(20) DEFAULT NULL,
+  `service_instance_id` varchar(80) DEFAULT NULL,
+  `last_modified_ts` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `prev_status` varchar(20) DEFAULT NULL,
+  PRIMARY KEY (`plan_name`,`client_key`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `EIPAM_IP_SUBNETS`
+--
+
+DROP TABLE IF EXISTS `EIPAM_IP_SUBNETS`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `EIPAM_IP_SUBNETS` (
+  `entity_id` int(6) NOT NULL,
+  `service_type` varchar(40) NOT NULL,
+  `plan_name` varchar(40) NOT NULL,
+  `address_family` varchar(10) NOT NULL,
+  `ip_address` varchar(40) NOT NULL,
+  `prefix_length` int(3) NOT NULL,
+  `status` varchar(20) NOT NULL,
+  `last_modified_ts` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`entity_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `EIPAM_IP_SUBNET_KEYS`
+--
+
+DROP TABLE IF EXISTS `EIPAM_IP_SUBNET_KEYS`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `EIPAM_IP_SUBNET_KEYS` (
+  `entity_id` int(6) NOT NULL,
+  `key_name` varchar(255) NOT NULL,
+  `key_value` varchar(50) NOT NULL,
+  `level` int(2) NOT NULL,
+  PRIMARY KEY (`entity_id`,`key_name`,`key_value`,`level`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `EIPAM_REQUEST_KEY`
+--
+
+DROP TABLE IF EXISTS `EIPAM_REQUEST_KEY`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `EIPAM_REQUEST_KEY` (
+  `key_name_1` varchar(50) NOT NULL,
+  `address_family` varchar(4) NOT NULL,
+  `serial_key` int(2) NOT NULL AUTO_INCREMENT,
+  `plan_name` varchar(50) NOT NULL,
+  `request_length` int(2) NOT NULL,
+  `pools_length` int(2) NOT NULL,
+  `plan_length` int(2) NOT NULL,
+  `key_name_0` varchar(50) NOT NULL,
+  `key_name_type_0` varchar(255) NOT NULL,
+  `key_name_type_1` varchar(255) NOT NULL,
+  `prefix_length` int(2) NOT NULL,
+  `group_flag` char(1) NOT NULL,
+  `address_type` varchar(20) DEFAULT NULL,
+  PRIMARY KEY (`key_name_1`,`address_family`),
+  UNIQUE KEY `IX1_EIPAM_REQUEST_KEY` (`serial_key`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_L3_NETWORK`
+--
+
+DROP TABLE IF EXISTS `GENERIC_L3_NETWORK`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_L3_NETWORK` (
+  `network_id` varchar(80) NOT NULL,
+  `network_name` varchar(80) DEFAULT NULL,
+  `network_type` varchar(80) DEFAULT NULL,
+  `network_role` varchar(80) DEFAULT NULL,
+  `network_technology` varchar(80) DEFAULT NULL,
+  `neutron_network_id` varchar(80) DEFAULT NULL,
+  `is_bound_to_vpn` tinyint(1) DEFAULT NULL,
+  `orchestration_status` varchar(20) DEFAULT NULL,
+  `heat_stack_id` varchar(80) DEFAULT NULL,
+  `mso_catalog_key` varchar(80) DEFAULT NULL,
+  `service_id` varchar(80) NOT NULL,
+  `tenant_id` varchar(80) NOT NULL,
+  `physical_location_id` varchar(20) DEFAULT NULL,
+  `network_role_instance` varchar(80) NOT NULL,
+  PRIMARY KEY (`network_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_L3_NETWORK_SUBNET`
+--
+
+DROP TABLE IF EXISTS `GENERIC_L3_NETWORK_SUBNET`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_L3_NETWORK_SUBNET` (
+  `network_id` varchar(80) NOT NULL,
+  `subnet_id` varchar(80) NOT NULL,
+  `neutron_subnet_id` varchar(80) DEFAULT NULL,
+  `gateway_address` varchar(45) NOT NULL,
+  `network_start_address` varchar(45) NOT NULL,
+  `cidr_mask` varchar(20) NOT NULL,
+  `ip_version` char(1) NOT NULL,
+  `orchestration_status` varchar(64) NOT NULL,
+  `dhcp_enabled` tinyint(1) NOT NULL,
+  `dhcp_start` varchar(45) DEFAULT NULL,
+  `dhcp_end` varchar(45) DEFAULT NULL,
+  PRIMARY KEY (`network_id`,`subnet_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_L3_NETWORK_VPN_BINDING`
+--
+
+DROP TABLE IF EXISTS `GENERIC_L3_NETWORK_VPN_BINDING`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_L3_NETWORK_VPN_BINDING` (
+  `network_id` varchar(80) NOT NULL,
+  `vpn_id` varchar(80) NOT NULL,
+  PRIMARY KEY (`network_id`,`vpn_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_VNF`
+--
+
+DROP TABLE IF EXISTS `GENERIC_VNF`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_VNF` (
+  `vnf_id` varchar(80) NOT NULL,
+  `vnf_name` varchar(80) NOT NULL,
+  `vnf_type` varchar(200) NOT NULL,
+  `vnf_name2` varchar(80) DEFAULT NULL,
+  `service_id` varchar(80) NOT NULL,
+  `equipment_role` varchar(80) NOT NULL,
+  `orchestration_status` varchar(20) DEFAULT NULL,
+  `prov_status` varchar(20) DEFAULT NULL,
+  `heat_stack_id` varchar(80) DEFAULT NULL,
+  `mso_catalog_key` varchar(80) DEFAULT NULL,
+  `regional_resource_zone` varchar(80) DEFAULT NULL,
+  `operational_state` varchar(80) DEFAULT NULL,
+  `license_key` varchar(80) DEFAULT NULL,
+  `ipv4_oam_address` varchar(20) DEFAULT NULL,
+  `ipv4_loopback0_address` varchar(20) DEFAULT NULL,
+  `nm_lan_v6_address` varchar(40) DEFAULT NULL,
+  `management_v6_address` varchar(40) DEFAULT NULL,
+  `management_option` varchar(45) DEFAULT NULL,
+  `vcpu` varchar(45) DEFAULT NULL,
+  `vmemory` varchar(45) DEFAULT NULL,
+  `vdisk` varchar(45) DEFAULT NULL,
+  `vcpu_units` varchar(45) DEFAULT NULL,
+  `vmemory_units` varchar(45) DEFAULT NULL,
+  `vdisk_units` varchar(45) DEFAULT NULL,
+  PRIMARY KEY (`vnf_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_VNF_L3_NETWORK`
+--
+
+DROP TABLE IF EXISTS `GENERIC_VNF_L3_NETWORK`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_VNF_L3_NETWORK` (
+  `vnf_id` varchar(80) NOT NULL,
+  `network_id` varchar(80) NOT NULL,
+  PRIMARY KEY (`vnf_id`,`network_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_VNF_LICENSE_MANAGEMENT`
+--
+
+DROP TABLE IF EXISTS `GENERIC_VNF_LICENSE_MANAGEMENT`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_VNF_LICENSE_MANAGEMENT` (
+  `vnf_id` varchar(80) NOT NULL,
+  `att_uuid` varchar(80) NOT NULL,
+  PRIMARY KEY (`vnf_id`,`att_uuid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_VNF_LINTERFACE`
+--
+
+DROP TABLE IF EXISTS `GENERIC_VNF_LINTERFACE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_VNF_LINTERFACE` (
+  `vnf_id` varchar(80) NOT NULL,
+  `interface_name` varchar(255) NOT NULL,
+  `interface_role` varchar(45) DEFAULT NULL,
+  `v6_wan_link_ip` varchar(45) DEFAULT NULL,
+  `selflink` varchar(128) DEFAULT NULL,
+  `interface_id` varchar(45) DEFAULT NULL,
+  `macaddr` varchar(64) DEFAULT NULL,
+  `network_name` varchar(255) DEFAULT NULL,
+  PRIMARY KEY (`vnf_id`,`interface_name`),
+  KEY `FK_GENERIC_VNF_LINTERFACE_GENERIC_VNF_IDX` (`vnf_id`),
+  CONSTRAINT `FK_GENERIC_VNF_LINTERFACE_GENERIC_VNF` FOREIGN KEY (`vnf_id`) REFERENCES `GENERIC_VNF` (`vnf_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_VNF_PSERVER`
+--
+
+DROP TABLE IF EXISTS `GENERIC_VNF_PSERVER`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_VNF_PSERVER` (
+  `vnf_id` varchar(64) NOT NULL,
+  `hostname` varchar(255) NOT NULL,
+  PRIMARY KEY (`vnf_id`,`hostname`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_VNF_SERVICE_INSTANCE`
+--
+
+DROP TABLE IF EXISTS `GENERIC_VNF_SERVICE_INSTANCE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_VNF_SERVICE_INSTANCE` (
+  `vnf_id` varchar(64) NOT NULL,
+  `service_instance_id` varchar(255) NOT NULL,
+  `relationship_key` varchar(64) NOT NULL,
+  `relationship_value` varchar(64) DEFAULT NULL,
+  `global_customer_id` varchar(255) DEFAULT NULL,
+  `service_type` varchar(255) DEFAULT NULL,
+  PRIMARY KEY (`vnf_id`,`service_instance_id`,`relationship_key`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_VNF_VNF_IMAGE`
+--
+
+DROP TABLE IF EXISTS `GENERIC_VNF_VNF_IMAGE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_VNF_VNF_IMAGE` (
+  `vnf_id` varchar(64) NOT NULL,
+  `att_uuid` varchar(255) NOT NULL,
+  PRIMARY KEY (`vnf_id`,`att_uuid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_VNF_VSERVER`
+--
+
+DROP TABLE IF EXISTS `GENERIC_VNF_VSERVER`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_VNF_VSERVER` (
+  `vnf_id` varchar(80) NOT NULL,
+  `vserver_id` varchar(128) NOT NULL,
+  `tenant_id` varchar(128) DEFAULT NULL,
+  PRIMARY KEY (`vnf_id`,`vserver_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `GENERIC_VPN_BINDING`
+--
+
+DROP TABLE IF EXISTS `GENERIC_VPN_BINDING`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `GENERIC_VPN_BINDING` (
+  `vpn_id` varchar(80) NOT NULL,
+  `vpn_name` varchar(80) NOT NULL,
+  `global_route_target` varchar(80) NOT NULL,
+  PRIMARY KEY (`vpn_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `HOSTNAME`
+--
+
+DROP TABLE IF EXISTS `HOSTNAME`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `HOSTNAME` (
+  `hostname` varchar(21) NOT NULL,
+  `parent_hostname` varchar(21) DEFAULT NULL,
+  `cust_id` int(11) NOT NULL,
+  `loc_id` int(11) NOT NULL,
+  `site_sequence` varchar(2) NOT NULL,
+  `server_sequence` varchar(2) NOT NULL,
+  `activation_code` varchar(11) DEFAULT NULL,
+  `vnf_sequence` varchar(2) DEFAULT NULL,
+  `vendor_code` varchar(1) NOT NULL,
+  `virtual_device_type` varchar(2) DEFAULT NULL,
+  `device_sequence` varchar(3) DEFAULT NULL,
+  `create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`hostname`),
+  KEY `IN1_HOSTNAME` (`cust_id`),
+  KEY `IN2_HOSTNAME` (`loc_id`),
+  KEY `IN3_HOSTNAME` (`vendor_code`),
+  KEY `IN4_HOSTNAME` (`parent_hostname`),
+  CONSTRAINT `FK1_HOSTNAME` FOREIGN KEY (`cust_id`) REFERENCES `CUSTOMER` (`cust_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
+  CONSTRAINT `FK2_HOSTNAME` FOREIGN KEY (`loc_id`) REFERENCES `LOCATION` (`loc_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
+  CONSTRAINT `FK3_HOSTNAME` FOREIGN KEY (`vendor_code`) REFERENCES `VENDOR_CODE` (`vendor_code`) ON DELETE NO ACTION ON UPDATE NO ACTION,
+  CONSTRAINT `FK4_HOSTNAME` FOREIGN KEY (`parent_hostname`) REFERENCES `HOSTNAME` (`hostname`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `IPV4_ADDRESS_POOL`
+--
+
+DROP TABLE IF EXISTS `IPV4_ADDRESS_POOL`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `IPV4_ADDRESS_POOL` (
+  `aic_site_id` varchar(100) NOT NULL,
+  `universe` varchar(40) NOT NULL,
+  `status` varchar(40) NOT NULL,
+  `ipv4_addr` varchar(20) NOT NULL,
+  PRIMARY KEY (`ipv4_addr`,`universe`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `LINTERFACE_VLAN`
+--
+
+DROP TABLE IF EXISTS `LINTERFACE_VLAN`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `LINTERFACE_VLAN` (
+  `vnf_id` varchar(80) NOT NULL,
+  `interface_name` varchar(255) NOT NULL,
+  `vlan_interface` varchar(255) NOT NULL,
+  `vlan_id_inner` varchar(64) DEFAULT NULL,
+  `vlan_id_outer` varchar(64) DEFAULT NULL,
+  PRIMARY KEY (`vnf_id`,`interface_name`,`vlan_interface`),
+  KEY `FK_LINTERFACE_VLAN_GENERIC_VNF_LINTERFACE_IDX` (`vnf_id`,`interface_name`),
+  CONSTRAINT `FK_LINTERFACE_VLAN_GENERIC_VNF_LINTERFACE` FOREIGN KEY (`vnf_id`, `interface_name`) REFERENCES `GENERIC_VNF_LINTERFACE` (`vnf_id`, `interface_name`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `LOCATION`
+--
+
+DROP TABLE IF EXISTS `LOCATION`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `LOCATION` (
+  `loc_id` int(11) NOT NULL AUTO_INCREMENT,
+  `address` varchar(150) NOT NULL,
+  `city_code_id` int(11) NOT NULL,
+  `create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`loc_id`),
+  KEY `IN1_LOCATION_IDX` (`city_code_id`),
+  CONSTRAINT `FK1_LOCATION` FOREIGN KEY (`city_code_id`) REFERENCES `CITY_CODE` (`city_code_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB AUTO_INCREMENT=112 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `MAX_PORT_SPEED`
+--
+
+DROP TABLE IF EXISTS `MAX_PORT_SPEED`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `MAX_PORT_SPEED` (
+  `max_port_speed_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `image_file_name` varchar(50) NOT NULL,
+  `end_point_position` varchar(50) NOT NULL,
+  `interface_name` varchar(100) NOT NULL,
+  `max_speed` bigint(20) NOT NULL,
+  `unit` varchar(10) NOT NULL,
+  PRIMARY KEY (`max_port_speed_id`),
+  UNIQUE KEY `max_port_speed_id` (`max_port_speed_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `MAX_SERVER_SPEED`
+--
+
+DROP TABLE IF EXISTS `MAX_SERVER_SPEED`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `MAX_SERVER_SPEED` (
+  `max_server_speed_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `server_model` varchar(50) NOT NULL,
+  `evc_count` smallint(6) NOT NULL,
+  `max_speed` bigint(20) NOT NULL,
+  `unit` varchar(10) NOT NULL,
+  `description` varchar(500) DEFAULT NULL,
+  PRIMARY KEY (`max_server_speed_id`),
+  UNIQUE KEY `max_server_speed_id` (`max_server_speed_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+
+
+--
+-- Table structure for table `NETWORK_PROFILE`
+--
+
+DROP TABLE IF EXISTS `NETWORK_PROFILE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `NETWORK_PROFILE` (
+  `network_type` varchar(100) NOT NULL,
+  `technology` varchar(100) NOT NULL,
+  PRIMARY KEY (`network_type`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `NETWORK_ROLE_VPN_BINDING`
+--
+
+DROP TABLE IF EXISTS `NETWORK_ROLE_VPN_BINDING`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `NETWORK_ROLE_VPN_BINDING` (
+  `network_role` varchar(80) NOT NULL,
+  `vpn_id` varchar(80) NOT NULL,
+  PRIMARY KEY (`network_role`,`vpn_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `NODE_TYPES`
+--
+
+DROP TABLE IF EXISTS `NODE_TYPES`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `NODE_TYPES` (
+  `nodetype` varchar(80) NOT NULL,
+  PRIMARY KEY (`nodetype`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `PARAMETERS`
+--
+
+DROP TABLE IF EXISTS `PARAMETERS`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `PARAMETERS` (
+  `name` varchar(100) NOT NULL,
+  `value` varchar(24) NOT NULL,
+  `category` varchar(24) DEFAULT NULL,
+  `memo` varchar(128) DEFAULT NULL,
+  PRIMARY KEY (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `PHYSICAL_LINK`
+--
+
+DROP TABLE IF EXISTS `PHYSICAL_LINK`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `PHYSICAL_LINK` (
+  `link_name` varchar(255) NOT NULL,
+  `speed_value` varchar(64) DEFAULT NULL,
+  `speed_units` varchar(64) DEFAULT NULL,
+  `circuit_id` varchar(255) NOT NULL,
+  `dual_mode` varchar(64) NOT NULL,
+  PRIMARY KEY (`link_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `PHYSICAL_LINK_PINTERFACE`
+--
+
+DROP TABLE IF EXISTS `PHYSICAL_LINK_PINTERFACE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `PHYSICAL_LINK_PINTERFACE` (
+  `link_name` varchar(255) NOT NULL,
+  `hostname` varchar(255) NOT NULL,
+  `port_name_ft` varchar(255) NOT NULL,
+  PRIMARY KEY (`link_name`,`hostname`,`port_name_ft`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `PINTERFACE`
+--
+
+DROP TABLE IF EXISTS `PINTERFACE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `PINTERFACE` (
+  `hostname` varchar(255) NOT NULL,
+  `port_name_ft` varchar(255) NOT NULL,
+  `interface_name` varchar(255) DEFAULT '',
+  `physical_speed` varchar(255) DEFAULT '',
+  `physical_units` varchar(255) DEFAULT '',
+  `port_description` varchar(255) DEFAULT '',
+  PRIMARY KEY (`hostname`,`port_name_ft`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `PORTAL_USERS`
+--
+
+DROP TABLE IF EXISTS `PORTAL_USERS`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `PORTAL_USERS` (
+  `email` varchar(64) NOT NULL,
+  `password` varbinary(255) NOT NULL,
+  `privilege` char(1) NOT NULL,
+  PRIMARY KEY (`email`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+
+--
+-- Table structure for table `PSERVER`
+--
+
+DROP TABLE IF EXISTS `PSERVER`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `PSERVER` (
+  `hostname` varchar(255) NOT NULL,
+  `ptnii_equip_name` varchar(255) DEFAULT '',
+  `number_of_cpus` varchar(255) DEFAULT '',
+  `disk_in_gigabytes` varchar(255) DEFAULT '',
+  `ram_in_megabytes` varchar(255) DEFAULT '',
+  `equip_type` varchar(255) DEFAULT '',
+  `equip_vendor` varchar(255) DEFAULT '',
+  `equip_model` varchar(255) DEFAULT '',
+  `fqdn` varchar(255) DEFAULT '',
+  `pserver_selflink` varchar(255) DEFAULT '',
+  `ipv4_oam_address` varchar(40) DEFAULT NULL,
+  `serial_number` varchar(255) DEFAULT '',
+  `pserver_id` varchar(255) DEFAULT '',
+  `internet_topology` varchar(40) DEFAULT '',
+  `aic_site_id` varchar(100) DEFAULT '',
+  `in_maint` varchar(5) DEFAULT '',
+  `pserver_name2` varchar(255) DEFAULT '',
+  `purpose` varchar(255) DEFAULT '',
+  PRIMARY KEY (`hostname`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `RANGE_RULE`
+--
+
+DROP TABLE IF EXISTS `RANGE_RULE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `RANGE_RULE` (
+  `range_rule_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `range_name` varchar(50) NOT NULL,
+  `service_model` varchar(50) NOT NULL,
+  `end_point_position` varchar(50) NOT NULL,
+  `equipment_level` varchar(50) NOT NULL,
+  `equipment_expression` varchar(2000) NOT NULL,
+  `ranges` varchar(100) NOT NULL,
+  PRIMARY KEY (`range_rule_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `RESOURCE`
+--
+
+DROP TABLE IF EXISTS `RESOURCE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `RESOURCE` (
+  `resource_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `asset_id` varchar(100) NOT NULL,
+  `resource_name` varchar(50) NOT NULL,
+  `resource_type` enum('Limit','Label','Range') NOT NULL,
+  `lt_used` bigint(20) DEFAULT NULL,
+  `ll_label` varchar(50) DEFAULT NULL,
+  `ll_reference_count` smallint(6) DEFAULT NULL,
+  `rr_used` varchar(4000) DEFAULT NULL,
+  PRIMARY KEY (`resource_id`),
+  UNIQUE KEY `resource_id` (`resource_id`),
+  UNIQUE KEY `IX1_RESOURCE` (`asset_id`,`resource_name`)
+) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `RESOURCE_LOAD`
+--
+
+DROP TABLE IF EXISTS `RESOURCE_LOAD`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `RESOURCE_LOAD` (
+  `resource_load_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `resource_id` bigint(20) NOT NULL,
+  `application_id` varchar(20) NOT NULL,
+  `resource_load_time` datetime NOT NULL,
+  `resource_expiration_time` datetime DEFAULT NULL,
+  PRIMARY KEY (`resource_load_id`),
+  UNIQUE KEY `resource_load_id` (`resource_load_id`),
+  UNIQUE KEY `IX2_RESOURCE_LOAD` (`resource_id`,`application_id`),
+  KEY `IX1_RESOURCE_LOAD` (`resource_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `RESOURCE_LOCK`
+--
+
+DROP TABLE IF EXISTS `RESOURCE_LOCK`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `RESOURCE_LOCK` (
+  `resource_lock_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `resource_name` varchar(50) NOT NULL,
+  `lock_holder` varchar(100) NOT NULL,
+  `lock_count` smallint(6) NOT NULL,
+  `lock_time` datetime NOT NULL,
+  `expiration_time` datetime NOT NULL,
+  PRIMARY KEY (`resource_lock_id`),
+  UNIQUE KEY `resource_lock_id` (`resource_lock_id`),
+  UNIQUE KEY `IX1_RESOURCE_LOCK` (`resource_name`)
+) ENGINE=InnoDB AUTO_INCREMENT=2951 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `RESOURCE_RULE`
+--
+
+DROP TABLE IF EXISTS `RESOURCE_RULE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `RESOURCE_RULE` (
+  `resource_rule_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `resource_name` varchar(50) NOT NULL,
+  `service_model` varchar(50) NOT NULL,
+  `end_point_position` varchar(50) NOT NULL,
+  `service_expression` varchar(2000) NOT NULL,
+  `equipment_level` varchar(50) NOT NULL,
+  `equipment_expression` varchar(2000) NOT NULL,
+  `allocation_expression` varchar(2000) NOT NULL,
+  `soft_limit_expression` varchar(2000) NOT NULL,
+  `hard_limit_expression` varchar(2000) NOT NULL,
+  PRIMARY KEY (`resource_rule_id`),
+  UNIQUE KEY `resource_rule_id` (`resource_rule_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `RESOURCE_THRESHOLD`
+--
+
+DROP TABLE IF EXISTS `RESOURCE_THRESHOLD`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `RESOURCE_THRESHOLD` (
+  `resource_threshold_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `resource_rule_id` bigint(20) NOT NULL,
+  `threshold_expression` varchar(2000) NOT NULL,
+  `threshold_message` varchar(2000) NOT NULL,
+  PRIMARY KEY (`resource_threshold_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+
+--
+-- Table structure for table `SERVICE_RESOURCE`
+--
+
+DROP TABLE IF EXISTS `SERVICE_RESOURCE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `SERVICE_RESOURCE` (
+  `service_resource_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `service_instance_id` varchar(80) NOT NULL,
+  `service_status` enum('Active','Pending') NOT NULL,
+  `service_change_number` smallint(6) NOT NULL,
+  `resource_set_id` varchar(100) NOT NULL,
+  `resource_union_id` varchar(100) NOT NULL,
+  PRIMARY KEY (`service_instance_id`,`service_change_number`),
+  UNIQUE KEY `service_resource_id` (`service_resource_id`),
+  KEY `IX1_SERVICE_RESOURCE` (`service_instance_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2203 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `SVC_LOGIC`
+--
+
+DROP TABLE IF EXISTS `SVC_LOGIC`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `SVC_LOGIC` (
+  `module` varchar(80) NOT NULL,
+  `rpc` varchar(80) NOT NULL,
+  `version` varchar(40) NOT NULL,
+  `mode` varchar(5) NOT NULL,
+  `active` varchar(1) NOT NULL,
+  `graph` longblob,
+  `modified_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `md5sum` varchar(128) DEFAULT NULL,
+  PRIMARY KEY (`module`,`rpc`,`version`,`mode`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `TENANT`
+--
+
+DROP TABLE IF EXISTS `TENANT`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `TENANT` (
+  `tenant_id` varchar(255) NOT NULL,
+  `tenant_name` varchar(255) NOT NULL,
+  `service_instance_id` varchar(255) NOT NULL,
+  PRIMARY KEY (`tenant_id`,`tenant_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `THRESHOLD_NOTIFICATION`
+--
+
+DROP TABLE IF EXISTS `THRESHOLD_NOTIFICATION`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `THRESHOLD_NOTIFICATION` (
+  `resource_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `threshold_expression` varchar(2000) DEFAULT NULL,
+  `threshold_message` varchar(500) DEFAULT NULL,
+  PRIMARY KEY (`resource_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+
+--
+-- Table structure for table `VENDOR_CODE`
+--
+
+DROP TABLE IF EXISTS `VENDOR_CODE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VENDOR_CODE` (
+  `vendor_code` varchar(1) NOT NULL,
+  `vendor` varchar(45) DEFAULT NULL,
+  PRIMARY KEY (`vendor_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VLAN_ID_POOL`
+--
+
+DROP TABLE IF EXISTS `VLAN_ID_POOL`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VLAN_ID_POOL` (
+  `aic_site_id` varchar(100) NOT NULL,
+  `purpose` varchar(40) NOT NULL,
+  `status` varchar(40) NOT NULL,
+  `vlan_id` int(4) NOT NULL,
+  `svc_instance_id` varchar(80) DEFAULT NULL,
+  `availability_zone` varchar(100) DEFAULT NULL,
+  `vplspe_name` varchar(80) DEFAULT NULL,
+  PRIMARY KEY (`vlan_id`,`aic_site_id`,`purpose`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VLAN_L3INTERFACE_IPV4_ADDRESS`
+--
+
+DROP TABLE IF EXISTS `VLAN_L3INTERFACE_IPV4_ADDRESS`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VLAN_L3INTERFACE_IPV4_ADDRESS` (
+  `vnf_id` varchar(80) NOT NULL,
+  `interface_name` varchar(255) NOT NULL,
+  `vlan_interface` varchar(255) NOT NULL,
+  `l3_interface_ipv4_address` varchar(64) NOT NULL,
+  `l3_interface_ipv4_prefix_length` varchar(45) DEFAULT NULL,
+  `vlan_id_inner` varchar(45) DEFAULT NULL,
+  `vlan_id_outer` varchar(45) DEFAULT NULL,
+  `is_floating` varchar(1) DEFAULT NULL,
+  PRIMARY KEY (`vnf_id`,`interface_name`,`vlan_interface`,`l3_interface_ipv4_address`),
+  KEY `FK_VLAN_L3INTERFACE_IPV4_ADDRESS_LINTERFACE_VLAN_IDX` (`vnf_id`,`interface_name`),
+  CONSTRAINT `FK_VLAN_L3INTERFACE_IPV4_ADDRESS_LINTERFACE_VLAN` FOREIGN KEY (`vnf_id`, `interface_name`, `vlan_interface`) REFERENCES `LINTERFACE_VLAN` (`vnf_id`, `interface_name`, `vlan_interface`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VLAN_L3INTERFACE_IPV6_ADDRESS`
+--
+
+DROP TABLE IF EXISTS `VLAN_L3INTERFACE_IPV6_ADDRESS`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VLAN_L3INTERFACE_IPV6_ADDRESS` (
+  `vnf_id` varchar(80) NOT NULL,
+  `interface_name` varchar(255) NOT NULL,
+  `vlan_interface` varchar(255) NOT NULL,
+  `l3_interface_ipv6_address` varchar(64) NOT NULL,
+  `l3_interface_ipv6_prefix_length` varchar(45) DEFAULT NULL,
+  `vlan_id_inner` varchar(45) DEFAULT NULL,
+  `vlan_id_outer` varchar(45) DEFAULT NULL,
+  `is_floating` varchar(1) DEFAULT NULL,
+  PRIMARY KEY (`vnf_id`,`interface_name`,`vlan_interface`,`l3_interface_ipv6_address`),
+  KEY `FK_VLAN_L3INTERFACE_IPV6_ADDRESS_LINTERFACE_VLAN_IDX` (`vnf_id`,`interface_name`,`vlan_interface`),
+  CONSTRAINT `FK_VLAN_L3INTERFACE_IPV6_ADDRESS_LINTERFACE_VLAN` FOREIGN KEY (`vnf_id`, `interface_name`, `vlan_interface`) REFERENCES `LINTERFACE_VLAN` (`vnf_id`, `interface_name`, `vlan_interface`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VLAN_PLAN_ID`
+--
+
+DROP TABLE IF EXISTS `VLAN_PLAN_ID`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VLAN_PLAN_ID` (
+  `plan_type` varchar(40) NOT NULL,
+  `purpose` varchar(40) NOT NULL,
+  `vlan_plan_id_count` int(4) NOT NULL,
+  PRIMARY KEY (`vlan_plan_id_count`,`plan_type`,`purpose`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VLAN_POOL`
+--
+
+DROP TABLE IF EXISTS `VLAN_POOL`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VLAN_POOL` (
+  `aic_site_id` varchar(100) NOT NULL,
+  `availability_zone` varchar(100) NOT NULL,
+  `vlan_plan_id` varchar(100) NOT NULL,
+  `plan_type` varchar(40) NOT NULL,
+  `purpose` varchar(40) NOT NULL,
+  `vlan_id` int(4) NOT NULL,
+  `status` varchar(40) NOT NULL,
+  `reserved_id` varchar(80) DEFAULT NULL,
+  PRIMARY KEY (`aic_site_id`,`availability_zone`,`vlan_plan_id`,`plan_type`,`purpose`,`vlan_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VLAN_RANGES`
+--
+
+DROP TABLE IF EXISTS `VLAN_RANGES`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VLAN_RANGES` (
+  `vlan_plan_id` varchar(100) NOT NULL,
+  `plan_type` varchar(40) NOT NULL,
+  `purpose` varchar(40) NOT NULL,
+  `range_start` int(4) NOT NULL,
+  `range_end` int(4) NOT NULL,
+  `generated` char(1) DEFAULT NULL,
+  PRIMARY KEY (`vlan_plan_id`,`plan_type`,`purpose`,`range_start`,`range_end`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VM_NETWORKS`
+--
+
+DROP TABLE IF EXISTS `VM_NETWORKS`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VM_NETWORKS` (
+  `vnf_type` varchar(200) NOT NULL,
+  `vm_type` varchar(45) NOT NULL,
+  `network_role` varchar(45) NOT NULL,
+  `assign_ips` tinyint(1) NOT NULL,
+  `assign_macs` tinyint(1) NOT NULL,
+  `assign_floating_ip` tinyint(1) NOT NULL,
+  `ip_count` int(11) DEFAULT NULL,
+  PRIMARY KEY (`vnf_type`,`vm_type`,`network_role`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VM_PROFILE`
+--
+
+DROP TABLE IF EXISTS `VM_PROFILE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VM_PROFILE` (
+  `vnf_type` varchar(200) NOT NULL,
+  `vm_type` varchar(45) NOT NULL,
+  `vm_count` int(11) NOT NULL,
+  PRIMARY KEY (`vnf_type`,`vm_type`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VNF`
+--
+
+DROP TABLE IF EXISTS `VNF`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VNF` (
+  `vnf_id` varchar(80) NOT NULL,
+  `vnf_name` varchar(80) NOT NULL,
+  `vnf_type` varchar(10) NOT NULL,
+  `orchestration_status` varchar(20) DEFAULT NULL,
+  `heat_stack_id` varchar(80) DEFAULT NULL,
+  `mso_catalog_key` varchar(80) DEFAULT NULL,
+  `availability_zone` varchar(80) DEFAULT NULL,
+  `aic_site_id` varchar(80) DEFAULT NULL,
+  `oam_ipv4_address` varchar(20) DEFAULT NULL,
+  `vnf_name2` varchar(80) DEFAULT NULL,
+  `vpe_id` varchar(80) NOT NULL,
+  `ipv4_loopback0_address` varchar(80) DEFAULT NULL,
+  `license_key` varchar(256) DEFAULT NULL,
+  `entitlement_resource_uuid` varchar(256) DEFAULT NULL,
+  PRIMARY KEY (`vnf_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VNF_IMAGE`
+--
+
+DROP TABLE IF EXISTS `VNF_IMAGE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VNF_IMAGE` (
+  `application_vendor` varchar(255) NOT NULL,
+  `application_version` varchar(255) NOT NULL,
+  `att_uuid` varchar(255) NOT NULL,
+  `application` varchar(255) DEFAULT NULL,
+  `selflink` varchar(255) DEFAULT NULL,
+  PRIMARY KEY (`application_vendor`,`application_version`,`att_uuid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VNF_MODEL_LICENSES`
+--
+
+DROP TABLE IF EXISTS `VNF_MODEL_LICENSES`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VNF_MODEL_LICENSES` (
+  `att_part_number` varchar(255) NOT NULL,
+  `license_assignment_group` varchar(255) NOT NULL,
+  `license_required` tinyint(1) DEFAULT NULL,
+  `entitlement_assignment_group` varchar(255) DEFAULT NULL,
+  `entitlement_required` tinyint(1) DEFAULT NULL,
+  `feature_group_uuid` varchar(255) DEFAULT NULL,
+  PRIMARY KEY (`att_part_number`,`license_assignment_group`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VNF_MODEL_LICENSE_FEATURES`
+--
+
+DROP TABLE IF EXISTS `VNF_MODEL_LICENSE_FEATURES`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VNF_MODEL_LICENSE_FEATURES` (
+  `att_part_number` varchar(255) NOT NULL,
+  `license_assignment_group` varchar(255) NOT NULL,
+  `feature` varchar(255) NOT NULL,
+  PRIMARY KEY (`att_part_number`,`license_assignment_group`,`feature`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VNF_NETWORKS`
+--
+
+DROP TABLE IF EXISTS `VNF_NETWORKS`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VNF_NETWORKS` (
+  `vnf_type` varchar(200) NOT NULL,
+  `network_role` varchar(45) NOT NULL,
+  PRIMARY KEY (`vnf_type`,`network_role`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VNF_NETWORK_CONNECTION`
+--
+
+DROP TABLE IF EXISTS `VNF_NETWORK_CONNECTION`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VNF_NETWORK_CONNECTION` (
+  `connection_uuid` varchar(80) NOT NULL,
+  `vnf_id` varchar(80) NOT NULL,
+  `connection_id` varchar(80) DEFAULT NULL,
+  `connection_type` varchar(20) DEFAULT NULL,
+  `neutron_network_id` varchar(80) DEFAULT NULL,
+  `neutron_network_name` varchar(80) DEFAULT NULL,
+  `orchestration_status` varchar(20) DEFAULT NULL,
+  `switch_id` varchar(40) DEFAULT NULL,
+  `heat_stack_id` varchar(80) DEFAULT NULL,
+  `mso_catalog_key` varchar(80) DEFAULT NULL,
+  `provider_network` varchar(80) DEFAULT NULL,
+  `port_group_id` varchar(80) DEFAULT NULL,
+  `port_group_name` varchar(80) DEFAULT NULL,
+  PRIMARY KEY (`connection_uuid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VNF_NETWORK_CONNECTION_VLAN`
+--
+
+DROP TABLE IF EXISTS `VNF_NETWORK_CONNECTION_VLAN`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VNF_NETWORK_CONNECTION_VLAN` (
+  `vlan_uuid` varchar(80) NOT NULL,
+  `vlan_id` int(4) NOT NULL,
+  `vlan_type` varchar(5) NOT NULL,
+  `connection_uuid` varchar(80) DEFAULT NULL,
+  PRIMARY KEY (`vlan_uuid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VNF_PROFILE`
+--
+
+DROP TABLE IF EXISTS `VNF_PROFILE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VNF_PROFILE` (
+  `vnf_type` varchar(200) NOT NULL,
+  `availability_zone_count` int(11) NOT NULL,
+  `equipment_role` varchar(80) NOT NULL,
+  PRIMARY KEY (`vnf_type`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VPE_LOCK`
+--
+
+DROP TABLE IF EXISTS `VPE_LOCK`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VPE_LOCK` (
+  `vpe_name` varchar(20) NOT NULL,
+  `vpn_lock` varchar(20) NOT NULL,
+  PRIMARY KEY (`vpe_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VPE_POOL`
+--
+
+DROP TABLE IF EXISTS `VPE_POOL`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VPE_POOL` (
+  `vpe_name` varchar(20) NOT NULL,
+  `ipv4_oam_address` varchar(20) NOT NULL,
+  `loopback0_ipv4_address` varchar(20) NOT NULL,
+  `provisioning_status` varchar(10) NOT NULL,
+  `aic_site_id` varchar(100) NOT NULL,
+  `availability_zone` varchar(100) NOT NULL,
+  `vlan_id_outer` varchar(20) NOT NULL,
+  `vendor` varchar(20) NOT NULL,
+  `physical_intf_name` varchar(40) NOT NULL,
+  `physical_intf_speed` varchar(20) NOT NULL,
+  `physical_intf_units` varchar(20) NOT NULL,
+  `vpe_uuid` varchar(80) DEFAULT NULL,
+  `vpe_id` varchar(80) NOT NULL,
+  `image_filename` varchar(100) DEFAULT NULL,
+  `as_number` varchar(20) NOT NULL,
+  `loopback5000` varchar(16) DEFAULT NULL,
+  `loopback10` varchar(16) DEFAULT NULL,
+  PRIMARY KEY (`aic_site_id`,`vpe_name`,`availability_zone`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VPLSPE_POOL`
+--
+
+DROP TABLE IF EXISTS `VPLSPE_POOL`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VPLSPE_POOL` (
+  `vplspe_name` varchar(20) NOT NULL,
+  `aic_site_id` varchar(100) NOT NULL,
+  `availability_zone` varchar(100) NOT NULL,
+  `physical_intf_name` varchar(40) NOT NULL,
+  `physical_intf_speed` varchar(20) NOT NULL,
+  `physical_intf_units` varchar(20) NOT NULL,
+  `loopback0_ipv4_address` varchar(20) NOT NULL,
+  `vlan_id_outer` varchar(20) NOT NULL,
+  `vplspe_uuid` varchar(80) DEFAULT NULL,
+  `image_filename` varchar(100) DEFAULT NULL,
+  `provisioning_status` varchar(10) DEFAULT NULL,
+  `vendor` varchar(20) DEFAULT NULL,
+  PRIMARY KEY (`vplspe_name`,`aic_site_id`,`availability_zone`,`physical_intf_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VSERVER`
+--
+
+DROP TABLE IF EXISTS `VSERVER`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VSERVER` (
+  `tenant_id` varchar(40) NOT NULL,
+  `vserver_id` varchar(40) NOT NULL,
+  `aic_site_id` varchar(100) NOT NULL,
+  `vendor` varchar(20) NOT NULL,
+  `image_name` varchar(100) NOT NULL,
+  `vnf_type` varchar(10) NOT NULL,
+  `vnf_id` varchar(80) NOT NULL,
+  PRIMARY KEY (`tenant_id`,`vserver_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VSERVER2`
+--
+
+DROP TABLE IF EXISTS `VSERVER2`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VSERVER2` (
+  `tenant_id` varchar(255) NOT NULL,
+  `vserver_id` varchar(128) NOT NULL,
+  `vserver_name` varchar(255) NOT NULL,
+  `vserver_name2` varchar(255) DEFAULT NULL,
+  `prov_status` varchar(20) DEFAULT NULL,
+  `selflink` varchar(255) DEFAULT NULL,
+  PRIMARY KEY (`tenant_id`,`vserver_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `VSERVER_PSERVER`
+--
+
+DROP TABLE IF EXISTS `VSERVER_PSERVER`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `VSERVER_PSERVER` (
+  `vserver_id` varchar(128) NOT NULL,
+  `pserver_hostname` varchar(255) DEFAULT NULL,
+  PRIMARY KEY (`vserver_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `WAN_COMBO_ALLOWABLE`
+--
+
+DROP TABLE IF EXISTS `WAN_COMBO_ALLOWABLE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `WAN_COMBO_ALLOWABLE` (
+  `combo_sequence` int(11) NOT NULL AUTO_INCREMENT,
+  `internet_topology` varchar(20) DEFAULT NULL,
+  `wan1` varchar(40) DEFAULT NULL,
+  `wan2` varchar(40) DEFAULT NULL,
+  `new_start_release` char(5) DEFAULT NULL,
+  `description` varchar(128) NOT NULL,
+  PRIMARY KEY (`combo_sequence`),
+  UNIQUE KEY `IX1_WAN_COMBO_ALLOWABLE` (`internet_topology`,`wan1`,`wan2`)
+) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `emp1000`
+--
+
+DROP TABLE IF EXISTS `emp1000`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `emp1000` (
+  `firstName` varchar(20) DEFAULT NULL,
+  `lastName` varchar(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `linda`
+--
+
+DROP TABLE IF EXISTS `linda`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `linda` (
+  `c1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `testit`
+--
+
+DROP TABLE IF EXISTS `testit`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `testit` (
+  `c1` varchar(12) DEFAULT NULL,
+  `c2` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `testtable`
+--
+
+DROP TABLE IF EXISTS `testtable`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `testtable` (
+  `city_code_id` int(11) NOT NULL AUTO_INCREMENT,
+  `city_code` varchar(3) NOT NULL,
+  `city` varchar(150) NOT NULL,
+  `state` varchar(10) NOT NULL,
+  `country_code` varchar(10) NOT NULL,
+  PRIMARY KEY (`city_code_id`),
+  KEY `IN1_testtable` (`city`,`state`,`country_code`)
+) ENGINE=InnoDB AUTO_INCREMENT=37756 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2016-11-23 16:01:55
diff --git a/lighty/lighty-ubuntu-docker/src/main/resources/org.ops4j.pax.logging.cfg b/lighty/lighty-ubuntu-docker/src/main/resources/org.ops4j.pax.logging.cfg
new file mode 100644 (file)
index 0000000..ee35ef7
--- /dev/null
@@ -0,0 +1,92 @@
+################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You 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.
+#
+################################################################################
+
+# Common pattern layout for appenders
+log4j2.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %X{currentGraph} - %X{nodeId} | %m%n
+
+# Root logger
+log4j2.rootLogger.level = INFO
+# uncomment to use asynchronous loggers, which require mvn:com.lmax/disruptor/3.3.2 library
+#log4j2.rootLogger.type = asyncRoot
+#log4j2.rootLogger.includeLocation = false
+log4j2.rootLogger.appenderRef.RollingFile.ref = RollingFile
+log4j2.rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi
+log4j2.rootLogger.appenderRef.Console.ref = Console
+log4j2.rootLogger.appenderRef.Console.filter.threshold.type = ThresholdFilter
+log4j2.rootLogger.appenderRef.Console.filter.threshold.level = ${karaf.log.console:-OFF}
+
+# Loggers configuration
+
+# Spifly logger
+log4j2.logger.spifly.name = org.apache.aries.spifly
+log4j2.logger.spifly.level = WARN
+
+# Security audit logger
+log4j2.logger.audit.name = org.apache.karaf.jaas.modules.audit
+log4j2.logger.audit.level = INFO
+log4j2.logger.audit.additivity = false
+log4j2.logger.audit.appenderRef.AuditRollingFile.ref = AuditRollingFile
+
+# Appenders configuration
+
+# Console appender not used by default (see log4j2.rootLogger.appenderRefs)
+log4j2.appender.console.type = Console
+log4j2.appender.console.name = Console
+log4j2.appender.console.layout.type = PatternLayout
+log4j2.appender.console.layout.pattern = ${log4j2.pattern}
+
+# Rolling file appender
+log4j2.appender.rolling.type = RollingRandomAccessFile
+log4j2.appender.rolling.name = RollingFile
+log4j2.appender.rolling.fileName = ${karaf.data}/log/karaf.log
+log4j2.appender.rolling.filePattern = ${karaf.data}/log/karaf.log.%i
+# uncomment to not force a disk flush
+#log4j2.appender.rolling.immediateFlush = false
+log4j2.appender.rolling.append = true
+log4j2.appender.rolling.layout.type = PatternLayout
+log4j2.appender.rolling.layout.pattern = ${log4j2.pattern}
+log4j2.appender.rolling.policies.type = Policies
+log4j2.appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
+log4j2.appender.rolling.policies.size.size = 16MB
+
+# Audit file appender
+log4j2.appender.audit.type = RollingRandomAccessFile
+log4j2.appender.audit.name = AuditRollingFile
+log4j2.appender.audit.fileName = ${karaf.data}/security/audit.log
+log4j2.appender.audit.filePattern = ${karaf.data}/security/audit.log.%i
+log4j2.appender.audit.append = true
+log4j2.appender.audit.layout.type = PatternLayout
+log4j2.appender.audit.layout.pattern = ${log4j2.pattern}
+log4j2.appender.audit.policies.type = Policies
+log4j2.appender.audit.policies.size.type = SizeBasedTriggeringPolicy
+log4j2.appender.audit.policies.size.size = 8MB
+
+# OSGi appender
+log4j2.appender.osgi.type = PaxOsgi
+log4j2.appender.osgi.name = PaxOsgi
+log4j2.appender.osgi.filter = *
+
+
+# help with identification of maven-related problems with pax-url-aether
+#log4j2.logger.aether.name = shaded.org.eclipse.aether
+#log4j2.logger.aether.level = TRACE
+#log4j2.logger.http-headers.name = shaded.org.apache.http.headers
+#log4j2.logger.http-headers.level = DEBUG
+#log4j2.logger.maven.name = org.ops4j.pax.url.mvn
+#log4j2.logger.maven.level = TRACE
diff --git a/lighty/lighty-ubuntu-docker/src/main/scripts/installSdncDb.sh b/lighty/lighty-ubuntu-docker/src/main/scripts/installSdncDb.sh
new file mode 100644 (file)
index 0000000..efd7fe0
--- /dev/null
@@ -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=========================================================
+###
+
+CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk}
+MYSQL_PASSWD=${MYSQL_PASSWD:-openECOMP1.0}
+
+SDNC_DB_USER=${SDNC_DB_USER:-sdnctl}
+SDNC_DB_PASSWD=${SDNC_DB_PASSWD:-gamma}
+SDNC_DB_DATABASE=${SDN_DB_DATABASE:-sdnctl}
+
+
+# Create tablespace and user account
+mysql -h dbhost -u root -p${MYSQL_PASSWD} mysql <<-END
+CREATE DATABASE ${SDNC_DB_DATABASE};
+CREATE USER '${SDNC_DB_USER}'@'localhost' IDENTIFIED BY '${SDNC_DB_PASSWD}';
+CREATE USER '${SDNC_DB_USER}'@'%' IDENTIFIED BY '${SDNC_DB_PASSWD}';
+GRANT ALL PRIVILEGES ON ${SDNC_DB_DATABASE}.* TO '${SDNC_DB_USER}'@'localhost' WITH GRANT OPTION;
+GRANT ALL PRIVILEGES ON ${SDNC_DB_DATABASE}.* TO '${SDNC_DB_USER}'@'%' WITH GRANT OPTION;
+commit;
+END
+
+if [ -f ${CCSDK_HOME}/data/odlsli.dump ]
+then
+mysql -h dbhost -u root -p${MYSQL_PASSWD} sdnctl < ${CCSDK_HOME}/data/odlsli.dump
+fi
diff --git a/lighty/lighty-ubuntu-docker/src/main/scripts/startODL.sh b/lighty/lighty-ubuntu-docker/src/main/scripts/startODL.sh
new file mode 100644 (file)
index 0000000..d3e8b7c
--- /dev/null
@@ -0,0 +1,52 @@
+#!/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=========================================================
+###
+
+
+# Install SDN-C platform components if not already installed and start container
+
+ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
+CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk}
+SLEEP_TIME=${SLEEP_TIME:-120}
+MYSQL_PASSWD=${MYSQL_PASSWD:-openECOMP1.0}
+
+
+#
+# Wait for database
+#
+echo "Waiting for mysql"
+until mysql -h dbhost -u root -p${MYSQL_PASSWD} mysql &> /dev/null
+do
+  printf "."
+  sleep 1
+done
+echo -e "\nmysql ready"
+
+echo "Installing SDN-C database"
+${CCSDK_HOME}/bin/installSdncDb.sh
+if [ -x ${CCSDK_HOME}/svclogic/bin/install.sh ]
+then
+    echo "Installing directed graphs"
+    ${CCSDK_HOME}/svclogic/bin/install.sh
+fi
+
+exec java -jar opt/lighty/ccsdk-lighty-distribution-0.5.0-SNAPSHOT/ccsdk-lighty-distribution-0.5.0-SNAPSHOT.jar /opt/onap/ccsdk/data/properties/lightyCcsdkConfig.json
diff --git a/lighty/lighty-ubuntu-docker/src/main/stores/truststore.onap.client.jks b/lighty/lighty-ubuntu-docker/src/main/stores/truststore.onap.client.jks
new file mode 100755 (executable)
index 0000000..28afd8f
Binary files /dev/null and b/lighty/lighty-ubuntu-docker/src/main/stores/truststore.onap.client.jks differ
diff --git a/lighty/pom.xml b/lighty/pom.xml
new file mode 100644 (file)
index 0000000..ef79021
--- /dev/null
@@ -0,0 +1,22 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.onap.ccsdk.distribution</groupId>
+        <artifactId>distribution-root</artifactId>
+        <version>0.6.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>distribution-lighty</artifactId>
+    <packaging>pom</packaging>
+
+    <name>ccsdk-distribution :: lighty</name>
+    <description>Creates Lighty container</description>
+
+    <modules>
+        <module>ccsdk-lighty-module</module>
+        <module>ccsdk-lighty-distribution</module>
+        <module>lighty-ubuntu-docker</module>
+    </modules>
+</project>
diff --git a/pom.xml b/pom.xml
index b02e5d0..1c58eb5 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -22,6 +22,7 @@
         <module>alpine</module>
         <module>ubuntu</module>
         <module>opendaylight</module>
+        <module>lighty</module>
         <module>odlsli</module>
         <module>dgbuilder</module>
         <module>dgbuilder-docker</module>