aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore189
-rw-r--r--.gitreview4
-rw-r--r--LICENSE.txt22
-rw-r--r--README.md12
-rw-r--r--deploy.sh143
-rw-r--r--docker-compose.yml27
-rw-r--r--encryption.key1
-rw-r--r--json_updater.py65
-rw-r--r--volumes/mariadb/conf.d/mariadb1.cnf193
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/01-load-default-sql-files.sh25
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/02-load-additional-changes.sh24
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql37
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql75
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql85
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql73
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_create_camunda_admin.sql9
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_engine_7.3.0.sql748
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_identity_7.3.0.sql50
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_updates_7.3.0.sql11
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Catalog-schema.sql290
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Requests-schema.sql57
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/sub-sql-files/catalog_timestamp_mso_db.sql14
-rw-r--r--volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/sub-sql-files/site_status_updated_timestamp.sql1
-rw-r--r--volumes/mso/chef-config/aai.crt27
-rw-r--r--volumes/mso/chef-config/mso-docker.json199
25 files changed, 2381 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..55841f0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,189 @@
+
+# Created by https://www.gitignore.io/api/java,emacs,vim,eclipse,intellij,docker
+
+### Emacs ###
+# -*- mode: gitignore; -*-
+*~
+\#*\#
+/.emacs.desktop
+/.emacs.desktop.lock
+*.elc
+auto-save-list
+tramp
+.\#*
+
+# Org-mode
+.org-id-locations
+*_archive
+
+# flymake-mode
+*_flymake.*
+
+# eshell files
+/eshell/history
+/eshell/lastdir
+
+# elpa packages
+/elpa/
+
+# reftex files
+*.rel
+
+# AUCTeX auto folder
+/auto/
+
+# cask packages
+.cask/
+dist/
+
+# Flycheck
+flycheck_*.el
+
+# server auth directory
+/server/
+
+# projectiles files
+.projectile
+
+# directory configuration
+.dir-locals.el
+
+
+### Vim ###
+# swap
+[._]*.s[a-w][a-z]
+[._]s[a-w][a-z]
+# session
+Session.vim
+# temporary
+.netrwhist
+# auto-generated tag files
+tags
+
+
+### Eclipse ###
+
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+.recommenders
+
+# Eclipse Core
+.project
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
+.cproject
+
+# JDT-specific (Eclipse Java Development Tools)
+.classpath
+
+# Java annotation processor (APT)
+.factorypath
+
+# PDT-specific (PHP Development Tools)
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# Tern plugin
+.tern-project
+
+# TeXlipse plugin
+.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
+
+
+### Intellij ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff:
+.idea/workspace.xml
+.idea/tasks.xml
+
+# Sensitive or high-churn files:
+.idea/dataSources/
+.idea/dataSources.ids
+.idea/dataSources.xml
+.idea/dataSources.local.xml
+.idea/sqlDataSources.xml
+.idea/dynamic.xml
+.idea/uiDesigner.xml
+
+# Gradle:
+.idea/gradle.xml
+.idea/libraries
+
+# Mongo Explorer plugin:
+.idea/mongoSettings.xml
+
+## File-based project format:
+*.iws
+
+## Plugin-specific files:
+
+# IntelliJ
+/out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+### Intellij Patch ###
+# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
+
+# *.iml
+# modules.xml
+# .idea/misc.xml
+# *.ipr
+
+
+#!! ERROR: docker is undefined. Use list command to see defined gitignore types !!#
+
+### Java ###
+*.class
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.ear
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..0a110b7
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,4 @@
+[gerrit]
+host=gerrit.openecomp.org
+port=29418
+project=mso/docker-config.git
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..cf1d4b6
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,22 @@
+/*
+ * ============LICENSE_START==========================================
+ * ===================================================================
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ *
+ * ECOMP and OpenECOMP are trademarks
+ * and service marks of AT&T Intellectual Property.
+ *
+ */ \ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ba4929d
--- /dev/null
+++ b/README.md
@@ -0,0 +1,12 @@
+Orange POC Configuration
+========================
+
+This repository provides files to:
+* configure Docker (compose, etc.)
+* configure MariaDB and deploy scripts ot it
+* provide a Chef environment
+
+License and Authors
+-------------------
+Authors: pete/eddie/kevin
+License: Apache License, version 2.0 \ No newline at end of file
diff --git a/deploy.sh b/deploy.sh
new file mode 100644
index 0000000..4e61a3f
--- /dev/null
+++ b/deploy.sh
@@ -0,0 +1,143 @@
+#!/bin/bash
+# Deployment script for MSO lab
+# ===================================================
+# Available parameters :
+#
+# env DOCKER_HOST (optional)
+# | sets the docker host to be used if not local unix socket
+#
+# env MSO_CONFIG_UPDATES (optional)
+# | json structure that matches volumes/mso/chef-config/mso-docker.json
+# | elements whose value needs to be updated before the deployment
+# | phase.
+#
+# env MSO_DOCKER_IMAGE_VERSION
+# | json structure that matches volumes/mso/chef-config/mso-docker.json
+# | elements whose value needs to be updated before the deployment
+# | phase.
+################################### Functions definition ################################
+
+
+if [ "$#" -ne 6 ]; then
+ echo "Usage: deploy.sh <NEXUS_HOST_MSO:NEXUS_PORT_MSO> <NEXUS_LOGIN_MSO> <NEXUS_PASSWORD_MSO> <NEXUS_HOST_MARIADB:NEXUS_PORT_MARIADB> <NEXUS_LOGIN_MARIADB> <NEXUS_PASSWORD_MARIADB>
+ - env DOCKER_HOST (optional)
+ sets the docker host to be used if not local unix socket
+
+ - env MSO_DOCKER_IMAGE_VERSION (required)
+ sets the mso docker image version
+
+ - env MSO_CONFIG_UPDATES (optional)
+ json structure that matches volumes/mso/chef-config/mso-docker.json
+ elements whose value needs to be updated before the deployment
+ phase."
+
+ exit 1
+fi
+if [ -z "$MSO_DOCKER_IMAGE_VERSION" ]; then
+ echo "Env variable MSO_DOCKER_IMAGE_VERSION must be SET to a version before running this script"
+ exit 1
+fi
+
+NEXUS_DOCKER_REPO_MSO=$1
+NEXUS_USERNAME_MSO=$2
+NEXUS_PASSWD_MSO=$3
+NEXUS_DOCKER_REPO_MARIADB=$4
+NEXUS_USERNAME_MARIADB=$5
+NEXUS_PASSWD_MARIADB=$6
+
+
+
+function init_docker_command() {
+ if [ -z ${DOCKER_HOST+x} ];
+ then
+ DOCKER_CMD="docker"
+ LBL_DOCKER_HOST="local docker using unix socket"
+ else
+ DOCKER_CMD="docker -H ${DOCKER_HOST}"
+ LBL_DOCKER_HOST="(remote) docker using ${DOCKER_HOST}"
+ fi
+
+ if [ -f "/opt/docker/docker-compose" ];
+ then
+ DOCKER_COMPOSE_CMD="/opt/docker/docker-compose"
+ else
+ DOCKER_COMPOSE_CMD="docker-compose"
+ fi
+
+ echo "docker command: ${LBL_DOCKER_HOST}"
+}
+
+function container_name() {
+ SERVICE=$1
+ BASE=$(echo $(basename `pwd`) | sed "s/[^a-z0-9]//i" | tr [:upper:] [:lower:])
+ echo ${BASE}_${SERVICE}_1
+}
+
+function update_json_config() {
+ if [ -n "$MSO_CONFIG_UPDATES" ];
+ then
+ chmod u+x $SCRIPT_DIR/json_updater.py
+ echo $MSO_CONFIG_UPDATES | $SCRIPT_DIR/json_updater.py $SCRIPT_DIR/volumes/mso/chef-config/mso-docker.json
+ echo "MSO docker JSON updated"
+ fi
+
+}
+
+function pull_docker_images() {
+ echo "Using Nexus for MSO: $NEXUS_DOCKER_REPO_MSO (user "$NEXUS_USERNAME_MSO")"
+ # login to nexus
+ $DOCKER_CMD login -u $NEXUS_USERNAME_MSO -p $NEXUS_PASSWD_MSO $NEXUS_DOCKER_REPO_MSO
+ $DOCKER_CMD login -u $NEXUS_USERNAME_MARIADB -p $NEXUS_PASSWD_MARIADB $NEXUS_DOCKER_REPO_MARIADB
+
+ # get images
+ $DOCKER_CMD pull $NEXUS_DOCKER_REPO_MSO/ecomp/mso:$MSO_DOCKER_IMAGE_VERSION
+ $DOCKER_CMD tag $NEXUS_DOCKER_REPO_MSO/ecomp/mso:$MSO_DOCKER_IMAGE_VERSION ecomp/mso:latest
+ $DOCKER_CMD rmi $NEXUS_DOCKER_REPO_MSO/ecomp/mso:$MSO_DOCKER_IMAGE_VERSION
+
+ echo "Using Nexus for MARIADB: $NEXUS_DOCKER_REPO_MARIADB (user "$NEXUS_USERNAME_MARIADB")"
+ $DOCKER_CMD pull $NEXUS_DOCKER_REPO_MARIADB/mariadb:10.1.11
+ $DOCKER_CMD tag $NEXUS_DOCKER_REPO_MARIADB/mariadb:10.1.11 mariadb:10.1.11
+ $DOCKER_CMD rmi $NEXUS_DOCKER_REPO_MARIADB/mariadb:10.1.11
+
+}
+
+function wait_for_mariadb() {
+ CONTAINER_NAME=$1
+
+ TIMEOUT=120
+
+ # wait for the real startup
+ AMOUNT_STARTUP=$($DOCKER_CMD logs ${CONTAINER_NAME} 2>&1 | grep 'mysqld: ready for connections.' | wc -l)
+ while [[ ${AMOUNT_STARTUP} -lt 2 ]];
+ do
+ echo "Waiting for '$CONTAINER_NAME' deployment to finish ..."
+ AMOUNT_STARTUP=$($DOCKER_CMD logs ${CONTAINER_NAME} 2>&1 | grep 'mysqld: ready for connections.' | wc -l)
+ if [ "$TIMEOUT" = "0" ];
+ then
+ echo "ERROR: Mariadb deployment failed."
+ exit 1
+ fi
+ let TIMEOUT-=1
+ sleep 1
+ done
+}
+
+################################### Script entry - Starting CODE ################################
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+init_docker_command
+update_json_config
+pull_docker_images
+
+# don't remove the containers,no cleanup
+#$DOCKER_COMPOSE_CMD stop
+#$DOCKER_COMPOSE_CMD rm -f -v
+
+# deploy
+#Running docker-compose up -d starts the containers in the background and leaves them running.
+#If there are existing containers for a service, and the service’s configuration or image was changed after the container’s creation, docker-compose up picks up the changes by stopping and recreating the containers (preserving mounted volumes). To prevent Compose from picking up changes, use the --no-recreate flag.
+#If you want to force Compose to stop and recreate all containers, use the --force-recreate flag.
+$DOCKER_COMPOSE_CMD up -d --no-recreate mariadb
+CONTAINER_NAME=$(container_name mariadb)
+wait_for_mariadb $CONTAINER_NAME
+$DOCKER_COMPOSE_CMD up -d mso \ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..d176228
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,27 @@
+mariadb:
+ image: mariadb:10.1.11
+ ports:
+ - "3306"
+ volumes:
+ - ./volumes/mariadb/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
+ - ./volumes/mariadb/conf.d:/etc/mysql/conf.d
+ environment:
+ - MYSQL_ROOT_PASSWORD=password
+ hostname:
+ db.mso.testlab.openecomp.org
+
+mso:
+ image: ecomp/mso
+ ports:
+ - "3904:3904"
+ - "3905:3905"
+ - "8080:8080"
+ - "9990:9990"
+ volumes:
+ - ./volumes/mso/chef-config:/shared
+ links:
+ - mariadb:mariadb
+ environment:
+ - MYSQL_ROOT_PASSWORD=password
+ hostname:
+ mso.mso.testlab.openecomp.org \ No newline at end of file
diff --git a/encryption.key b/encryption.key
new file mode 100644
index 0000000..e9dd605
--- /dev/null
+++ b/encryption.key
@@ -0,0 +1 @@
+aa3871669d893c7fb8abbcda31b88b4f \ No newline at end of file
diff --git a/json_updater.py b/json_updater.py
new file mode 100644
index 0000000..17841fe
--- /dev/null
+++ b/json_updater.py
@@ -0,0 +1,65 @@
+#!/usr/bin/env python3
+import json
+import os
+import sys
+
+#chef_update_string = '{"default_attributes": {"asdc-connections": {"asdc-controller1": {"environmentName": "test"}}}}'
+#json_file_to_update="./volumes/mso/chef-config/mso-docker.json"
+
+def usage():
+ print('Usage:')
+ print(" echo <json> | %s <file> " % ( sys.argv[0], ))
+ print()
+ print("file\tpath of the valid json file to update")
+ print("json\ta json string containing the values to update in <file>")
+ print("")
+ print("Example : ")
+ print("""
+ echo '{"default_attributes": {"asdc-connections": {"asdc-controller1": {"environmentName": "test"}}}}' | %s ./volumes/mso/chef-config/mso-docker.json
+ """ % (sys.argv[0]))
+
+
+if len(sys.argv) < 2:
+ usage()
+ exit(1)
+
+if sys.argv[1] in ('--help','-h'):
+ usage()
+ exit(0)
+
+# get updates
+updates_json = sys.stdin.read()
+print(updates_json[81:])
+updates = json.loads(updates_json)
+
+# get file to update
+json_file_to_update = sys.argv[1]
+with open(json_file_to_update) as f:
+ to_update = json.load(f)
+
+# update config with updates
+def update(config, updates):
+ #assert isinstance(config, dict)
+ #assert isinstance(updates, dict)
+
+ # if key is a simple type, update it. Otherwise, update sub values
+
+
+ for update_key,update_value in updates.items():
+ if update_key not in config:
+ raise Exception('Incorrect parameter : %s' % (update_key,))
+ if isinstance(update_value, (int, str)):
+ config[update_key] = update_value
+ elif isinstance (update_value,list) and isinstance (config[update_key],list):
+ config[update_key] = update_value
+ else:
+ update(config[update_key], update_value)
+
+update(to_update, updates)
+
+# replace the file
+tmp_file = '%s.tmp' % (json_file_to_update,)
+with open(tmp_file, 'w') as f:
+ json.dump(to_update, f, sort_keys=True, indent=2)
+os.rename(tmp_file, json_file_to_update)
+
diff --git a/volumes/mariadb/conf.d/mariadb1.cnf b/volumes/mariadb/conf.d/mariadb1.cnf
new file mode 100644
index 0000000..39ed022
--- /dev/null
+++ b/volumes/mariadb/conf.d/mariadb1.cnf
@@ -0,0 +1,193 @@
+# Example MySQL config file for medium systems.
+#
+# This is for a system with memory 8G where MySQL plays
+# an important part, or systems up to 128M where MySQL is used together with
+# other programs (such as a web server)
+#
+# In this file, you can use all long options that a program supports.
+# If you want to know which options a program supports, run the program
+# with the "--help" option.
+
+# The following options will be passed to all MySQL clients
+##[client]
+##user = root
+##port = 3306
+##socket = //opt/app/mysql/mysql.sock
+
+# Here follows entries for some specific programs
+
+# The MySQL server
+[mysqld]
+##performance_schema
+
+slow_query_log =ON
+long_query_time =2
+slow_query_log_file =//var/lib/mysql/slow_query.log
+
+skip-external-locking
+explicit_defaults_for_timestamp = true
+skip-symbolic-links
+local-infile = 0
+key_buffer_size = 16M
+max_allowed_packet = 4M
+table_open_cache = 100
+sort_buffer_size = 512K
+net_buffer_length = 8K
+read_buffer_size = 256K
+read_rnd_buffer_size = 512K
+myisam_sort_buffer_size = 8M
+max_connections = 500
+lower_case_table_names = 1
+thread_stack = 256K
+thread_cache_size = 25
+query_cache_size = 8M
+query_cache_type = 0
+query_prealloc_size = 512K
+query_cache_limit = 1M
+
+# Password validation
+##plugin-load-add=simple_password_check.so
+##simple_password_check_other_characters=0
+
+# Audit Log settings
+plugin-load-add=server_audit.so
+server_audit=FORCE_PLUS_PERMANENT
+server_audit_file_path=//var/lib/mysql/audit.log
+server_audit_file_rotate_size=50M
+server_audit_events=CONNECT,QUERY,TABLE
+server_audit_logging=on
+
+# Don't listen on a TCP/IP port at all. This can be a security enhancement,
+# if all processes that need to connect to mysqld run on the same host.
+# All interaction with mysqld must be made via Unix sockets or named pipes.
+# Note that using this option without enabling named pipes on Windows
+# (via the "enable-named-pipe" option) will render mysqld useless!
+#
+#skip-networking
+
+# Replication Master Server (default)
+# binary logging is required for replication
+##log-bin=//var/lib/mysql/mysql-bin
+
+# binary logging format - mixed recommended
+binlog_format=row
+
+# required unique id between 1 and 2^32 - 1
+# defaults to 1 if master-host is not set
+# but will not function as a master if omitted
+
+# Replication Slave (comment out master section to use this)
+#
+# To configure this host as a replication slave, you can choose between
+# two methods :
+#
+# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
+# the syntax is:
+#
+# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
+# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
+#
+# where you replace <host>, <user>, <password> by quoted strings and
+# <port> by the master's port number (3306 by default).
+#
+# Example:
+#
+# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
+# MASTER_USER='joe', MASTER_PASSWORD='secret';
+#
+# OR
+#
+# 2) Set the variables below. However, in case you choose this method, then
+# start replication for the first time (even unsuccessfully, for example
+# if you mistyped the password in master-password and the slave fails to
+# connect), the slave will create a master.info file, and any later
+# change in this file to the variables' values below will be ignored and
+# overridden by the content of the master.info file, unless you shutdown
+# the slave server, delete master.info and restart the slaver server.
+# For that reason, you may want to leave the lines below untouched
+# (commented) and instead use CHANGE MASTER TO (see above)
+#
+# required unique id between 2 and 2^32 - 1
+# (and different from the master)
+# defaults to 2 if master-host is set
+# but will not function as a slave if omitted
+#server-id = 2
+#
+# The replication master for this slave - required
+#master-host = <hostname>
+#
+# The username the slave will use for authentication when connecting
+# to the master - required
+#master-user = <username>
+#
+# The password the slave will authenticate with when connecting to
+# the master - required
+#master-password = <password>
+#
+# The port the master is listening on.
+# optional - defaults to 3306
+#master-port = <port>
+#
+# binary logging - not required for slaves, but recommended
+#log-bin=mysql-bin
+
+# Uncomment the following if you are using InnoDB tables
+##innodb_data_home_dir = //opt/app/mysql/data
+##innodb_data_file_path = ibdata1:20M:autoextend:max:32G
+##innodb_log_group_home_dir = //opt/app/mysql/iblogs
+# You can set .._buffer_pool_size up to 50 - 80 %
+# of RAM but beware of setting memory usage too high
+#innodb_buffer_pool_size = 6380M
+#innodb_additional_mem_pool_size = 2M
+# Set .._log_file_size to 25 % of buffer pool size
+innodb_log_file_size = 150M
+innodb_log_files_in_group = 3
+innodb_log_buffer_size = 8M
+#innodb_flush_log_at_trx_commit = 1
+innodb_lock_wait_timeout = 50
+innodb_autoextend_increment = 100
+expire_logs_days = 8
+open_files_limit = 2000
+transaction-isolation=READ-COMMITTED
+####### Galera parameters #######
+## Galera Provider configuration
+wsrep_provider=/usr/lib/galera/libgalera_smm.so
+wsrep_provider_options="gcache.size=2G; gcache.page_size=1G"
+## Galera Cluster configuration
+wsrep_cluster_name="MSO-automated-tests-cluster"
+wsrep_cluster_address="gcomm://"
+#wsrep_cluster_address="gcomm://mariadb1,mariadb2,mariadb3"
+##wsrep_cluster_address="gcomm://192.169.3.184,192.169.3.185,192.169.3.186"
+## Galera Synchronization configuration
+wsrep_sst_method=rsync
+#wsrep_sst_method=xtrabackup-v2
+#wsrep_sst_auth="sstuser:Mon#2o!6"
+## Galera Node configuration
+wsrep_node_name="mariadb1"
+##wsrep_node_address="192.169.3.184"
+wsrep_on=ON
+## Status notification
+#wsrep_notify_cmd=/opt/app/mysql/bin/wsrep_notify
+#######
+
+
+[mysqldump]
+quick
+max_allowed_packet = 16M
+
+[mysql]
+no-auto-rehash
+# Remove the next comment character if you are not familiar with SQL
+#safe-updates
+
+[myisamchk]
+key_buffer_size = 20971520
+
+##[mysqlhotcopy]
+##interactive-timeout
+##[mysqld_safe]
+##malloc-lib=//opt/app/mysql/local/lib/libjemalloc.so.1
+##log-error=//opt/app/mysql/log/mysqld.log
+
+general_log_file = /var/log/mysql/mysql.log
+general_log = 1
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/01-load-default-sql-files.sh b/volumes/mariadb/docker-entrypoint-initdb.d/01-load-default-sql-files.sh
new file mode 100644
index 0000000..326f273
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/01-load-default-sql-files.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END============================================
+#
+# ECOMP and OpenECOMP are trademarks
+# and service marks of AT&T Intellectual Property.
+#
+#
+cd /docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw
+mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < create_mso_db-demo-vfw.sql \ No newline at end of file
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/02-load-additional-changes.sh b/volumes/mariadb/docker-entrypoint-initdb.d/02-load-additional-changes.sh
new file mode 100644
index 0000000..c018ca0
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/02-load-additional-changes.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END============================================
+#
+# ECOMP and OpenECOMP are trademarks
+# and service marks of AT&T Intellectual Property.
+#
+#
+mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "UPDATE heat_environment SET ENVIRONMENT='parameters:\n vfw_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vfw_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n unprotected_private_net_id: zdfw1fwl01_unprotected\n protected_private_net_id: zdfw1fwl01_protected\n ecomp_private_net_id: oam_ecomp\n unprotected_private_net_cidr: 192.168.10.0/24\n protected_private_net_cidr: 192.168.20.0/24\n ecomp_private_net_cidr: 192.168.9.0/24\n vfw_private_ip_0: 192.168.10.100\n vfw_private_ip_1: 192.168.20.100\n vfw_private_ip_2: 192.168.9.100\n vpg_private_ip_0: 192.168.10.200\n vpg_private_ip_1: 192.168.9.200\n vsn_private_ip_0: 192.168.20.250\n vsn_private_ip_1: 192.168.9.250\n vfw_name_0: zdfw1fwl01fwl01\n vpg_name_0: zdfw1fwl01pgn01\n vsn_name_0: zdfw1fwl01snk01\n vnf_id: vFirewall_demo_app\n vf_module_id: vFirewall\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vfw_key\n pub_key: INSERT YOUR PUBLIC KEY HERE' where id=5;" mso_catalog \ No newline at end of file
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql
new file mode 100644
index 0000000..d7ceb3d
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql
@@ -0,0 +1,37 @@
+SOURCE ../default/create_mso_db-default.sql
+
+USE `mso_requests`;
+DROP USER 'mso';
+CREATE USER 'mso';
+GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION;
+FLUSH PRIVILEGES;
+
+USE `mso_catalog`;
+DROP USER 'catalog';
+CREATE USER 'catalog';
+GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION;
+FLUSH PRIVILEGES;
+
+LOCK TABLES `NETWORK_RESOURCE` WRITE;
+/*!40000 ALTER TABLE `NETWORK_RESOURCE` DISABLE KEYS */;
+/*!40000 ALTER TABLE `NETWORK_RESOURCE` ENABLE KEYS */;
+insert into NETWORK_RESOURCE (id, NETWORK_TYPE, VERSION_STR, ORCHESTRATION_MODE ,DESCRIPTION, TEMPLATE_ID, NEUTRON_NETWORK_TYPE) values
+(1, "vlan",'1',"NEUTRON","Cool network",1,"BASIC");
+UNLOCK TABLES;
+
+LOCK TABLES `NETWORK_RECIPE` WRITE;
+/*!40000 ALTER TABLE `NETWORK_RECIPE` DISABLE KEYS */;
+INSERT INTO `NETWORK_RECIPE`(`NETWORK_TYPE`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES
+('vlan','CREATE','1',NULL,'/active-bpel/services/REST/CreateNetwork',NULL,180,NULL),
+('vlan','DELETE','1',NULL,'/active-bpel/services/REST/DeleteNetwork',NULL,180,NULL);
+/*!40000 ALTER TABLE `NETWORK_RECIPE` ENABLE KEYS */;
+UNLOCK TABLES;
+
+INSERT INTO `VNF_RECIPE`(`ID`, `VNF_TYPE`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES
+(100,'VPE','CREATE','1','','/active-bpel/services/REST/CreateGenericVNF','',180,'SDN-ETHERNET-INTERNET'),
+(101,'VPE','DELETE','1','','/active-bpel/services/REST/DeleteGenericVNF','',180,'SDN-ETHERNET-INTERNET');
+
+DELETE FROM VNF_RESOURCE;
+DELETE FROM HEAT_TEMPLATE_PARAMS;
+DELETE FROM HEAT_TEMPLATE;
+DELETE FROM HEAT_ENVIRONMENT;
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql
new file mode 100644
index 0000000..e612ad1
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql
@@ -0,0 +1,75 @@
+SOURCE ../../camunda/mysql_engine_7.3.0.sql
+SOURCE ../../camunda/mysql_identity_7.3.0.sql
+SOURCE ../../camunda/mysql_updates_7.3.0.sql
+
+--
+-- Create an admin user automatically for the cockpit
+--
+SOURCE ../../camunda/mysql_create_camunda_admin.sql
+
+--
+-- Current Database: `mso_requests`
+--
+
+DROP DATABASE IF EXISTS `mso_requests`;
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mso_requests` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `mso_requests`;
+
+SOURCE ../../main-schemas/MySQL-Requests-schema.sql
+SOURCE ../../sub-sql-files/site_status_updated_timestamp.sql
+
+
+--
+-- Current Database: `mso_catalog`
+--
+
+DROP DATABASE IF EXISTS `mso_catalog`;
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mso_catalog` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `mso_catalog`;
+
+SOURCE ../../main-schemas/MySQL-Catalog-schema.sql
+SOURCE ../../sub-sql-files/catalog_timestamp_mso_db.sql
+
+LOCK TABLES `VNF_RECIPE` WRITE;
+/*!40000 ALTER TABLE `VNF_RECIPE` DISABLE KEYS */;
+INSERT INTO `VNF_RECIPE`(`ID`, `VNF_TYPE`, `VF_MODULE_ID`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES
+(1,'*',NULL,'CREATE','1','Recipe Match All for VNFs if no custom flow exists','/mso/workflow/services/CreateGenericVNFV1',NULL,180,NULL),
+(2,'*',NULL,'DELETE','1','Recipe Match All for VNFs if no custom flow exists','/mso/async/services//deleteGenericVNFV1',NULL,180,NULL),
+(3,'*',NULL,'UPDATE','1','Recipe Match All for VNFs if no custom flow exists','/mso/workflow/services/updateGenericVNFV1',NULL,180,NULL),
+(4,NULL,'*','CREATE_VF_MODULE','1','Recipe Match All for VNFs if no custom flow exists','/mso/async/services/CreateVfModule',NULL,180,NULL),
+(5,NULL,'*','DELETE_VF_MODULE','1','Recipe Match All for VNFs if no custom flow exists','/mso/async/services/DeleteVfModule',NULL,180,NULL),
+(6,NULL,'*','UPDATE_VF_MODULE','1','Recipe Match All for VNFs if no custom flow exists','/mso/async/services/UpdateVfModule',NULL,180,NULL);
+/*!40000 ALTER TABLE `VNF_RECIPE` ENABLE KEYS */;
+UNLOCK TABLES;
+
+LOCK TABLES `VNF_COMPONENTS_RECIPE` WRITE;
+/*!40000 ALTER TABLE `VNF_COMPONENTS_RECIPE` DISABLE KEYS */;
+INSERT INTO `VNF_COMPONENTS_RECIPE`
+(`ID`, `VNF_TYPE`, `VF_MODULE_ID`, `ACTION`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`,`VNF_COMPONENT_TYPE`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES
+(1,'*',NULL,'CREATE','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/createCinderVolumeV1','VOLUME_GROUP',NULL,180,NULL),
+(2,'*',NULL,'DELETE','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/deleteCinderVolumeV1','VOLUME_GROUP',NULL,180,NULL),
+(3,'*',NULL,'UPDATE','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/updateCinderVolumeV1','VOLUME_GROUP',NULL,180,NULL),
+(4,NULL,'*','CREATE_VF_MODULE_VOL','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/CreateVfModuleVolume','VOLUME_GROUP',NULL,180,NULL),
+(5,NULL,'*','DELETE_VF_MODULE_VOL','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/DeleteVfModuleVolume','VOLUME_GROUP',NULL,180,NULL),
+(6,NULL,'*','UPDATE_VF_MODULE_VOL','1','Recipe Match All for VF Modules if no custom flow exists','/mso/async/services/UpdateVfModuleVolume','VOLUME_GROUP',NULL,180,NULL);
+/*!40000 ALTER TABLE `VNF_COMPONENTS_RECIPE` ENABLE KEYS */;
+UNLOCK TABLES;
+
+INSERT INTO service (id, SERVICE_NAME, VERSION_STR, DESCRIPTION) VALUES ('4', 'VID_DEFAULT', '1.0', 'Default service for VID to use for infra APIH orchestration');
+INSERT INTO service_recipe (SERVICE_ID, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('4', 'createInstance', '1', 'VID_DEFAULT recipe to create service-instance if no custom BPMN flow is found', '/mso/async/services/CreateServiceInstanceInfra', '180');
+INSERT INTO service_recipe (SERVICE_ID, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('4', 'deleteInstance', '1', 'VID_DEFAULT recipe to delete service-instance if no custom BPMN flow is found', '/mso/async/services/DeleteServiceInstanceInfra', '180');
+INSERT INTO vnf_recipe (VNF_TYPE, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('VID_DEFAULT', 'createInstance', '1', 'VID_DEFAULT recipe to create VNF if no custom BPMN flow is found', '/mso/async/services/CreateVnfInfra', '180');
+INSERT INTO vnf_recipe (VNF_TYPE, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('VID_DEFAULT', 'deleteInstance', '1', 'VID_DEFAULT recipe to delete VNF if no custom BPMN flow is found', '/mso/async/services/DeleteVnfInfra', '180');
+INSERT INTO vnf_components_recipe (VNF_TYPE, VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES (NULL, 'volumeGroup', 'createInstance', '1', 'VID_DEFAULT recipe to create volume-group if no custom BPMN flow is found', '/mso/async/service/CreateVfModuleVolumeInfraV1', '180', 'VID_DEFAULT');
+INSERT INTO vnf_components_recipe (VNF_TYPE, VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES (NULL, 'volumeGroup', 'deleteInstance', '1', 'VID_DEFAULT recipe to delete volume-group if no custom BPMN flow is found', '/mso/async/service/DeleteVfModuleVolumeInfraV1', '180', 'VID_DEFAULT');
+INSERT INTO vnf_components_recipe (VNF_TYPE, VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES (NULL, 'volumeGroup', 'updateInstance', '1', 'VID_DEFAULT recipe to update volume-group if no custom BPMN flow is found', '/mso/async/service/UpdateVfModuleVolumeInfraV1', '180', 'VID_DEFAULT');
+INSERT INTO vnf_components_recipe (VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES ('vfModule', 'createInstance', '1', 'VID_DEFAULT recipe to create vf-module if no custom BPMN flow is found', '/mso/async/services/CreateVfModuleInfra', '180', 'VID_DEFAULT');
+INSERT INTO vnf_components_recipe (VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES ('vfModule', 'deleteInstance', '1', 'VID_DEFAULT recipe to delete vf-module if no custom BPMN flow is found', '/mso/async/services/DeleteVfModuleInfra', '180', 'VID_DEFAULT');
+INSERT INTO vnf_components_recipe (VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT, VF_MODULE_ID) VALUES ('vfModule', 'updateInstance', '1', 'VID_DEFAULT recipe to update vf-module if no custom BPMN flow is found', '/mso/async/services/UpdateVfModuleInfra', '180', 'VID_DEFAULT');
+INSERT INTO network_recipe (NETWORK_TYPE, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('VID_DEFAULT', 'createInstance', '1.0', 'VID_DEFAULT recipe to create network if no custom BPMN flow is found', '/mso/async/services/CreateNetworkInstanceInfra', '180');
+INSERT INTO network_recipe (NETWORK_TYPE, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('VID_DEFAULT', 'updateInstance', '1.0', 'VID_DEFAULT recipe to update network if no custom BPMN flow is found', '/mso/async/services/UpdateNetworkInstanceInfra', '180');
+INSERT INTO network_recipe (NETWORK_TYPE, ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, RECIPE_TIMEOUT) VALUES ('VID_DEFAULT', 'deleteInstance', '1.0', 'VID_DEFAULT recipe to delete network if no custom BPMN flow is found', '/mso/async/services/DeleteNetworkInstanceInfra', '180'); \ No newline at end of file
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql
new file mode 100644
index 0000000..9ddc9ff
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql
@@ -0,0 +1,85 @@
+SOURCE ../default/create_mso_db-default.sql
+
+USE `mso_requests`;
+DROP USER 'mso';
+CREATE USER 'mso';
+GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION;
+FLUSH PRIVILEGES;
+
+USE `mso_catalog`;
+DROP USER 'catalog';
+CREATE USER 'catalog';
+GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION;
+FLUSH PRIVILEGES;
+
+LOCK TABLES `heat_environment` WRITE;
+/*!40000 ALTER TABLE `heat_environment` DISABLE KEYS */;
+INSERT INTO `heat_environment` VALUES (3,'base_vlb.env','1.0','dns-service/DNSResource-1','BASE VLB ENV file','parameters:\n vlb_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vlb_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n vlb_private_net_id: zdfw1lb01_private\n ecomp_private_net_id: oam_ecomp\n vlb_private_net_cidr: 192.168.10.0/24\n ecomp_private_net_cidr: 192.168.9.0/24\n vlb_private_ip_0: 192.168.10.111\n vlb_private_ip_1: 192.168.9.111\n vdns_private_ip_0: 192.168.10.211\n vdns_private_ip_1: 192.168.9.211\n vlb_name_0: zdfw1lb01lb01\n vdns_name_0: zdfw1lb01dns01\n vnf_id: vLoadBalancer_demo_app\n vf_module_id: vLoadBalancer\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vlb_key\n pub_key: INSERT YOUR PUBLIC KEY HERE','2016-11-14 13:04:07','EnvArtifact-UUID1','Label');
+INSERT INTO `heat_environment` VALUES (4,'dnsscaling.env','1.0','dns-service/DNSResource-1','DNS Scaling ENV file','parameters:\n vlb_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vlb_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n vlb_private_net_id: zdfw1lb01_private\n ecomp_private_net_id: oam_ecomp\n vlb_private_ip_0: 192.168.10.111\n vlb_private_ip_1: 192.168.9.111\n vdns_private_ip_0: 192.168.10.222\n vdns_private_ip_1: 192.168.9.222\n vdns_name_0: zdfw1lb01dns02\n vnf_id: vLoadBalancer_demo_app\n vf_module_id: vLoadBalancer\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vlb_key\n pub_key: INSERT YOUR PUBLIC KEY HERE','2016-11-14 13:04:07','EnvArtifact-UUID2','Label');
+/*!40000 ALTER TABLE `heat_environment` ENABLE KEYS */;
+UNLOCK TABLES;
+
+LOCK TABLES `heat_template` WRITE;
+/*!40000 ALTER TABLE `heat_template` DISABLE KEYS */;
+INSERT INTO `heat_template` VALUES (6,'base_vlb.yaml','1.0','DNSResource','base_vlb.yaml','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vLoadBalancer/vDNS demo app for OpenECOMP\n\nparameters:\n vlb_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vlb_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n vlb_private_net_id:\n type: string\n label: vLoadBalancer private network name or ID\n description: Private network that connects vLoadBalancer with vDNSs\n ecomp_private_net_id:\n type: string\n label: ECOMP management network name or ID\n description: Private network that connects ECOMP component and the VNF\n vlb_private_net_cidr:\n type: string\n label: vLoadBalancer private network CIDR\n description: The CIDR of the vLoadBalancer private network\n ecomp_private_net_cidr:\n type: string\n label: ECOMP private network CIDR\n description: The CIDR of the protected private network\n vlb_private_ip_0:\n type: string\n label: vLoadBalancer private IP address towards the private network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs\n vlb_private_ip_1:\n type: string\n label: vLoadBalancer private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components\n vdns_private_ip_0:\n type: string\n label: vDNS private IP address towards the private network\n description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer\n vdns_private_ip_1:\n type: string\n label: vDNS private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vDNS to communicate with ECOMP components\n vlb_name_0:\n type: string\n label: vLoadBalancer name\n description: Name of the vLoadBalancer\n vdns_name_0:\n type: string\n label: vDNS name\n description: Name of the vDNS\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ECOMP\n vf_module_id:\n type: string\n label: vFirewall module ID\n description: The vLoadBalancer Module ID is provided by ECOMP\n webserver_ip:\n type: string\n label: Webserver IP address\n description: IP address of the webserver that hosts the source code and binaries\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n\nresources:\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name: { get_param: key_name }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n vlb_private_network:\n type: OS::Neutron::Net\n properties:\n name: { get_param: vlb_private_net_id }\n\n vlb_private_subnet:\n type: OS::Neutron::Subnet\n properties:\n name: { get_param: vlb_private_net_id }\n network_id: { get_resource: vlb_private_network }\n cidr: { get_param: vlb_private_net_cidr }\n\n vlb_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vlb_image_name }\n flavor: { get_param: vlb_flavor_name }\n name: { get_param: vlb_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vlb_private_0_port }\n - port: { get_resource: vlb_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __dcae_collector_ip__: { get_param: dcae_collector_ip }\n __local_private_ipaddr__: { get_param: vlb_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n DCAE_COLLECTOR_IP=__dcae_collector_ip__\n LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_lb_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vlb.sh\n chmod +x v_lb_init.sh\n chmod +x vlb.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt\n echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n echo "no" > config/install.txt\n LOCAL_PUBLIC_IPADDR=$(ifconfig eth0 | grep "inet addr" | tr -s \' \' | cut -d\' \' -f3 | cut -d\':\' -f2)\n echo $LOCAL_PUBLIC_IPADDR > config/local_public_ipaddr.txt\n mv vlb.sh /etc/init.d\n update-rc.d vlb.sh defaults\n ./v_lb_init.sh\n\n vlb_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: vlb_private_network }\n fixed_ips: [{"subnet": { get_resource: vlb_private_subnet }, "ip_address": { get_param: vlb_private_ip_0 }}]\n\n vlb_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vlb_private_ip_1 }}]\n\n vdns_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vlb_image_name }\n flavor: { get_param: vlb_flavor_name }\n name: { get_param: vdns_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vdns_private_0_port }\n - port: { get_resource: vdns_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __lb_oam_int__ : { get_param: vlb_private_ip_1 }\n __lb_private_ipaddr__: { get_param: vlb_private_ip_0 }\n __local_private_ipaddr__: { get_param: vdns_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n LB_OAM_INT=__lb_oam_int__\n LB_PRIVATE_IPADDR=__lb_private_ipaddr__\n LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_dns_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vdns.sh\n chmod +x v_dns_init.sh\n chmod +x vdns.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $LB_OAM_INT > config/lb_oam_int.txt\n echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt\n echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n echo "no" > config/install.txt\n mv vdns.sh /etc/init.d\n update-rc.d vdns.sh defaults\n ./v_dns_init.sh\n\n vdns_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: vlb_private_network }\n fixed_ips: [{"subnet": { get_resource: vlb_private_subnet }, "ip_address": { get_param: vdns_private_ip_0 }}]\n\n vdns_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vdns_private_ip_1 }}]\n',300,'Artifact-UUID1','Base VLB Heat','label','2016-11-14 13:04:07',NULL);
+INSERT INTO `heat_template` VALUES (7,'dnsscaling.yaml','1.0','DNSResource','dnsscaling.yaml','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy a vDNS for OpenECOMP (scaling-up scenario)\n\nparameters:\n vlb_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vlb_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n vlb_private_net_id:\n type: string\n label: vLoadBalancer private network name or ID\n description: Private network that connects vLoadBalancer with vDNSs\n ecomp_private_net_id:\n type: string\n label: ECOMP management network name or ID\n description: Private network that connects ECOMP component and the VNF\n vlb_private_ip_0:\n type: string\n label: vLoadBalancer private IP address towards the private network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs\n vlb_private_ip_1:\n type: string\n label: vLoadBalancer private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components\n vdns_private_ip_0:\n type: string\n label: vDNS private IP address towards the private network\n description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer\n vdns_private_ip_1:\n type: string\n label: vDNS private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vDNS to communicate with ECOMP components\n vdns_name_0:\n type: string\n label: vDNS name\n description: Name of the vDNS\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ECOMP\n vf_module_id:\n type: string\n label: vFirewall module ID\n description: The vLoadBalancer Module ID is provided by ECOMP\n webserver_ip:\n type: string\n label: Webserver IP address\n description: IP address of the webserver that hosts the source code and binaries\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n\nresources:\n vdns_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vlb_image_name }\n flavor: { get_param: vlb_flavor_name }\n name: { get_param: vdns_name_0 }\n key_name: { get_param: key_name }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vdns_private_0_port }\n - port: { get_resource: vdns_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __lb_oam_int__ : { get_param: vlb_private_ip_1 }\n __lb_private_ipaddr__: { get_param: vlb_private_ip_0 }\n __local_private_ipaddr__: { get_param: vdns_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n LB_OAM_INT=__lb_oam_int__\n LB_PRIVATE_IPADDR=__lb_private_ipaddr__\n LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_dns_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vdns.sh\n chmod +x v_dns_init.sh\n chmod +x vdns.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $LB_OAM_INT > config/lb_oam_int.txt\n echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt\n echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n echo "no" > config/install.txt\n mv vdns.sh /etc/init.d\n update-rc.d vdns.sh defaults\n ./v_dns_init.sh\n\n vdns_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: vlb_private_net_id }\n fixed_ips: [{"subnet": { get_param: vlb_private_net_id }, "ip_address": { get_param: vdns_private_ip_0 }}]\n\n vdns_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vdns_private_ip_1 }}]\n',300,'Artifact-UUID2','DNS Scaling Heat','label','2016-11-14 13:04:07',NULL);
+/*!40000 ALTER TABLE `heat_template` ENABLE KEYS */;
+UNLOCK TABLES;
+
+LOCK TABLES `heat_template_params` WRITE;
+/*!40000 ALTER TABLE `heat_template_params` DISABLE KEYS */;
+INSERT INTO `heat_template_params` VALUES (110,6,'vlb_flavor_name','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (111,6,'vlb_private_ip_1','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (112,6,'dcae_collector_ip','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (113,6,'vlb_private_net_cidr','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (114,6,'ecomp_private_net_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (115,6,'vnf_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (116,6,'key_name','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (117,6,'pub_key','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (118,6,'vlb_private_net_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (119,6,'webserver_ip','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (120,6,'vdns_private_ip_1','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (121,6,'public_net_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (122,6,'vlb_private_ip_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (123,6,'vlb_name_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (124,6,'vdns_private_ip_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (125,6,'vdsn_name_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (126,6,'ecomp_private_net_cidr','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (127,6,'vf_module_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (128,6,'vlb_image_name','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (129,7,'vnf_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (130,7,'vf_module_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (131,7,'vlb_flavor_name','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (132,7,'vlb_image_name','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (133,7,'vdns_private_ip_1','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (134,7,'dcae_collector_ip','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (135,7,'webserver_ip','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (136,7,'vlb_private_net_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (137,7,'vdns_private_ip_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (138,7,'vdsn_name_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (139,7,'vlb_private_ip_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (140,7,'pub_key','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (141,7,'public_net_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (142,7,'key_name','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (143,7,'ecomp_private_net_id','\1','string',NULL);
+/*!40000 ALTER TABLE `heat_template_params` ENABLE KEYS */;
+UNLOCK TABLES;
+
+LOCK TABLES `service` WRITE;
+/*!40000 ALTER TABLE `service` DISABLE KEYS */;
+INSERT INTO `service` VALUES (10,'dns-service','1.0','dns service for unit test','1e34774e-715e-4fd6-bd09-7b654622f35i',NULL,NULL,'2016-11-14 13:04:07','585822c8-4027-4f84-ba50-e9248606f111');
+/*!40000 ALTER TABLE `service` ENABLE KEYS */;
+UNLOCK TABLES;
+
+LOCK TABLES `vf_module` WRITE;
+/*!40000 ALTER TABLE `vf_module` DISABLE KEYS */;
+INSERT INTO `vf_module` VALUES (7,'dns-service/DNSResource-1::VF_RI1_DNS::module-1','1.0','VF_RI1_DNS::module-1','1.0','1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-1::module-1.group',NULL,6,1,'2016-11-14 13:04:07',NULL,NULL,6,3,'585822c7-4027-4f84-ba50-e9248606f132');
+INSERT INTO `vf_module` VALUES (8,'dns-service/DNSResource-1::VF_RI1_DNS::module-2','1.0','VF_RI1_DNS::module-2','1.0','1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-2::module-1.group',NULL,7,0,'2016-11-14 13:04:07',NULL,NULL,6,4,'585822c7-4027-4f84-ba50-e9248606f133');
+/*!40000 ALTER TABLE `vf_module` ENABLE KEYS */;
+UNLOCK TABLES;
+
+LOCK TABLES `vnf_resource` WRITE;
+/*!40000 ALTER TABLE `vnf_resource` DISABLE KEYS */;
+INSERT INTO `vnf_resource` VALUES (6,'dns-service/DNSResource-1','1.0','HEAT','dns service for unit test',NULL,NULL,'2016-11-14 13:04:07','585822c7-4027-4f84-ba50-e9248606f131',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f112','1.0','DNSResource-1','DNSResource','585822c8-4027-4f84-ba50-e9248606f111');
+/*!40000 ALTER TABLE `vnf_resource` ENABLE KEYS */;
+UNLOCK TABLES; \ No newline at end of file
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql
new file mode 100644
index 0000000..e61abae
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql
@@ -0,0 +1,73 @@
+SOURCE ../default/create_mso_db-default.sql
+
+USE `mso_requests`;
+DROP USER 'mso';
+CREATE USER 'mso';
+GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION;
+FLUSH PRIVILEGES;
+
+USE `mso_catalog`;
+DROP USER 'catalog';
+CREATE USER 'catalog';
+GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION;
+FLUSH PRIVILEGES;
+
+LOCK TABLES `heat_environment` WRITE;
+/*!40000 ALTER TABLE `heat_environment` DISABLE KEYS */;
+INSERT INTO `heat_environment` VALUES (5,'base_vfw.env','1.0','vfw-service/VFWResource-1','base_vfw ENV file','parameters:\n vfw_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vfw_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n unprotected_private_net_id: zdfw1fwl01_unprotected\n protected_private_net_id: zdfw1fwl01_protected\n ecomp_private_net_id: oam_ecomp\n unprotected_private_net_cidr: 192.168.10.0/24\n protected_private_net_cidr: 192.168.20.0/24\n ecomp_private_net_cidr: 192.168.9.0/24\n vfw_private_ip_0: 192.168.10.100\n vfw_private_ip_1: 192.168.20.100\n vfw_private_ip_2: 192.168.9.100\n vpg_private_ip_0: 192.168.10.200\n vpg_private_ip_1: 192.168.9.200\n vsn_private_ip_0: 192.168.20.250\n vsn_private_ip_1: 192.168.9.250\n vfw_name_0: zdfw1fwl01fwl01\n vpg_name_0: zdfw1fwl01pgn01\n vsn_name_0: zdfw1fwl01snk01\n vnf_id: vFirewall_demo_app\n vf_module_id: vFirewall\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vfw_key\n pub_key: INSERT YOUR PUBLIC KEY HERE','2016-11-14 13:04:07','EnvArtifact-UUID3','Label');
+/*!40000 ALTER TABLE `heat_environment` ENABLE KEYS */;
+UNLOCK TABLES;
+
+LOCK TABLES `heat_template` WRITE;
+/*!40000 ALTER TABLE `heat_template` DISABLE KEYS */;
+INSERT INTO `heat_template` VALUES (8,'base_vfw.yaml','1.0','VFWResource','base_vfw.yaml','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vFirewall demo app for OpenECOMP\n\nparameters:\n vfw_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vfw_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n unprotected_private_net_id:\n type: string\n label: Unprotected private network name or ID\n description: Private network that connects vPacketGenerator with vFirewall\n protected_private_net_id:\n type: string\n label: Protected private network name or ID\n description: Private network that connects vFirewall with vSink\n ecomp_private_net_id:\n type: string\n label: ECOMP management network name or ID\n description: Private network that connects ECOMP component and the VNF\n unprotected_private_net_cidr:\n type: string\n label: Unprotected private network CIDR\n description: The CIDR of the unprotected private network\n protected_private_net_cidr:\n type: string\n label: Protected private network CIDR\n description: The CIDR of the protected private network\n ecomp_private_net_cidr:\n type: string\n label: ECOMP private network CIDR\n description: The CIDR of the protected private network\n vfw_private_ip_0:\n type: string\n label: vFirewall private IP address towards the unprotected network\n description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator\n vfw_private_ip_1:\n type: string\n label: vFirewall private IP address towards the protected network\n description: Private IP address that is assigned to the vFirewall to communicate with the vSink\n vfw_private_ip_2:\n type: string\n label: vFirewall private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vFirewall to communicate with ECOMP components\n vpg_private_ip_0:\n type: string\n label: vPacketGenerator private IP address towards the unprotected network\n description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall\n vpg_private_ip_1:\n type: string\n label: vPacketGenerator private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vPacketGenerator to communicate with ECOMP components\n vsn_private_ip_0:\n type: string\n label: vSink private IP address towards the protected network\n description: Private IP address that is assigned to the vSink to communicate with the vFirewall\n vsn_private_ip_1:\n type: string\n label: vSink private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vSink to communicate with ECOMP components\n vfw_name_0:\n type: string\n label: vFirewall name\n description: Name of the vFirewall\n vpg_name_0:\n type: string\n label: vPacketGenerator name\n description: Name of the vPacketGenerator\n vsn_name_0:\n type: string\n label: vSink name\n description: Name of the vSink\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ECOMP\n vf_module_id:\n type: string\n label: vFirewall module ID\n description: The vFirewall Module ID is provided by ECOMP\n webserver_ip:\n type: string\n label: Webserver IP address\n description: IP address of the webserver that hosts the source code and binaries\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n\nresources:\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name: { get_param: key_name }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n unprotected_private_network:\n type: OS::Neutron::Net\n properties:\n name: { get_param: unprotected_private_net_id }\n\n protected_private_network:\n type: OS::Neutron::Net\n properties:\n name: { get_param: protected_private_net_id }\n\n unprotected_private_subnet:\n type: OS::Neutron::Subnet\n properties:\n network_id: { get_resource: unprotected_private_network }\n cidr: { get_param: unprotected_private_net_cidr }\n\n protected_private_subnet:\n type: OS::Neutron::Subnet\n properties:\n network_id: { get_resource: protected_private_network }\n cidr: { get_param: protected_private_net_cidr }\n\n vfw_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vfw_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vfw_private_0_port }\n - port: { get_resource: vfw_private_1_port }\n - port: { get_resource: vfw_private_2_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __dcae_collector_ip__ : { get_param: dcae_collector_ip }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n DCAE_COLLECTOR_IP=__dcae_collector_ip__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_firewall_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vfirewall.sh\n chmod +x v_firewall_init.sh\n chmod +x vfirewall.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt\n echo "no" > config/install.txt\n mv vfirewall.sh /etc/init.d\n sudo update-rc.d vfirewall.sh defaults\n ./v_firewall_init.sh\n\n vfw_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: unprotected_private_network }\n fixed_ips: [{"subnet": { get_resource: unprotected_private_subnet }, "ip_address": { get_param: vfw_private_ip_0 }}]\n\n vfw_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: protected_private_network }\n fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vfw_private_ip_1 }}]\n\n vfw_private_2_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vfw_private_ip_2 }}]\n\n vpg_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vpg_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vpg_private_0_port }\n - port: { get_resource: vpg_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __fw_ipaddr__: { get_param: vfw_private_ip_0 }\n __protected_net_cidr__: { get_param: protected_private_net_cidr }\n __sink_ipaddr__: { get_param: vsn_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n FW_IPADDR=__fw_ipaddr__\n PROTECTED_NET_CIDR=__protected_net_cidr__\n SINK_IPADDR=__sink_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_packetgen_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vpacketgen.sh\n chmod +x v_packetgen_init.sh\n chmod +x vpacketgen.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $FW_IPADDR > config/fw_ipaddr.txt\n echo $PROTECTED_NET_CIDR > config/protected_net_cidr.txt\n echo $SINK_IPADDR > config/sink_ipaddr.txt\n echo "no" > config/install.txt\n mv vpacketgen.sh /etc/init.d\n sudo update-rc.d vpacketgen.sh defaults\n ./v_packetgen_init.sh\n\n vpg_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: unprotected_private_network }\n fixed_ips: [{"subnet": { get_resource: unprotected_private_subnet }, "ip_address": { get_param: vpg_private_ip_0 }}]\n\n vpg_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vpg_private_ip_1 }}]\n\n vsn_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vsn_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vsn_private_0_port }\n - port: { get_resource: vsn_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __protected_net_gw__: { get_param: vfw_private_ip_1 }\n __unprotected_net__: { get_param: unprotected_private_net_cidr }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n PROTECTED_NET_GW=__protected_net_gw__\n UNPROTECTED_NET=__unprotected_net__\n UNPROTECTED_NET=$(echo $UNPROTECTED_NET | cut -d\'/\' -f1)\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_sink_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vsink.sh\n chmod +x v_sink_init.sh\n chmod +x vsink.sh\n echo $PROTECTED_NET_GW > config/protected_net_gw.txt\n echo $UNPROTECTED_NET > config/unprotected_net.txt\n echo "no" > config/install.txt\n mv vsink.sh /etc/init.d\n sudo update-rc.d vsink.sh defaults\n ./v_sink_init.sh\n\n vsn_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: protected_private_network }\n fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vsn_private_ip_0 }}]\n\n vsn_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{"subnet": { get_param: ecomp_private_net_id }, "ip_address": { get_param: vsn_private_ip_1 }}]\n \n',300,'Artifact-UUID3','Base VFW Heat','label','2016-11-14 13:04:07',NULL);
+/*!40000 ALTER TABLE `heat_template` ENABLE KEYS */;
+UNLOCK TABLES;
+
+LOCK TABLES `heat_template_params` WRITE;
+/*!40000 ALTER TABLE `heat_template_params` DISABLE KEYS */;
+INSERT INTO `heat_template_params` VALUES (144,8,'vsn_private_ip_1','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (145,8,'ecomp_private_net_cidr','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (146,8,'public_net_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (147,8,'unprotected_private_net_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (148,8,'webserver_ip','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (149,8,'vfw_image_name','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (150,8,'vnf_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (151,8,'dcae_collector_ip','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (152,8,'protected_private_net_cidr','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (153,8,'vsn_private_ip_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (154,8,'vfw_private_ip_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (155,8,'vfw_private_ip_1','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (156,8,'vfw_private_ip_2','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (157,8,'unprotected_private_net_cidr','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (158,8,'vsn_name_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (159,8,'ecomp_private_net_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (160,8,'vpg_private_ip_1','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (161,8,'vpg_name_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (162,8,'vf_module_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (163,8,'pub_key','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (164,8,'protected_private_net_id','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (165,8,'key_name','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (166,8,'vfw_flavor_name','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (167,8,'vpg_private_ip_0','\1','string',NULL);
+INSERT INTO `heat_template_params` VALUES (168,8,'vfw_name_0','\1','string',NULL);
+/*!40000 ALTER TABLE `heat_template_params` ENABLE KEYS */;
+UNLOCK TABLES;
+
+LOCK TABLES `service` WRITE;
+/*!40000 ALTER TABLE `service` DISABLE KEYS */;
+INSERT INTO `service` VALUES (11,'vfw-service','1.0','VFW service','2e34774e-715e-4fd5-bd09-7b654622f35i',NULL,NULL,'2016-11-14 13:04:07','585822c7-4027-4f84-ba50-e9248606f112');
+/*!40000 ALTER TABLE `service` ENABLE KEYS */;
+UNLOCK TABLES;
+
+LOCK TABLES `vf_module` WRITE;
+/*!40000 ALTER TABLE `vf_module` DISABLE KEYS */;
+INSERT INTO `vf_module` VALUES (9,'vfw-service/VFWResource-1::VF_RI1_VFW::module-1','1.0','VF_RI1_VFW::module-1','1.0','1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group',NULL,8,1,'2016-11-14 13:04:07',NULL,NULL,7,5,'585822c7-4027-4f84-ba50-e9248606f134');
+/*!40000 ALTER TABLE `vf_module` ENABLE KEYS */;
+UNLOCK TABLES;
+
+LOCK TABLES `vnf_resource` WRITE;
+/*!40000 ALTER TABLE `vnf_resource` DISABLE KEYS */;
+INSERT INTO `vnf_resource` VALUES (7,'vfw-service/VFWResource-1','1.0','HEAT','VFW service',NULL,NULL,'2016-11-14 13:04:07','685822c7-4027-4f84-ba50-e9248606f132',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f113','1.0','VFWResource-1','VFWResource','585822c7-4027-4f84-ba50-e9248606f112');
+/*!40000 ALTER TABLE `vnf_resource` ENABLE KEYS */;
+UNLOCK TABLES; \ No newline at end of file
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_create_camunda_admin.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_create_camunda_admin.sql
new file mode 100644
index 0000000..3beeaf1
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_create_camunda_admin.sql
@@ -0,0 +1,9 @@
+USE camundabpmn;
+
+INSERT INTO `act_id_user` VALUES ('admin',1,'admin','user','camundaadmin@openecomp.org','{SHA}Y7MVubSDgzJeaulJRLN2dFyNCyc=',NULL);
+
+INSERT INTO `act_id_group` VALUES ('camunda-admin',1,'camunda BPM Administrators','SYSTEM');
+
+INSERT INTO `act_id_membership` VALUES ('admin','camunda-admin');
+
+INSERT INTO `act_ru_authorization` VALUES ('4ca68335-b7c5-11e6-b411-0242ac110003',1,1,NULL,'admin',1,'admin',2147483647),('4ca91b46-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,2,'camunda-admin',2),('4cab3e27-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,0,'*',2147483647),('4cadd638-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,1,'*',2147483647),('4caf0eb9-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,2,'*',2147483647),('4caff91a-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,3,'*',2147483647),('4cb10a8b-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,4,'*',2147483647),('4cb2430c-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,5,'*',2147483647),('4cb32d6d-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,6,'*',2147483647),('4cb43ede-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,7,'*',2147483647),('4cb5293f-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,8,'*',2147483647),('4cb5ec90-b7c5-11e6-b411-0242ac110003',1,1,'camunda-admin',NULL,9,'*',2147483647);
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_engine_7.3.0.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_engine_7.3.0.sql
new file mode 100644
index 0000000..c25acf1
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_engine_7.3.0.sql
@@ -0,0 +1,748 @@
+# Start of Statements added for MSO
+DROP DATABASE IF EXISTS `camundabpmn`;
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `camundabpmn` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `camundabpmn`;
+
+# DROP USER IF EXISTS 'camunda';
+delete from mysql.user where User='camunda';
+CREATE USER 'camunda';
+GRANT ALL on camundabpmn.* to 'camunda' identified by 'camunda123' with GRANT OPTION;
+FLUSH PRIVILEGES;
+# End of Statements added for MSO
+
+create table ACT_GE_PROPERTY (
+ NAME_ varchar(64),
+ VALUE_ varchar(300),
+ REV_ integer,
+ primary key (NAME_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+insert into ACT_GE_PROPERTY
+values ('schema.version', 'fox', 1);
+
+insert into ACT_GE_PROPERTY
+values ('schema.history', 'create(fox)', 1);
+
+insert into ACT_GE_PROPERTY
+values ('next.dbid', '1', 1);
+
+insert into ACT_GE_PROPERTY
+values ('deployment.lock', '0', 1);
+
+create table ACT_GE_BYTEARRAY (
+ ID_ varchar(64),
+ REV_ integer,
+ NAME_ varchar(255),
+ DEPLOYMENT_ID_ varchar(64),
+ BYTES_ LONGBLOB,
+ GENERATED_ TINYINT,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RE_DEPLOYMENT (
+ ID_ varchar(64),
+ NAME_ varchar(255),
+ DEPLOY_TIME_ timestamp,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RU_EXECUTION (
+ ID_ varchar(64),
+ REV_ integer,
+ PROC_INST_ID_ varchar(64),
+ BUSINESS_KEY_ varchar(255),
+ PARENT_ID_ varchar(64),
+ PROC_DEF_ID_ varchar(64),
+ SUPER_EXEC_ varchar(64),
+ SUPER_CASE_EXEC_ varchar(64),
+ CASE_INST_ID_ varchar(64),
+ ACT_ID_ varchar(255),
+ ACT_INST_ID_ varchar(64),
+ IS_ACTIVE_ TINYINT,
+ IS_CONCURRENT_ TINYINT,
+ IS_SCOPE_ TINYINT,
+ IS_EVENT_SCOPE_ TINYINT,
+ SUSPENSION_STATE_ integer,
+ CACHED_ENT_STATE_ integer,
+ SEQUENCE_COUNTER_ bigint,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RU_JOB (
+ ID_ varchar(64) NOT NULL,
+ REV_ integer,
+ TYPE_ varchar(255) NOT NULL,
+ LOCK_EXP_TIME_ timestamp NULL,
+ LOCK_OWNER_ varchar(255),
+ EXCLUSIVE_ boolean,
+ EXECUTION_ID_ varchar(64),
+ PROCESS_INSTANCE_ID_ varchar(64),
+ PROCESS_DEF_ID_ varchar(64),
+ PROCESS_DEF_KEY_ varchar(64),
+ RETRIES_ integer,
+ EXCEPTION_STACK_ID_ varchar(64),
+ EXCEPTION_MSG_ varchar(4000),
+ DUEDATE_ timestamp NULL,
+ REPEAT_ varchar(255),
+ HANDLER_TYPE_ varchar(255),
+ HANDLER_CFG_ varchar(4000),
+ DEPLOYMENT_ID_ varchar(64),
+ SUSPENSION_STATE_ integer,
+ JOB_DEF_ID_ varchar(64),
+ SEQUENCE_COUNTER_ bigint,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RU_JOBDEF (
+ ID_ varchar(64) NOT NULL,
+ REV_ integer,
+ PROC_DEF_ID_ varchar(64) NOT NULL,
+ PROC_DEF_KEY_ varchar(255) NOT NULL,
+ ACT_ID_ varchar(255) NOT NULL,
+ JOB_TYPE_ varchar(255) NOT NULL,
+ JOB_CONFIGURATION_ varchar(255),
+ SUSPENSION_STATE_ integer,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RE_PROCDEF (
+ ID_ varchar(64) not null,
+ REV_ integer,
+ CATEGORY_ varchar(255),
+ NAME_ varchar(255),
+ KEY_ varchar(255) not null,
+ VERSION_ integer not null,
+ DEPLOYMENT_ID_ varchar(64),
+ RESOURCE_NAME_ varchar(4000),
+ DGRM_RESOURCE_NAME_ varchar(4000),
+ HAS_START_FORM_KEY_ TINYINT,
+ SUSPENSION_STATE_ integer,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RU_TASK (
+ ID_ varchar(64),
+ REV_ integer,
+ EXECUTION_ID_ varchar(64),
+ PROC_INST_ID_ varchar(64),
+ PROC_DEF_ID_ varchar(64),
+ CASE_EXECUTION_ID_ varchar(64),
+ CASE_INST_ID_ varchar(64),
+ CASE_DEF_ID_ varchar(64),
+ NAME_ varchar(255),
+ PARENT_TASK_ID_ varchar(64),
+ DESCRIPTION_ varchar(4000),
+ TASK_DEF_KEY_ varchar(255),
+ OWNER_ varchar(255),
+ ASSIGNEE_ varchar(255),
+ DELEGATION_ varchar(64),
+ PRIORITY_ integer,
+ CREATE_TIME_ timestamp,
+ DUE_DATE_ datetime,
+ FOLLOW_UP_DATE_ datetime,
+ SUSPENSION_STATE_ integer,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RU_IDENTITYLINK (
+ ID_ varchar(64),
+ REV_ integer,
+ GROUP_ID_ varchar(255),
+ TYPE_ varchar(255),
+ USER_ID_ varchar(255),
+ TASK_ID_ varchar(64),
+ PROC_DEF_ID_ varchar(64),
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RU_VARIABLE (
+ ID_ varchar(64) not null,
+ REV_ integer,
+ TYPE_ varchar(255) not null,
+ NAME_ varchar(255) not null,
+ EXECUTION_ID_ varchar(64),
+ PROC_INST_ID_ varchar(64),
+ CASE_EXECUTION_ID_ varchar(64),
+ CASE_INST_ID_ varchar(64),
+ TASK_ID_ varchar(64),
+ BYTEARRAY_ID_ varchar(64),
+ DOUBLE_ double,
+ LONG_ bigint,
+ TEXT_ varchar(4000),
+ TEXT2_ varchar(4000),
+ VAR_SCOPE_ varchar(64) not null,
+ SEQUENCE_COUNTER_ bigint,
+ IS_CONCURRENT_LOCAL_ TINYINT,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RU_EVENT_SUBSCR (
+ ID_ varchar(64) not null,
+ REV_ integer,
+ EVENT_TYPE_ varchar(255) not null,
+ EVENT_NAME_ varchar(255),
+ EXECUTION_ID_ varchar(64),
+ PROC_INST_ID_ varchar(64),
+ ACTIVITY_ID_ varchar(64),
+ CONFIGURATION_ varchar(255),
+ CREATED_ timestamp not null,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RU_INCIDENT (
+ ID_ varchar(64) not null,
+ REV_ integer not null,
+ INCIDENT_TIMESTAMP_ timestamp not null,
+ INCIDENT_MSG_ varchar(4000),
+ INCIDENT_TYPE_ varchar(255) not null,
+ EXECUTION_ID_ varchar(64),
+ ACTIVITY_ID_ varchar(255),
+ PROC_INST_ID_ varchar(64),
+ PROC_DEF_ID_ varchar(64),
+ CAUSE_INCIDENT_ID_ varchar(64),
+ ROOT_CAUSE_INCIDENT_ID_ varchar(64),
+ CONFIGURATION_ varchar(255),
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RU_AUTHORIZATION (
+ ID_ varchar(64) not null,
+ REV_ integer not null,
+ TYPE_ integer not null,
+ GROUP_ID_ varchar(255),
+ USER_ID_ varchar(255),
+ RESOURCE_TYPE_ integer not null,
+ RESOURCE_ID_ varchar(64),
+ PERMS_ integer,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RU_FILTER (
+ ID_ varchar(64) not null,
+ REV_ integer not null,
+ RESOURCE_TYPE_ varchar(255) not null,
+ NAME_ varchar(255) not null,
+ OWNER_ varchar(255),
+ QUERY_ LONGTEXT not null,
+ PROPERTIES_ LONGTEXT,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_RU_METER_LOG (
+ ID_ varchar(64) not null,
+ NAME_ varchar(64) not null,
+ VALUE_ bigint,
+ TIMESTAMP_ timestamp not null,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
+create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
+create index ACT_IDX_TASK_ASSIGNEE on ACT_RU_TASK(ASSIGNEE_);
+create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
+create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
+create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
+create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
+create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
+create index ACT_IDX_INC_CONFIGURATION on ACT_RU_INCIDENT(CONFIGURATION_);
+create index ACT_IDX_JOB_PROCINST on ACT_RU_JOB(PROCESS_INSTANCE_ID_);
+create index ACT_IDX_METER_LOG on ACT_RU_METER_LOG(NAME_,TIMESTAMP_);
+
+alter table ACT_GE_BYTEARRAY
+ add constraint ACT_FK_BYTEARR_DEPL
+ foreign key (DEPLOYMENT_ID_)
+ references ACT_RE_DEPLOYMENT (ID_);
+
+alter table ACT_RE_PROCDEF
+ add constraint ACT_UNIQ_PROCDEF
+ unique (KEY_,VERSION_);
+
+alter table ACT_RU_EXECUTION
+ add constraint ACT_FK_EXE_PROCINST
+ foreign key (PROC_INST_ID_)
+ references ACT_RU_EXECUTION (ID_) on delete cascade on update cascade;
+
+alter table ACT_RU_EXECUTION
+ add constraint ACT_FK_EXE_PARENT
+ foreign key (PARENT_ID_)
+ references ACT_RU_EXECUTION (ID_);
+
+alter table ACT_RU_EXECUTION
+ add constraint ACT_FK_EXE_SUPER
+ foreign key (SUPER_EXEC_)
+ references ACT_RU_EXECUTION (ID_);
+
+alter table ACT_RU_EXECUTION
+ add constraint ACT_FK_EXE_PROCDEF
+ foreign key (PROC_DEF_ID_)
+ references ACT_RE_PROCDEF (ID_);
+
+alter table ACT_RU_IDENTITYLINK
+ add constraint ACT_FK_TSKASS_TASK
+ foreign key (TASK_ID_)
+ references ACT_RU_TASK (ID_);
+
+alter table ACT_RU_IDENTITYLINK
+ add constraint ACT_FK_ATHRZ_PROCEDEF
+ foreign key (PROC_DEF_ID_)
+ references ACT_RE_PROCDEF(ID_);
+
+alter table ACT_RU_TASK
+ add constraint ACT_FK_TASK_EXE
+ foreign key (EXECUTION_ID_)
+ references ACT_RU_EXECUTION (ID_);
+
+alter table ACT_RU_TASK
+ add constraint ACT_FK_TASK_PROCINST
+ foreign key (PROC_INST_ID_)
+ references ACT_RU_EXECUTION (ID_);
+
+alter table ACT_RU_TASK
+ add constraint ACT_FK_TASK_PROCDEF
+ foreign key (PROC_DEF_ID_)
+ references ACT_RE_PROCDEF (ID_);
+
+alter table ACT_RU_VARIABLE
+ add constraint ACT_FK_VAR_EXE
+ foreign key (EXECUTION_ID_)
+ references ACT_RU_EXECUTION (ID_);
+
+alter table ACT_RU_VARIABLE
+ add constraint ACT_FK_VAR_PROCINST
+ foreign key (PROC_INST_ID_)
+ references ACT_RU_EXECUTION(ID_);
+
+alter table ACT_RU_VARIABLE
+ add constraint ACT_FK_VAR_BYTEARRAY
+ foreign key (BYTEARRAY_ID_)
+ references ACT_GE_BYTEARRAY (ID_);
+
+alter table ACT_RU_JOB
+ add constraint ACT_FK_JOB_EXCEPTION
+ foreign key (EXCEPTION_STACK_ID_)
+ references ACT_GE_BYTEARRAY (ID_);
+
+alter table ACT_RU_EVENT_SUBSCR
+ add constraint ACT_FK_EVENT_EXEC
+ foreign key (EXECUTION_ID_)
+ references ACT_RU_EXECUTION(ID_);
+
+alter table ACT_RU_INCIDENT
+ add constraint ACT_FK_INC_EXE
+ foreign key (EXECUTION_ID_)
+ references ACT_RU_EXECUTION (ID_);
+
+alter table ACT_RU_INCIDENT
+ add constraint ACT_FK_INC_PROCINST
+ foreign key (PROC_INST_ID_)
+ references ACT_RU_EXECUTION (ID_);
+
+alter table ACT_RU_INCIDENT
+ add constraint ACT_FK_INC_PROCDEF
+ foreign key (PROC_DEF_ID_)
+ references ACT_RE_PROCDEF (ID_);
+
+alter table ACT_RU_INCIDENT
+ add constraint ACT_FK_INC_CAUSE
+ foreign key (CAUSE_INCIDENT_ID_)
+ references ACT_RU_INCIDENT (ID_) on delete cascade on update cascade;
+
+alter table ACT_RU_INCIDENT
+ add constraint ACT_FK_INC_RCAUSE
+ foreign key (ROOT_CAUSE_INCIDENT_ID_)
+ references ACT_RU_INCIDENT (ID_) on delete cascade on update cascade;
+
+alter table ACT_RU_AUTHORIZATION
+ add constraint ACT_UNIQ_AUTH_USER
+ unique (USER_ID_,TYPE_,RESOURCE_TYPE_,RESOURCE_ID_);
+
+alter table ACT_RU_AUTHORIZATION
+ add constraint ACT_UNIQ_AUTH_GROUP
+ unique (GROUP_ID_,TYPE_,RESOURCE_TYPE_,RESOURCE_ID_);
+
+alter table ACT_RU_VARIABLE
+ add constraint ACT_UNIQ_VARIABLE
+ unique (VAR_SCOPE_, NAME_);
+
+-- indexes for deadlock problems - https://app.camunda.com/jira/browse/CAM-2567 --
+create index ACT_IDX_INC_CAUSEINCID on ACT_RU_INCIDENT(CAUSE_INCIDENT_ID_);
+create index ACT_IDX_INC_EXID on ACT_RU_INCIDENT(EXECUTION_ID_);
+create index ACT_IDX_INC_PROCDEFID on ACT_RU_INCIDENT(PROC_DEF_ID_);
+create index ACT_IDX_INC_PROCINSTID on ACT_RU_INCIDENT(PROC_INST_ID_);
+create index ACT_IDX_INC_ROOTCAUSEINCID on ACT_RU_INCIDENT(ROOT_CAUSE_INCIDENT_ID_);
+-- create case definition table --
+create table ACT_RE_CASE_DEF (
+ ID_ varchar(64) not null,
+ REV_ integer,
+ CATEGORY_ varchar(255),
+ NAME_ varchar(255),
+ KEY_ varchar(255) not null,
+ VERSION_ integer not null,
+ DEPLOYMENT_ID_ varchar(64),
+ RESOURCE_NAME_ varchar(4000),
+ DGRM_RESOURCE_NAME_ varchar(4000),
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+-- create case execution table --
+create table ACT_RU_CASE_EXECUTION (
+ ID_ varchar(64) NOT NULL,
+ REV_ integer,
+ CASE_INST_ID_ varchar(64),
+ SUPER_CASE_EXEC_ varchar(64),
+ SUPER_EXEC_ varchar(64),
+ BUSINESS_KEY_ varchar(255),
+ PARENT_ID_ varchar(64),
+ CASE_DEF_ID_ varchar(64),
+ ACT_ID_ varchar(255),
+ PREV_STATE_ integer,
+ CURRENT_STATE_ integer,
+ REQUIRED_ boolean,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+-- create case sentry part table --
+
+create table ACT_RU_CASE_SENTRY_PART (
+ ID_ varchar(64) NOT NULL,
+ REV_ integer,
+ CASE_INST_ID_ varchar(64),
+ CASE_EXEC_ID_ varchar(64),
+ SENTRY_ID_ varchar(255),
+ TYPE_ varchar(255),
+ SOURCE_CASE_EXEC_ID_ varchar(64),
+ STANDARD_EVENT_ varchar(255),
+ SATISFIED_ boolean,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+-- create unique constraint on ACT_RE_CASE_DEF --
+alter table ACT_RE_CASE_DEF
+ add constraint ACT_UNIQ_CASE_DEF
+ unique (KEY_,VERSION_);
+
+-- create index on business key --
+create index ACT_IDX_CASE_EXEC_BUSKEY on ACT_RU_CASE_EXECUTION(BUSINESS_KEY_);
+
+-- create foreign key constraints on ACT_RU_CASE_EXECUTION --
+alter table ACT_RU_CASE_EXECUTION
+ add constraint ACT_FK_CASE_EXE_CASE_INST
+ foreign key (CASE_INST_ID_)
+ references ACT_RU_CASE_EXECUTION(ID_) on delete cascade on update cascade;
+
+alter table ACT_RU_CASE_EXECUTION
+ add constraint ACT_FK_CASE_EXE_PARENT
+ foreign key (PARENT_ID_)
+ references ACT_RU_CASE_EXECUTION(ID_);
+
+alter table ACT_RU_CASE_EXECUTION
+ add constraint ACT_FK_CASE_EXE_CASE_DEF
+ foreign key (CASE_DEF_ID_)
+ references ACT_RE_CASE_DEF(ID_);
+
+-- create foreign key constraints on ACT_RU_VARIABLE --
+alter table ACT_RU_VARIABLE
+ add constraint ACT_FK_VAR_CASE_EXE
+ foreign key (CASE_EXECUTION_ID_)
+ references ACT_RU_CASE_EXECUTION(ID_);
+
+alter table ACT_RU_VARIABLE
+ add constraint ACT_FK_VAR_CASE_INST
+ foreign key (CASE_INST_ID_)
+ references ACT_RU_CASE_EXECUTION(ID_);
+
+-- create foreign key constraints on ACT_RU_TASK --
+alter table ACT_RU_TASK
+ add constraint ACT_FK_TASK_CASE_EXE
+ foreign key (CASE_EXECUTION_ID_)
+ references ACT_RU_CASE_EXECUTION(ID_);
+
+alter table ACT_RU_TASK
+ add constraint ACT_FK_TASK_CASE_DEF
+ foreign key (CASE_DEF_ID_)
+ references ACT_RE_CASE_DEF(ID_);
+
+-- create foreign key constraints on ACT_RU_CASE_SENTRY_PART --
+alter table ACT_RU_CASE_SENTRY_PART
+ add constraint ACT_FK_CASE_SENTRY_CASE_INST
+ foreign key (CASE_INST_ID_)
+ references ACT_RU_CASE_EXECUTION(ID_);
+
+alter table ACT_RU_CASE_SENTRY_PART
+ add constraint ACT_FK_CASE_SENTRY_CASE_EXEC
+ foreign key (CASE_EXEC_ID_)
+ references ACT_RU_CASE_EXECUTION(ID_);
+create table ACT_HI_PROCINST (
+ ID_ varchar(64) not null,
+ PROC_INST_ID_ varchar(64) not null,
+ BUSINESS_KEY_ varchar(255),
+ PROC_DEF_KEY_ varchar(255),
+ PROC_DEF_ID_ varchar(64) not null,
+ START_TIME_ datetime not null,
+ END_TIME_ datetime,
+ DURATION_ bigint,
+ START_USER_ID_ varchar(255),
+ START_ACT_ID_ varchar(255),
+ END_ACT_ID_ varchar(255),
+ SUPER_PROCESS_INSTANCE_ID_ varchar(64),
+ SUPER_CASE_INSTANCE_ID_ varchar(64),
+ CASE_INST_ID_ varchar(64),
+ DELETE_REASON_ varchar(4000),
+ primary key (ID_),
+ unique (PROC_INST_ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_HI_ACTINST (
+ ID_ varchar(64) not null,
+ PARENT_ACT_INST_ID_ varchar(64),
+ PROC_DEF_KEY_ varchar(255),
+ PROC_DEF_ID_ varchar(64) not null,
+ PROC_INST_ID_ varchar(64) not null,
+ EXECUTION_ID_ varchar(64) not null,
+ ACT_ID_ varchar(255) not null,
+ TASK_ID_ varchar(64),
+ CALL_PROC_INST_ID_ varchar(64),
+ CALL_CASE_INST_ID_ varchar(64),
+ ACT_NAME_ varchar(255),
+ ACT_TYPE_ varchar(255) not null,
+ ASSIGNEE_ varchar(64),
+ START_TIME_ datetime not null,
+ END_TIME_ datetime,
+ DURATION_ bigint,
+ ACT_INST_STATE_ integer,
+ SEQUENCE_COUNTER_ bigint,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_HI_TASKINST (
+ ID_ varchar(64) not null,
+ TASK_DEF_KEY_ varchar(255),
+ PROC_DEF_KEY_ varchar(255),
+ PROC_DEF_ID_ varchar(64),
+ PROC_INST_ID_ varchar(64),
+ EXECUTION_ID_ varchar(64),
+ CASE_DEF_KEY_ varchar(255),
+ CASE_DEF_ID_ varchar(64),
+ CASE_INST_ID_ varchar(64),
+ CASE_EXECUTION_ID_ varchar(64),
+ ACT_INST_ID_ varchar(64),
+ NAME_ varchar(255),
+ PARENT_TASK_ID_ varchar(64),
+ DESCRIPTION_ varchar(4000),
+ OWNER_ varchar(255),
+ ASSIGNEE_ varchar(255),
+ START_TIME_ datetime not null,
+ END_TIME_ datetime,
+ DURATION_ bigint,
+ DELETE_REASON_ varchar(4000),
+ PRIORITY_ integer,
+ DUE_DATE_ datetime,
+ FOLLOW_UP_DATE_ datetime,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_HI_VARINST (
+ ID_ varchar(64) not null,
+ PROC_DEF_KEY_ varchar(255),
+ PROC_DEF_ID_ varchar(64),
+ PROC_INST_ID_ varchar(64),
+ EXECUTION_ID_ varchar(64),
+ ACT_INST_ID_ varchar(64),
+ CASE_DEF_KEY_ varchar(255),
+ CASE_DEF_ID_ varchar(64),
+ CASE_INST_ID_ varchar(64),
+ CASE_EXECUTION_ID_ varchar(64),
+ TASK_ID_ varchar(64),
+ NAME_ varchar(255) not null,
+ VAR_TYPE_ varchar(100),
+ REV_ integer,
+ BYTEARRAY_ID_ varchar(64),
+ DOUBLE_ double,
+ LONG_ bigint,
+ TEXT_ varchar(4000),
+ TEXT2_ varchar(4000),
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_HI_DETAIL (
+ ID_ varchar(64) not null,
+ TYPE_ varchar(255) not null,
+ PROC_DEF_KEY_ varchar(255),
+ PROC_DEF_ID_ varchar(64),
+ PROC_INST_ID_ varchar(64),
+ EXECUTION_ID_ varchar(64),
+ CASE_DEF_KEY_ varchar(255),
+ CASE_DEF_ID_ varchar(64),
+ CASE_INST_ID_ varchar(64),
+ CASE_EXECUTION_ID_ varchar(64),
+ TASK_ID_ varchar(64),
+ ACT_INST_ID_ varchar(64),
+ VAR_INST_ID_ varchar(64),
+ NAME_ varchar(255) not null,
+ VAR_TYPE_ varchar(255),
+ REV_ integer,
+ TIME_ datetime not null,
+ BYTEARRAY_ID_ varchar(64),
+ DOUBLE_ double,
+ LONG_ bigint,
+ TEXT_ varchar(4000),
+ TEXT2_ varchar(4000),
+ SEQUENCE_COUNTER_ bigint,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_HI_COMMENT (
+ ID_ varchar(64) not null,
+ TYPE_ varchar(255),
+ TIME_ datetime not null,
+ USER_ID_ varchar(255),
+ TASK_ID_ varchar(64),
+ PROC_INST_ID_ varchar(64),
+ ACTION_ varchar(255),
+ MESSAGE_ varchar(4000),
+ FULL_MSG_ LONGBLOB,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_HI_ATTACHMENT (
+ ID_ varchar(64) not null,
+ REV_ integer,
+ USER_ID_ varchar(255),
+ NAME_ varchar(255),
+ DESCRIPTION_ varchar(4000),
+ TYPE_ varchar(255),
+ TASK_ID_ varchar(64),
+ PROC_INST_ID_ varchar(64),
+ URL_ varchar(4000),
+ CONTENT_ID_ varchar(64),
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_HI_OP_LOG (
+ ID_ varchar(64) not null,
+ PROC_DEF_ID_ varchar(64),
+ PROC_DEF_KEY_ varchar(255),
+ PROC_INST_ID_ varchar(64),
+ EXECUTION_ID_ varchar(64),
+ CASE_DEF_ID_ varchar(64),
+ CASE_INST_ID_ varchar(64),
+ CASE_EXECUTION_ID_ varchar(64),
+ TASK_ID_ varchar(64),
+ JOB_ID_ varchar(64),
+ JOB_DEF_ID_ varchar(64),
+ USER_ID_ varchar(255),
+ TIMESTAMP_ timestamp not null,
+ OPERATION_TYPE_ varchar(64),
+ OPERATION_ID_ varchar(64),
+ ENTITY_TYPE_ varchar(30),
+ PROPERTY_ varchar(64),
+ ORG_VALUE_ varchar(4000),
+ NEW_VALUE_ varchar(4000),
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_HI_INCIDENT (
+ ID_ varchar(64) not null,
+ PROC_DEF_KEY_ varchar(255),
+ PROC_DEF_ID_ varchar(64),
+ PROC_INST_ID_ varchar(64),
+ EXECUTION_ID_ varchar(64),
+ CREATE_TIME_ timestamp not null,
+ END_TIME_ timestamp null,
+ INCIDENT_MSG_ varchar(4000),
+ INCIDENT_TYPE_ varchar(255) not null,
+ ACTIVITY_ID_ varchar(255),
+ CAUSE_INCIDENT_ID_ varchar(64),
+ ROOT_CAUSE_INCIDENT_ID_ varchar(64),
+ CONFIGURATION_ varchar(255),
+ INCIDENT_STATE_ integer,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_HI_JOB_LOG (
+ ID_ varchar(64) not null,
+ TIMESTAMP_ timestamp not null,
+ JOB_ID_ varchar(64) not null,
+ JOB_DUEDATE_ timestamp NULL,
+ JOB_RETRIES_ integer,
+ JOB_EXCEPTION_MSG_ varchar(4000),
+ JOB_EXCEPTION_STACK_ID_ varchar(64),
+ JOB_STATE_ integer,
+ JOB_DEF_ID_ varchar(64),
+ JOB_DEF_TYPE_ varchar(255),
+ JOB_DEF_CONFIGURATION_ varchar(255),
+ ACT_ID_ varchar(255),
+ EXECUTION_ID_ varchar(64),
+ PROCESS_INSTANCE_ID_ varchar(64),
+ PROCESS_DEF_ID_ varchar(64),
+ PROCESS_DEF_KEY_ varchar(255),
+ DEPLOYMENT_ID_ varchar(64),
+ SEQUENCE_COUNTER_ bigint,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
+create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
+
+create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
+create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
+create index ACT_IDX_HI_ACT_INST_COMP on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_, END_TIME_, ID_);
+create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
+
+create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
+create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
+create index ACT_IDX_HI_DETAIL_CASE_INST on ACT_HI_DETAIL(CASE_INST_ID_);
+create index ACT_IDX_HI_DETAIL_CASE_EXEC on ACT_HI_DETAIL(CASE_EXECUTION_ID_);
+create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
+create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
+create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
+
+create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
+create index ACT_IDX_HI_CASEVAR_CASE_INST on ACT_HI_VARINST(CASE_INST_ID_);
+create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
+
+create index ACT_IDX_HI_JOB_LOG_PROCINST on ACT_HI_JOB_LOG(PROCESS_INSTANCE_ID_);
+create index ACT_IDX_HI_JOB_LOG_PROCDEF on ACT_HI_JOB_LOG(PROCESS_DEF_ID_);
+create table ACT_HI_CASEINST (
+ ID_ varchar(64) not null,
+ CASE_INST_ID_ varchar(64) not null,
+ BUSINESS_KEY_ varchar(255),
+ CASE_DEF_ID_ varchar(64) not null,
+ CREATE_TIME_ datetime not null,
+ CLOSE_TIME_ datetime,
+ DURATION_ bigint,
+ STATE_ integer,
+ CREATE_USER_ID_ varchar(255),
+ SUPER_CASE_INSTANCE_ID_ varchar(64),
+ SUPER_PROCESS_INSTANCE_ID_ varchar(64),
+ primary key (ID_),
+ unique (CASE_INST_ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_HI_CASEACTINST (
+ ID_ varchar(64) not null,
+ PARENT_ACT_INST_ID_ varchar(64),
+ CASE_DEF_ID_ varchar(64) not null,
+ CASE_INST_ID_ varchar(64) not null,
+ CASE_ACT_ID_ varchar(255) not null,
+ TASK_ID_ varchar(64),
+ CALL_PROC_INST_ID_ varchar(64),
+ CALL_CASE_INST_ID_ varchar(64),
+ CASE_ACT_NAME_ varchar(255),
+ CASE_ACT_TYPE_ varchar(255),
+ CREATE_TIME_ datetime not null,
+ END_TIME_ datetime,
+ DURATION_ bigint,
+ STATE_ integer,
+ REQUIRED_ boolean,
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create index ACT_IDX_HI_CAS_I_CLOSE on ACT_HI_CASEINST(CLOSE_TIME_);
+create index ACT_IDX_HI_CAS_I_BUSKEY on ACT_HI_CASEINST(BUSINESS_KEY_);
+create index ACT_IDX_HI_CAS_A_I_CREATE on ACT_HI_CASEACTINST(CREATE_TIME_);
+create index ACT_IDX_HI_CAS_A_I_END on ACT_HI_CASEACTINST(END_TIME_);
+create index ACT_IDX_HI_CAS_A_I_COMP on ACT_HI_CASEACTINST(CASE_ACT_ID_, END_TIME_, ID_);
+create index ACT_IDX_HI_CAS_A_I_CASEINST on ACT_HI_CASEACTINST(CASE_INST_ID_, CASE_ACT_ID_);
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_identity_7.3.0.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_identity_7.3.0.sql
new file mode 100644
index 0000000..dc72917
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_identity_7.3.0.sql
@@ -0,0 +1,50 @@
+# Start of statements added for MSO
+USE `camundabpmn`;
+# End of statements added for MSO
+
+create table ACT_ID_GROUP (
+ ID_ varchar(64),
+ REV_ integer,
+ NAME_ varchar(255),
+ TYPE_ varchar(255),
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_ID_MEMBERSHIP (
+ USER_ID_ varchar(64),
+ GROUP_ID_ varchar(64),
+ primary key (USER_ID_, GROUP_ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_ID_USER (
+ ID_ varchar(64),
+ REV_ integer,
+ FIRST_ varchar(255),
+ LAST_ varchar(255),
+ EMAIL_ varchar(255),
+ PWD_ varchar(255),
+ PICTURE_ID_ varchar(64),
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+create table ACT_ID_INFO (
+ ID_ varchar(64),
+ REV_ integer,
+ USER_ID_ varchar(64),
+ TYPE_ varchar(64),
+ KEY_ varchar(255),
+ VALUE_ varchar(255),
+ PASSWORD_ LONGBLOB,
+ PARENT_ID_ varchar(255),
+ primary key (ID_)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+alter table ACT_ID_MEMBERSHIP
+ add constraint ACT_FK_MEMB_GROUP
+ foreign key (GROUP_ID_)
+ references ACT_ID_GROUP (ID_);
+
+alter table ACT_ID_MEMBERSHIP
+ add constraint ACT_FK_MEMB_USER
+ foreign key (USER_ID_)
+ references ACT_ID_USER (ID_);
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_updates_7.3.0.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_updates_7.3.0.sql
new file mode 100644
index 0000000..09c53ea
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_updates_7.3.0.sql
@@ -0,0 +1,11 @@
+# MSO updates to the default camunda schema.
+USE `camundabpmn`;
+ALTER TABLE ACT_HI_VARINST MODIFY TEXT_ LONGTEXT;
+
+ALTER TABLE ACT_HI_DETAIL MODIFY TEXT_ LONGTEXT;
+
+ALTER TABLE ACT_RU_VARIABLE MODIFY TEXT_ LONGTEXT;
+
+INSERT INTO ACT_GE_PROPERTY VALUES ('historyLevel','3',1) ON DUPLICATE KEY UPDATE VALUE_='3';
+
+CREATE TABLE IF NOT EXISTS ATT_URN_MAPPING AS SELECT * FROM ACT_GE_PROPERTY WHERE NAME_='-';
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Catalog-schema.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Catalog-schema.sql
new file mode 100644
index 0000000..38e7117
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Catalog-schema.sql
@@ -0,0 +1,290 @@
+
+ alter table HEAT_TEMPLATE
+ drop
+ foreign key FK_ek5sot1q07taorbdmkvnveu98;
+
+ alter table HEAT_TEMPLATE_PARAMS
+ drop
+ foreign key FK_8sxvm215cw3tjfh3wni2y3myx;
+
+ alter table SERVICE_RECIPE
+ drop
+ foreign key FK_kv13yx013qtqkn94d5gkwbu3s;
+
+ drop table if exists HEAT_ENVIRONMENT;
+
+ drop table if exists HEAT_FILES;
+
+ drop table if exists HEAT_NESTED_TEMPLATE;
+
+ drop table if exists HEAT_TEMPLATE;
+
+ drop table if exists HEAT_TEMPLATE_PARAMS;
+
+ drop table if exists NETWORK_RECIPE;
+
+ drop table if exists NETWORK_RESOURCE;
+
+ drop table if exists SERVICE;
+
+ drop table if exists SERVICE_RECIPE;
+
+ drop table if exists VF_MODULE;
+
+ drop table if exists VF_MODULE_TO_HEAT_FILES;
+
+ drop table if exists VNF_COMPONENTS;
+
+ drop table if exists VNF_COMPONENTS_RECIPE;
+
+ drop table if exists VNF_RECIPE;
+
+ drop table if exists VNF_RESOURCE;
+
+ create table HEAT_ENVIRONMENT (
+ id integer not null auto_increment,
+ NAME varchar(100) not null,
+ VERSION varchar(20) not null,
+ ASDC_RESOURCE_NAME varchar(100) default 'MANUAL RECORD' not null,
+ DESCRIPTION varchar(1200),
+ ENVIRONMENT longtext not null,
+ CREATION_TIMESTAMP datetime not null,
+ ASDC_UUID varchar(200) default 'MANUAL RECORD',
+ ASDC_LABEL varchar(200),
+ primary key (id)
+ );
+
+ create table HEAT_FILES (
+ id integer not null auto_increment,
+ FILE_NAME varchar(200) not null,
+ ASDC_RESOURCE_NAME varchar(100) not null,
+ VERSION varchar(20) not null,
+ VNF_RESOURCE_ID integer,
+ DESCRIPTION varchar(1200),
+ FILE_BODY longtext not null,
+ CREATION_TIMESTAMP datetime not null,
+ ASDC_UUID varchar(200),
+ ASDC_LABEL varchar(200),
+ primary key (id)
+ );
+
+ create table HEAT_NESTED_TEMPLATE (
+ PARENT_TEMPLATE_ID integer not null,
+ CHILD_TEMPLATE_ID integer not null,
+ PROVIDER_RESOURCE_FILE varchar(100),
+ primary key (PARENT_TEMPLATE_ID, CHILD_TEMPLATE_ID)
+ );
+
+ create table HEAT_TEMPLATE (
+ id integer not null auto_increment,
+ TEMPLATE_NAME varchar(200) not null,
+ VERSION varchar(20) not null,
+ ASDC_RESOURCE_NAME varchar(100) default 'MANUAL RECORD' not null,
+ TEMPLATE_PATH varchar(100),
+ TEMPLATE_BODY longtext not null,
+ TIMEOUT_MINUTES integer,
+ ASDC_UUID varchar(200) default 'MANUAL RECORD' not null,
+ DESCRIPTION varchar(1200),
+ ASDC_LABEL varchar(200),
+ CREATION_TIMESTAMP datetime not null,
+ CHILD_TEMPLATE_ID integer,
+ primary key (id)
+ );
+
+ create table HEAT_TEMPLATE_PARAMS (
+ id integer not null auto_increment,
+ HEAT_TEMPLATE_ID integer not null,
+ PARAM_NAME varchar(100) not null,
+ IS_REQUIRED bit not null,
+ PARAM_TYPE varchar(20),
+ PARAM_ALIAS varchar(45),
+ primary key (id)
+ );
+
+ create table NETWORK_RECIPE (
+ id integer not null auto_increment,
+ NETWORK_TYPE varchar(20) not null,
+ ACTION varchar(20) not null,
+ VERSION_STR varchar(20) not null,
+ SERVICE_TYPE varchar(45),
+ DESCRIPTION varchar(1200),
+ ORCHESTRATION_URI varchar(256) not null,
+ NETWORK_PARAM_XSD varchar(2048),
+ RECIPE_TIMEOUT integer,
+ CREATION_TIMESTAMP datetime not null,
+ primary key (id)
+ );
+
+ create table NETWORK_RESOURCE (
+ id integer not null,
+ NETWORK_TYPE varchar(45) not null,
+ VERSION_STR varchar(20) not null,
+ ORCHESTRATION_MODE varchar(20),
+ DESCRIPTION varchar(1200),
+ TEMPLATE_ID integer,
+ CREATION_TIMESTAMP datetime not null,
+ AIC_VERSION_MIN varchar(20) default 2.5,
+ AIC_VERSION_MAX varchar(20) default 2.5,
+ NEUTRON_NETWORK_TYPE varchar(20),
+ primary key (id)
+ );
+
+ create table SERVICE (
+ id integer not null auto_increment,
+ SERVICE_NAME varchar(40),
+ VERSION_STR varchar(20),
+ DESCRIPTION varchar(1200),
+ SERVICE_NAME_VERSION_ID varchar(50),
+ SERVICE_VERSION varchar(10),
+ HTTP_METHOD varchar(50),
+ CREATION_TIMESTAMP datetime not null,
+ MODEL_INVARIANT_UUID varchar(200) default 'MANUAL_RECORD' not null,
+ primary key (id)
+ );
+
+ create table SERVICE_RECIPE (
+ id integer not null auto_increment,
+ SERVICE_ID integer not null,
+ ACTION varchar(40) not null,
+ VERSION_STR varchar(20),
+ DESCRIPTION varchar(1200),
+ ORCHESTRATION_URI varchar(256) not null,
+ SERVICE_PARAM_XSD varchar(2048),
+ RECIPE_TIMEOUT integer,
+ SERVICE_TIMEOUT_INTERIM integer,
+ CREATION_TIMESTAMP datetime not null,
+ primary key (id)
+ );
+
+ create table VF_MODULE (
+ id integer not null auto_increment,
+ TYPE varchar(200) not null,
+ ASDC_SERVICE_MODEL_VERSION varchar(20) not null,
+ MODEL_NAME varchar(200) not null,
+ MODEL_VERSION varchar(20) not null,
+ ASDC_UUID varchar(255),
+ VOL_ENVIRONMENT_ID integer,
+ TEMPLATE_ID integer,
+ IS_BASE integer not null,
+ CREATION_TIMESTAMP datetime not null,
+ DESCRIPTION varchar(255),
+ VOL_TEMPLATE_ID integer,
+ VNF_RESOURCE_ID integer not null,
+ ENVIRONMENT_ID integer,
+ MODEL_INVARIANT_UUID varchar(255),
+ primary key (id)
+ );
+
+ create table VF_MODULE_TO_HEAT_FILES (
+ VF_MODULE_ID integer not null,
+ HEAT_FILES_ID integer not null,
+ primary key (VF_MODULE_ID, HEAT_FILES_ID)
+ );
+
+ create table VNF_COMPONENTS (
+ VNF_ID integer not null,
+ COMPONENT_TYPE varchar(20) not null,
+ HEAT_TEMPLATE_ID integer,
+ HEAT_ENVIRONMENT_ID integer,
+ CREATION_TIMESTAMP datetime not null,
+ primary key (VNF_ID, COMPONENT_TYPE)
+ );
+
+ create table VNF_COMPONENTS_RECIPE (
+ id integer not null auto_increment,
+ VNF_TYPE varchar(200),
+ VF_MODULE_ID varchar(100),
+ VNF_COMPONENT_TYPE varchar(45) not null,
+ ACTION varchar(20) not null,
+ SERVICE_TYPE varchar(45),
+ VERSION varchar(20),
+ DESCRIPTION varchar(1200),
+ ORCHESTRATION_URI varchar(256) not null,
+ VNF_COMPONENT_PARAM_XSD varchar(2048),
+ RECIPE_TIMEOUT integer,
+ CREATION_TIMESTAMP datetime,
+ primary key (id)
+ );
+
+ create table VNF_RECIPE (
+ id integer not null auto_increment,
+ VF_MODULE_ID varchar(100),
+ ACTION varchar(20) not null,
+ VERSION_STR varchar(20) not null,
+ VNF_TYPE varchar(200),
+ SERVICE_TYPE varchar(45),
+ DESCRIPTION varchar(1200),
+ ORCHESTRATION_URI varchar(256) not null,
+ VNF_PARAM_XSD varchar(2048),
+ RECIPE_TIMEOUT integer,
+ CREATION_TIMESTAMP datetime,
+ primary key (id)
+ );
+
+ create table VNF_RESOURCE (
+ id integer not null auto_increment,
+ VNF_TYPE varchar(200) not null,
+ ASDC_SERVICE_MODEL_VERSION varchar(20) not null,
+ ORCHESTRATION_MODE varchar(20) not null,
+ DESCRIPTION varchar(1200),
+ TEMPLATE_ID integer,
+ ENVIRONMENT_ID integer,
+ CREATION_TIMESTAMP datetime not null,
+ ASDC_UUID varchar(200),
+ AIC_VERSION_MIN varchar(20),
+ AIC_VERSION_MAX varchar(20),
+ MODEL_INVARIANT_UUID varchar(200),
+ MODEL_VERSION varchar(20) not null,
+ MODEL_CUSTOMIZATION_NAME varchar(200),
+ MODEL_NAME varchar(200),
+ SERVICE_MODEL_INVARIANT_UUID varchar(200),
+ primary key (id)
+ );
+
+ alter table HEAT_ENVIRONMENT
+ add constraint UK_a4jkta7hgpa99brceaxasnfqp unique (NAME, VERSION, ASDC_RESOURCE_NAME);
+
+ alter table HEAT_FILES
+ add constraint UK_m23vfqc1tdvj7d6f0jjo4cl7e unique (FILE_NAME, ASDC_RESOURCE_NAME, VERSION);
+
+ alter table HEAT_TEMPLATE
+ add constraint UK_k1tq7vblss8ykiwhiltnkg6no unique (TEMPLATE_NAME, VERSION, ASDC_RESOURCE_NAME);
+
+ alter table HEAT_TEMPLATE_PARAMS
+ add constraint UK_pj3cwbmewecf0joqv2mvmbvw3 unique (HEAT_TEMPLATE_ID, PARAM_NAME);
+
+ alter table NETWORK_RECIPE
+ add constraint UK_rl4f296i0p8lyokxveaiwkayi unique (NETWORK_TYPE, ACTION, VERSION_STR);
+
+ alter table NETWORK_RESOURCE
+ add constraint UK_i4hpdnu3rmdsit3m6fw1ynguq unique (NETWORK_TYPE, VERSION_STR);
+
+ alter table SERVICE_RECIPE
+ add constraint UK_7fav5dkux2v8g9d2i5ymudlgc unique (SERVICE_ID, ACTION);
+
+ alter table VF_MODULE
+ add constraint UK_o3bvdqspginaxlp4gxqohd44l unique (TYPE, ASDC_SERVICE_MODEL_VERSION);
+
+ alter table VNF_COMPONENTS_RECIPE
+ add constraint UK_4dpdwddaaclhc11wxsb7h59ma unique (VNF_TYPE, VF_MODULE_ID, VNF_COMPONENT_TYPE, ACTION, SERVICE_TYPE, VERSION);
+
+ alter table VNF_RECIPE
+ add constraint UK_f3tvqau498vrifq3cr8qnigkr unique (VF_MODULE_ID, ACTION, VERSION_STR);
+
+ alter table VNF_RESOURCE
+ add constraint UK_k10a0w7h4t0lnbynd3inkg67k unique (VNF_TYPE, ASDC_SERVICE_MODEL_VERSION);
+
+ alter table HEAT_TEMPLATE
+ add constraint FK_ek5sot1q07taorbdmkvnveu98
+ foreign key (CHILD_TEMPLATE_ID)
+ references HEAT_TEMPLATE (id);
+
+ alter table HEAT_TEMPLATE_PARAMS
+ add constraint FK_8sxvm215cw3tjfh3wni2y3myx
+ foreign key (HEAT_TEMPLATE_ID)
+ references HEAT_TEMPLATE (id);
+
+ alter table SERVICE_RECIPE
+ add constraint FK_kv13yx013qtqkn94d5gkwbu3s
+ foreign key (SERVICE_ID)
+ references SERVICE (id);
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Requests-schema.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Requests-schema.sql
new file mode 100644
index 0000000..93da621
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Requests-schema.sql
@@ -0,0 +1,57 @@
+
+ drop table if exists INFRA_ACTIVE_REQUESTS;
+
+ drop table if exists SITE_STATUS;
+
+ create table INFRA_ACTIVE_REQUESTS (
+ REQUEST_ID varchar(45) not null,
+ CLIENT_REQUEST_ID varchar(45),
+ ACTION varchar(45) not null,
+ REQUEST_STATUS varchar(20),
+ STATUS_MESSAGE varchar(2000),
+ PROGRESS bigint,
+ START_TIME datetime,
+ END_TIME datetime,
+ SOURCE varchar(45),
+ VNF_ID varchar(45),
+ VNF_NAME varchar(80),
+ VNF_TYPE varchar(200),
+ SERVICE_TYPE varchar(45),
+ AIC_NODE_CLLI varchar(11),
+ TENANT_ID varchar(45),
+ PROV_STATUS varchar(20),
+ VNF_PARAMS longtext,
+ VNF_OUTPUTS longtext,
+ REQUEST_BODY longtext,
+ RESPONSE_BODY longtext,
+ LAST_MODIFIED_BY varchar(50),
+ MODIFY_TIME datetime,
+ REQUEST_TYPE varchar(20),
+ VOLUME_GROUP_ID varchar(45),
+ VOLUME_GROUP_NAME varchar(45),
+ VF_MODULE_ID varchar(45),
+ VF_MODULE_NAME varchar(200),
+ VF_MODULE_MODEL_NAME varchar(200),
+ AAI_SERVICE_ID varchar(50),
+ AIC_CLOUD_REGION varchar(11),
+ CALLBACK_URL varchar(200),
+ CORRELATOR varchar(80),
+ SERVICE_INSTANCE_ID varchar(45),
+ SERVICE_INSTANCE_NAME varchar(80),
+ REQUEST_SCOPE varchar(20),
+ REQUEST_ACTION varchar(45) not null,
+ NETWORK_ID varchar(45),
+ NETWORK_NAME varchar(80),
+ NETWORK_TYPE varchar(80),
+ primary key (REQUEST_ID)
+ );
+
+ create table SITE_STATUS (
+ SITE_NAME varchar(255) not null,
+ STATUS bit,
+ CREATION_TIMESTAMP datetime,
+ primary key (SITE_NAME)
+ );
+
+ alter table INFRA_ACTIVE_REQUESTS
+ add constraint UK_bhu6w8p7wvur4pin0gjw2d5ak unique (CLIENT_REQUEST_ID);
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/sub-sql-files/catalog_timestamp_mso_db.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/sub-sql-files/catalog_timestamp_mso_db.sql
new file mode 100644
index 0000000..12d5d8c
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/sub-sql-files/catalog_timestamp_mso_db.sql
@@ -0,0 +1,14 @@
+USE `mso_catalog`;
+
+ALTER TABLE HEAT_ENVIRONMENT MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;
+ALTER TABLE NETWORK_RECIPE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;
+ALTER TABLE NETWORK_RESOURCE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;
+ALTER TABLE SERVICE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;
+ALTER TABLE VNF_COMPONENTS MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;
+ALTER TABLE VNF_COMPONENTS_RECIPE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;
+ALTER TABLE VNF_RECIPE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;
+ALTER TABLE VNF_RESOURCE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;
+ALTER TABLE HEAT_FILES MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;
+ALTER TABLE HEAT_TEMPLATE MODIFY COLUMN CREATION_TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;
+ALTER TABLE VF_MODULE MODIFY COLUMN CREATION_TIMESTAMP datetime DEFAULT CURRENT_TIMESTAMP NOT NULL;
+ALTER TABLE SERVICE_RECIPE MODIFY COLUMN CREATION_TIMESTAMP datetime DEFAULT CURRENT_TIMESTAMP NOT NULL;
diff --git a/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/sub-sql-files/site_status_updated_timestamp.sql b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/sub-sql-files/site_status_updated_timestamp.sql
new file mode 100644
index 0000000..3b2de4c
--- /dev/null
+++ b/volumes/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/sub-sql-files/site_status_updated_timestamp.sql
@@ -0,0 +1 @@
+ALTER TABLE SITE_STATUS MODIFY COLUMN CREATION_TIMESTAMP datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
diff --git a/volumes/mso/chef-config/aai.crt b/volumes/mso/chef-config/aai.crt
new file mode 100644
index 0000000..abcee6c
--- /dev/null
+++ b/volumes/mso/chef-config/aai.crt
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEiTCCA3GgAwIBAgIJAIPKfDLcn3MpMA0GCSqGSIb3DQEBCwUAMIGtMQswCQYD
+VQQGEwJVUzELMAkGA1UECAwCTkoxEzARBgNVBAcMCkJlZG1pbnN0ZXIxEjAQBgNV
+BAoMCU9wZW5FQ09NUDETMBEGA1UECwwKc2ltcGxlZGVtbzEqMCgGA1UEAwwhT3Bl
+bkVDT01QIHNpbXBsZWRlbW8gU2VydmVyIENBIFgxMScwJQYJKoZIhvcNAQkBFhhz
+aW1wbGVkZW1vQG9wZW5lY29tcC5vcmcwHhcNMTYxMTMwMTUzODM5WhcNMTcxMTMw
+MTUzODM5WjCBuTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5KMRMwEQYDVQQHDApC
+ZWRtaW5zdGVyMRIwEAYDVQQKDAlPcGVuRUNPTVAxEzARBgNVBAsMClNpbXBsZURl
+bW8xKTAnBgNVBAMMIGFhaS5hcGkuc2ltcGxlZGVtby5vcGVuZWNvbXAub3JnMTQw
+MgYJKoZIhvcNAQkBFiVhYWktaG9zdEBhcGkuc2ltcGxlZGVtby5vcGVuZWNvbXAu
+b3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwQrQl8A0rT0Jjlos
+Mr/7LEhT5UOif4GGPOk+3NCIxT3lOqAbUf+d9ZXyT2jWFRiKWua03vQ+Dxc8c2h2
+RRuH8LwEiOiWqPjWRxNqsARzZMI3ryHFCFBZh0FcpjH9kEeKVlLDYuV68k+ZucKd
+NiqUNn61lD7kbmEGwvzKwf91FrJ09+CBMx1OnWKm3gCNKDqAEFMZCOdn2MgesJYB
+/03lzPBS1jDfBXImXRcTBzpgA+wdCLn0cIQ1eLWUwS5tUqUJNh36nHdVyJ0P2Yjd
+JLuxhFcmBKOz1ShyyO+BBtKBO8EGbU6qKflOiwOw0Fsn8LjKcrHQ58NPui5y04BU
+Rypf3QIDAQABo4GdMIGaMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgO4MB0G
+A1UdDgQWBBQyMUOsE2J+CKzK0qd8KFBD2gaWyjBbBgNVHSAEVDBSMFAGBFUdIAAw
+SDBGBggrBgEFBQcCAjA6GjhLZWVwIGF3YXkgZnJvbSBjaGlsZHJlbi4gIFRoaXMg
+Y2VydGlmaWNhdGUgaXMgbm90IGEgdG95LjANBgkqhkiG9w0BAQsFAAOCAQEAnkoy
+2tWJOyyyIQwtVojUxv1GWQPnw3WCUcKpuX4CJhHXLxNErW1fBg7bmo08BNmBPPpq
+WrJsy5lbBgUo9kgpViux5Stfy1rRIRsRLfl/icgCvJmUAxkmRCZL7yUvwG4K7s+8
+DwT+nW/XuWNP6Hd/qHccexB6COJ8KwvTdVoxAkCdX8qw4MCb/f7Kb1yle/vwBM5Q
+UUONCJ4bEns1vnb9DGlNDUJNwCfwORAaVJpVS38Mv4UnSTmb2KMePtCWcx/dNsYR
+2XrSGqLDnTvHwOpyhbfFTmackysGoSuDytORXy8YbwEiF13BwEK8i3rgNN0Z2ojf
+cpmE2xxmaa+A2uuN6g==
+-----END CERTIFICATE----- \ No newline at end of file
diff --git a/volumes/mso/chef-config/mso-docker.json b/volumes/mso/chef-config/mso-docker.json
new file mode 100644
index 0000000..4659164
--- /dev/null
+++ b/volumes/mso/chef-config/mso-docker.json
@@ -0,0 +1,199 @@
+{
+ "name": "mso-docker",
+ "description": "MSO Docker Images",
+ "chef_type": "environment",
+ "json_class": "Chef::Environment",
+ "default_attributes":
+ {
+ "mso_config_path": "/etc/mso/config.d/",
+
+ "mso-api-handler-infra-config":
+ {
+ "bpelURL": "http://mso:8080",
+ "bpelAuth": "786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1",
+ "camundaURL": "http://mso:8080",
+ "camundaAuth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1"
+ },
+
+ "asdc-connections":
+ {
+ "asdc-controller1":
+ {
+ "user": "mso",
+ "consumerGroup": "sdc-OpenSource-Env1",
+ "consumerId": "sdc-COpenSource-Env11",
+ "environmentName": "SDC-OpenSource-Env1",
+ "asdcAddress": "c2.vm1.asdc.simpledemo.openecomp.org:8443",
+ "password": "613AF3483E695524F9857643B697FA51C7A9A0951094F53791485BF3458F9EADA37DBACCCEBD0CB242B85B4062745247",
+ "pollingInterval": 60,
+ "pollingTimeout": 60,
+ "relevantArtifactTypes": "HEAT,HEAT_ENV,HEAT_VOL",
+ "activateServerTLSAuth": "false",
+ "keyStorePassword": "",
+ "keyStorePath": ""
+ }
+ },
+
+ "mso-sdnc-adapter-config":
+ {
+ "sdncurls":
+ [
+ "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/L3SDN-API:",
+ "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/config/L3SDN-API:",
+ "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/Firewall-API:",
+ "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/config",
+ "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/VNF-API:",
+ "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/NBNC-API:"
+ ],
+
+ "bpelurl": "http://c1.vm1.mso.simpledemo.openecomp.org:8080/mso/SDNCAdapterCallbackService",
+ "myurl": "http://c1.vm1.mso.simpledemo.openecomp.org:8080/adapters/rest/SDNCNotify",
+ "sdncauth": "263f7d5f944d4d0c76db74b4148bec67d0bc796a874bc0d2a2a12aae89a866aa69133f700f391f784719a37f6a68d29bf5a2fbae1dab0402db7788c800c5ba73",
+ "bpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1",
+ "sdncconnecttime": "5000"
+ },
+
+ "mso-po-adapter-config":
+ {
+ "identity_services":
+ [
+ {
+ "dcp_clli": "RAX_KEYSTONE",
+ "identity_url": "https://identity.api.rackspacecloud.com/v2.0",
+ "mso_id": "RACKSPACE_ACCOUNT_ID",
+ "mso_pass": "RACKSPACE_ACCOUNT_APIKEY",
+ "admin_tenant": "service",
+ "member_role": "admin",
+ "tenant_metadata": "true",
+ "identity_server_type": "KEYSTONE",
+ "identity_authentication_type": "RACKSPACE_APIKEY"
+ }
+ ],
+
+ "cloud_sites":
+ [
+ {
+ "id": "Dallas",
+ "aic_version": "2.5",
+ "lcp_clli": "DFW",
+ "region_id": "DFW",
+ "identity_service_id": "RAX_KEYSTONE"
+ },
+
+ {
+ "id": "Northern Virginia",
+ "aic_version": "2.5",
+ "lcp_clli": "IAD",
+ "region_id": "IAD",
+ "identity_service_id": "RAX_KEYSTONE"
+ },
+
+ {
+ "id": "Chicago",
+ "aic_version": "2.5",
+ "lcp_clli": "ORD",
+ "region_id": "ORD",
+ "identity_service_id": "RAX_KEYSTONE"
+ }
+ ],
+
+ "vnfbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1",
+ "checkrequiredparameters": "true",
+ "nwbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1"
+ },
+
+ "mso-bpmn-config":
+ {
+ "urnFileSystemLoadingEnabled": "true"
+ },
+
+ "mso-bpmn-urn-config":
+ {
+ "logDebugAsyncQueryAAICustomer": "false",
+ "logDebugChangeFeatureActivateV1": "false",
+ "logDebugChangeLayer3ServiceActivateV1": "false",
+ "logDebugChangeLayer3ServiceProvV1": "false",
+ "logDebugLayer3TestAndTurnUpV1": "false",
+ "logDebugVnfAdapterRollbackV1": "false",
+ "logDebugVnfAdapterQueryV1": "false",
+ "logDebugCreateNetworkV1": "false",
+ "logDebugCreateCinderVolumeV1": "false",
+ "logDebugDeleteCinderVolumeV1": "false",
+ "logDebugUpdateCinderVolumeV1": "false",
+ "logDebugDeleteGenericVNFV1": "false",
+ "logDebugDisconnectLayer3Service": "false",
+ "logDebugCompleteMsoProcess": "false",
+ "logDebugCreateCustomerV1": "false",
+ "logDebugCreateTenantV1": "false",
+ "logDebugDeleteNetworkV1": "false",
+ "logDebugDeleteTenantV1": "false",
+ "logDebugDeleteVCEV1": "false",
+ "logDebugGetLayer3ServiceDetailsV1": "false",
+ "logDebugL3ToHigherLayerAddBonding": "false",
+ "logDebugL3ToHigherLayerDeleteBonding": "false",
+ "logDebugLayer3ServiceActivateV1": "false",
+ "logDebugQueryAAICustomer": "false",
+ "logDebugQueryTenantInfo": "false",
+ "logDebugSdncAdapter": "false",
+ "logDebugVnfAdapterCreateV1": "false",
+ "logDebugVnfAdapterDeleteV1": "false",
+ "logDebugRemoveLayer3Service": "false",
+ "logDebugUpdateNetworkV2": "false",
+ "logDebugCreateVfModuleVolumeInfraV1": "false",
+ "logDebugDeleteVfModuleVolumeInfraV1": "false",
+ "logDebugUpdateVfModuleVolumeInfraV1": "false",
+ "logDebugCreateServiceInstanceInfra": "false",
+ "logDebugDeleteServiceInstanceInfra": "false",
+ "logDebugCreateNetworkInstanceInfra": "false",
+ "logDebugDeleteNetworkInstanceInfra": "false",
+ "logDebugUpdateNetworkInstanceInfra": "false",
+ "aaiEndpoint": "https://c1.vm1.aai.simpledemo.openecomp.org:8443",
+ "adaptersCompletemsoprocessEndpoint": "http://mso:8080/CompleteMsoProcess",
+ "adaptersDbEndpoint": "http://mso:8080/dbadapters/RequestsDbAdapter",
+ "adaptersSdncEndpoint": "http://mso:8080/adapters/SDNCAdapter",
+ "adaptersTenantEndpoint": "http://mso:8080/tenants/TenantAdapter",
+ "workflowSdncadapterCallback": "http://mso:8080/mso/SDNCAdapterCallbackService",
+ "msoKey": "07a7159d3bf51a0e53be7a8f89699be7",
+ "adaptersPoAuth": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74",
+ "sdncTimeout": "PT5M",
+ "rollback": "true",
+ "adaptersNetworkEndpoint": "http://mso:8080/networks/NetworkAdapter",
+ "adaptersNetworkRestEndpoint": "http://mso:8080/networks/rest/v1/networks",
+ "adaptersVnfAsyncEndpoint": "http://mso/vnfs/VnfAdapterAsync",
+ "workflowVnfAdapterDeleteCallback": "http://mso:8080/mso/vnfAdapterNotify",
+ "workflowVnfAdapterCreateCallback": "http://mso:8080/mso/vnfAdapterNotify",
+ "adaptersVnfRestEndpoint": "http://mso:8080/vnfs/rest/v1/vnfs",
+ "workflowVnfAdapterRestCallback": "http://mso:8080/mso/vnfAdapterRestNotify",
+ "poTimeout": "PT5M",
+ "sdncFirewallYangModel": "http://com/att/svc/mis/firewall-lite-gui",
+ "sdncFirewallYangModelVersion": "2015-05-15",
+ "sdncTimeoutFirewall": "20",
+ "callbackRetryAttempts": "30",
+ "callbackRetrySleepTime": "1000",
+ "workflowDefaultAAINetworkGenericVnfUri": "/aai/v8/network/generic-vnfs/generic-vnf",
+ "workflowDeleteGenericVNFV1AAINetworkGenericVnfUri": "/aai/v8/network/generic-vnfs/generic-vnf",
+ "workflowDefaultAAINetworkVpnBindingUri": "/aai/v8/network/vpn-bindings/vpn-binding",
+ "workflowCreateNetworkV1AAINetworkVpnBindingUri": "",
+ "workflowDefaultAAINetworkVceUri": "/aai/v8/network/vces/vce",
+ "workflowDeleteVCEV1AAINetworkVceUri": "",
+ "workflowDefaultAAINetworkL3NetworkUri": "/aai/v8/network/l3-networks/l3-network",
+ "workflowCreateNetworkV1AAINetworkL3NetworkUri": "/aai/v8/network/l3-networks/l3-network",
+ "workflowDeleteNetworkV1AAINetworkL3NetworkUri": "/aai/v8/network/l3-networks/l3-network",
+ "workflowDefaultAAIBusinessCustomerUri": "/aai/v8/business/customers/customer",
+ "workflowDefaultAAICloudInfrastructureVolumeGroupUri": "/aai/v8/cloud-infrastructure/volume-groups/volume-group",
+ "workflowCreateCinderVolumeV1AAICloudInfrastructureVolumeGroupUri": "",
+ "workflowDefaultAAICloudInfrastructureTenantUri": "/aai/v8/cloud-infrastructure/tenants/tenant",
+ "workflowDefaultAAISearchGenericQueryUri": "/aai/v8/search/generic-query",
+ "aaiAuth": "2630606608347B7124C244AB0FE34F6F"
+ }
+ },
+
+ "override_attributes":
+ {
+ },
+
+ "cookbook_versions":
+ {
+ "mso-config": "~> 1.0.0"
+ }
+} \ No newline at end of file