summaryrefslogtreecommitdiffstats
path: root/aai-resources/src/main/scripts
diff options
context:
space:
mode:
authorVenkata Harish K Kajur <vk250x@att.com>2017-05-19 11:31:27 -0400
committerVenkata Harish K Kajur <vk250x@att.com>2017-05-19 12:09:26 -0400
commit9a55549bd44151c424d3033692f677d697f4f1a5 (patch)
treeed130c364d59ad608f72e9e8b9ecfe64c367fcc7 /aai-resources/src/main/scripts
parentf189b8504ab23c3fc1168749ef8be07af392a8b9 (diff)
Add the necessary tools for resources and logbacks
Change-Id: Ia86de3587ffafe98c427f0fcfd45d2e6453f6db2 Signed-off-by: Venkata Harish K Kajur <vk250x@att.com>
Diffstat (limited to 'aai-resources/src/main/scripts')
-rw-r--r--aai-resources/src/main/scripts/audit_schema.sh48
-rw-r--r--aai-resources/src/main/scripts/dataGrooming.sh134
-rw-r--r--aai-resources/src/main/scripts/dataRestoreFromSnapshot.sh88
-rw-r--r--aai-resources/src/main/scripts/dataSnapshot.sh54
-rw-r--r--aai-resources/src/main/scripts/deleteTool.sh56
-rw-r--r--aai-resources/src/main/scripts/deobfuscatePW.sh57
-rw-r--r--aai-resources/src/main/scripts/edgeTagger.sh96
-rw-r--r--aai-resources/src/main/scripts/forceDeleteTool.sh100
-rw-r--r--aai-resources/src/main/scripts/getTool.sh56
-rw-r--r--aai-resources/src/main/scripts/notifyTool.sh56
-rw-r--r--aai-resources/src/main/scripts/postTool.sh56
-rw-r--r--aai-resources/src/main/scripts/putTool.sh56
-rw-r--r--aai-resources/src/main/scripts/rshipTool.sh70
-rw-r--r--aai-resources/src/main/scripts/schemaMod.sh89
-rw-r--r--aai-resources/src/main/scripts/updateTool.sh56
15 files changed, 1072 insertions, 0 deletions
diff --git a/aai-resources/src/main/scripts/audit_schema.sh b/aai-resources/src/main/scripts/audit_schema.sh
new file mode 100644
index 0000000..d402c1a
--- /dev/null
+++ b/aai-resources/src/main/scripts/audit_schema.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+if [ -f "/etc/profile.d/aai.sh" ]; then
+ source /etc/profile.d/aai.sh
+else
+ echo "File not found: /etc/profile.d/aai.sh";
+ exit
+fi
+
+JAVA=$JAVA_HOME/bin/java
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME -cp $CLASSPATH org.openecomp.aai.db.schema.ScriptDriver $@
diff --git a/aai-resources/src/main/scripts/dataGrooming.sh b/aai-resources/src/main/scripts/dataGrooming.sh
new file mode 100644
index 0000000..d1df7b0
--- /dev/null
+++ b/aai-resources/src/main/scripts/dataGrooming.sh
@@ -0,0 +1,134 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# The script invokes the dataGrooming java class to run some tests and generate a report and
+# potentially do some auto-deleteing.
+#
+# Here are the allowed Parameters. Note - they are all optional and can be mixed and matched.
+#
+# -f oldFileName (see note below)
+# -autoFix
+# -sleepMinutes nn
+# -edgesOnly
+# -dontFixOrphans
+# -maxFix
+# -skipHostCheck
+# -singleCommits
+# -dupeCheckOff
+# -dupeFixOn
+# -ghost2CheckOff
+# -ghost2FixOn
+#
+# NOTES:
+# -f The name of a previous report can optionally be passed in with the "-f" option.
+# Just the filename -- ie. "dataGrooming.sh -f dataGrooming.201504272106.out"
+# The file will be assumed to be in the directory that it was created in.
+# If a filename is passed, then the "deleteCandidate" vertex-id's and bad edges
+# listed inside that report file will be deleted on this run if they are encountered as
+# bad nodes/edges again.
+#
+# -autoFix If you don't use the "-f" option, you could choose to use "-autofix" which will
+# automatically run the script twice: once to look for problems, then after
+# sleeping for a few minutes, it will re-run with the inital-run's output as
+# an input file.
+#
+# -maxFix When using autoFix, you might want to limit how many 'bad' records get fixed.
+# This is a safeguard against accidently deleting too many records automatically.
+# It has a default value set in AAIConstants: AAI_GROOMING_DEFAULT_MAX_FIX = 15;
+# If there are more than maxFix candidates found -- then none will be deleted (ie.
+# someone needs to look into it)
+#
+# -sleepMinutes When using autoFix, this defines how many minutes we sleep before the second run.
+# It has a default value set in AAIConstants: AAI_GROOMING_DEFAULT_SLEEP_MINUTES = 7;
+# The reason we sleep at all between runs is that our DB is "eventually consistant", so
+# we want to give it time to resolve itself if possible.
+#
+# -edgesOnly Can be used any time you want to limit this tool so it only looks at edges.
+# It runs much more quickly when it's just doing edges and sometimes all our
+# problems are with bad edges so it can be nice to focus on edges only sometimes.
+#
+# -dontFixOrphans Since there can sometimes be a lot of orphan nodes, and they don't
+# harm processing as much as phantom-nodes or bad-edges, it is useful to be
+# able to ignore them when fixing things.
+#
+# -skipHostCheck By default, the grooming tool will check to see that it is running
+# on the host that is the first one in the list found in:
+# aaiconfig.properties aai.primary.filetransfer.serverlist
+# This is so that when run from the cron, it only runs on one machine.
+# This option lets you turn that checking off.
+#
+# -singleCommits By default, the grooming tool will do all of its processing and then do
+# a commit of all the changes at once. This option (maybe could have been named better)
+# is letting the user override the default behavior and do a commit for each
+# individual 'remove" one by one as they are encountered by the grooming logic.
+# NOTE - this only applies when using either the "-f" or "-autoFix" options since
+# those are the only two that make changes to the database.
+#
+# -dupeCheckOff By default, we will check all of our nodes for duplicates. This parameter lets
+# us turn this check off if we don't want to do it for some reason.
+#
+# -dupeFixOn When we're fixing data, by default we will NOT fix duplicates This parameter lets us turn
+# that fixing ON when we are comfortable that it can pick the correct duplicate to preserve.
+#
+# -ghost2CheckOff By default, we will check for the "new" kind of ghost that we saw on
+# Production in early February 2016. This parameter lets us turn this check off if we
+# don't want to do it for some reason.
+#
+# -ghost2FixOn When we're fixing data, by default we will NOT try to fix the "new" ghost nodes.
+# This parameter lets us turn that fixing ON if we want to try to fix them.
+#
+
+echo
+echo `date` " Starting $0"
+
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/jetty/webapps/*/webapp/WEB-INF/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME \
+ org.openecomp.aai.dbgen.DataGrooming "$@"
+
+echo `date` " Done $0"
+exit 0
diff --git a/aai-resources/src/main/scripts/dataRestoreFromSnapshot.sh b/aai-resources/src/main/scripts/dataRestoreFromSnapshot.sh
new file mode 100644
index 0000000..afe7256
--- /dev/null
+++ b/aai-resources/src/main/scripts/dataRestoreFromSnapshot.sh
@@ -0,0 +1,88 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# This script uses the dataSnapshot and SchemaGenerator (via GenTester) java classes to restore
+# data to a database by doing three things:
+# 1) clear out whatever data and schema are currently in the db
+# 2) rebuild the schema (using the SchemaGenerator)
+# 3) reload data from the passed-in datafile (which must found in the dataSnapShots directory and
+# contain an xml view of the db data).
+#
+
+echo
+echo `date` " Starting $0"
+
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+
+if [ "$#" -ne 1 ]; then
+ echo "Illegal number of parameters"
+ echo "usage: $0 previous_snapshot_filename"
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+#### Step 1) clear out the database
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME \
+ org.openecomp.aai.dbgen.DataSnapshot CLEAR_ENTIRE_DATABASE $1
+if [ "$?" -ne "0" ]; then
+ echo "Problem clearing out database."
+ exit 1
+fi
+
+#### Step 2) rebuild the db-schema
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME \
+ org.openecomp.aai.dbgen.GenTester GEN_DB_WITH_NO_DEFAULT_CR
+if [ "$?" -ne "0" ]; then
+ echo "Problem rebuilding the schema (SchemaGenerator)."
+ exit 1
+fi
+
+#### Step 3) reload the data from a snapshot file
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME \
+ org.openecomp.aai.dbgen.DataSnapshot RELOAD_DATA $1
+if [ "$?" -ne "0" ]; then
+ echo "Problem reloading data into the database."
+ exit 1
+fi
+
+
+
+echo `date` " Done $0"
+exit 0
diff --git a/aai-resources/src/main/scripts/dataSnapshot.sh b/aai-resources/src/main/scripts/dataSnapshot.sh
new file mode 100644
index 0000000..ef22eb6
--- /dev/null
+++ b/aai-resources/src/main/scripts/dataSnapshot.sh
@@ -0,0 +1,54 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# This script invokes the dataSnapshot java class passing an option to tell it to take
+# a snapshot of the database and store it as a single-line XML file.
+#
+
+echo
+echo `date` " Starting $0"
+
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME \
+ org.openecomp.aai.dbgen.DataSnapshot JUST_TAKE_SNAPSHOT
+
+echo `date` " Done $0"
+exit 0
diff --git a/aai-resources/src/main/scripts/deleteTool.sh b/aai-resources/src/main/scripts/deleteTool.sh
new file mode 100644
index 0000000..585f333
--- /dev/null
+++ b/aai-resources/src/main/scripts/deleteTool.sh
@@ -0,0 +1,56 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# The script invokes Deletion java class to delete customer, subs, dvs-switch, service-capability or tenants
+#
+
+echo
+echo `date` " Starting $0"
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME org.openecomp.aai.util.DeleteResource "$@"
+ret_code=$?
+if [ $ret_code != 0 ]; then
+ echo `date` " Done $0"
+ exit $ret_code
+fi
+
+echo `date` " Done $0"
+exit 0
diff --git a/aai-resources/src/main/scripts/deobfuscatePW.sh b/aai-resources/src/main/scripts/deobfuscatePW.sh
new file mode 100644
index 0000000..965525d
--- /dev/null
+++ b/aai-resources/src/main/scripts/deobfuscatePW.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# The script invokes the utils.JettyObfuscationConversionCommandLineUtil class to
+# deobfuscate an obfuscated name from aaiconfig property file
+# e.g.
+# ./deobfuscatePW.sh odl.auth.password
+# will return:
+# admin
+#
+
+echo
+echo `date` " Starting $0"
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME \
+ -Dcom.att.eelf.logging.file=default-logback.xml -Dcom.att.eelf.logging.path="$PROJECT_HOME/bundleconfig/etc/appprops/" \
+ org.openecomp.aai.util.AAIConfigCommandLinePropGetter $1
+
+echo `date` " Done $0"
diff --git a/aai-resources/src/main/scripts/edgeTagger.sh b/aai-resources/src/main/scripts/edgeTagger.sh
new file mode 100644
index 0000000..5a120a2
--- /dev/null
+++ b/aai-resources/src/main/scripts/edgeTagger.sh
@@ -0,0 +1,96 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# This script is used to synch-up the data in the database with the "edge-tags" definitions found in the DbEdgeRules.java file.
+# It is not needed during normal operation, but if a new tag (really a property) is defined for an edge or if an
+# existing tag is changed, then this script should be run to migrate existing data so that it matches the new
+# definition. Note: it is only dealing with the "tags" defined after position 2. For example, for our existing
+# rules, we have have "isParent" defined in position 2, and then other tags in positions 3, 4 and 5 as
+# mapped in DbEdgeRules.EdgeInfoMap:
+#
+# public static final Map<Integer, String> EdgeInfoMap;
+# static {
+# EdgeInfoMap = new HashMap<Integer, String>();
+# EdgeInfoMap.put(0, "edgeLabel");
+# EdgeInfoMap.put(1, "direction");
+# EdgeInfoMap.put(2, "isParent" );
+# EdgeInfoMap.put(3, "usesResource" );
+# EdgeInfoMap.put(4, "hasDelTarget" );
+# EdgeInfoMap.put(5, "SVC-INFRA" );
+# }
+#
+# -- The map above is used to interpret the data in the DbEdgeRules.EdgeRules map:
+#
+# public static final Multimap<String, String> EdgeRules =
+# new ImmutableSetMultimap.Builder<String, String>()
+# .putAll("availability-zone|complex","groupsResourcesIn,OUT,false,false,false,reverse")
+# .putAll("availability-zone|service-capability","supportsServiceCapability,OUT,false,false,false,false")
+# .putAll("complex|ctag-pool","hasCtagPool,OUT,true,false,false,false")
+# .putAll("complex|l3-network","usesL3Network,OUT,false,false,false,true")
+# etc...
+#
+# -- Valid values for the "tags" can be "true", "false" or "reverse". Read the T-space
+# write-up for a detailed explanation of this...
+#
+#
+# To use this script, You can either pass the parameter, "all" to update all the edge rules, or
+# you can pass the KEY to a single edge rule that you would like to update. NOTE - the
+# key is that first part of each edge rule that looks like, "nodeTypeA|nodeTypeB".
+#
+# Ie. ./edgeTagger.sh "all"
+# or ./edgeTagger.sh "complex|ctag-pool"
+#
+
+echo
+echo `date` " Starting $0"
+
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME \
+ -Dcom.att.eelf.logging.file=default-logback.xml -Dcom.att.eelf.logging.path="$PROJECT_HOME/bundleconfig/etc/appprops/" \
+ org.openecomp.aai.dbgen.UpdateEdgeTags $1
+if [ "$?" -ne "0" ]; then
+ echo "Problem executing UpdateEdgeTags "
+ exit 1
+fi
+
+
+echo `date` " Done $0"
+exit 0
diff --git a/aai-resources/src/main/scripts/forceDeleteTool.sh b/aai-resources/src/main/scripts/forceDeleteTool.sh
new file mode 100644
index 0000000..a9dd11b
--- /dev/null
+++ b/aai-resources/src/main/scripts/forceDeleteTool.sh
@@ -0,0 +1,100 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# forceDeleteTool.sh -- This tool is used to delete nodes that cannot be deleted using
+# the normal REST API because of internal DB problems. For example, Phantom nodes
+# and duplicate nodes cause errors to happen in "normal" REST API codes and must
+# be deleted using this tool.
+# Since it is not using the "normal" REST logic, it is also not invoking the "normal"
+# edge rules that we use to cascade deletes to "child" nodes. So - this tool can be dangerous.
+# Ie. if you accidently delete a parent node (like a cloud-region) that has many dependent
+# child nodes, there will be no way to get to any of those child-nodes after the cloud-region
+# has been deleted.
+# There are several environment variables defined in aaiconfig.properties to help minimize errors like that.
+# aai.forceDel.protected.nt.list=cloud-region
+# aai.forceDel.protected.edge.count=10
+# aai.forceDel.protected.descendant.count=10
+#
+# Parameters:
+#
+# -action (required) valid values: COLLECT_DATA or DELETE_NODE or DELETE_EDGE
+# -userId (required) must be followed by a userid
+# -params4Collect (followed by a string to tell what properties/values to use
+# as part of a COLLECT_DATA request. Must be in the format
+# of “propertName|propValue” use commas to separate if there
+# are more than one name/value being passed.
+# -vertexId - required for a DELETE_NODE request
+# -edgeId - required for a DELETE_EDGE request
+# -overRideProtection --- WARNING – This over-rides the protections we introduced!
+# It will let you override a protected vertex or vertex that has more
+# than the allowed number of edges or descendants.
+# -DISPLAY_ALL_VIDS (optional) - in the rare case when you want to see the
+# vertex-ids (vids) of all the CONNECTED vertices, you can use this. By
+# default, we do not show them.
+#
+#
+# For example:
+#
+# forceDeleteTool.sh -action COLLECT_DATA -userId am8383 -params4Collect "tenant-id|junk tenant01 ID 0224"
+#
+# forceDeleteTool.sh -action COLLECT_DATA -userId am8383 -params4Collect "cloud-owner|junkTesterCloudOwner 0224,cloud-region-id|junkTesterCloud REgion ID 0224"
+#
+# forceDeleteTool.sh -action DELETE_NODE -userId am8383 -vertexId 1234567
+#
+# forceDeleteTool.sh -action DELETE_EDGE -userId am8383 -edgeId 9876543
+#
+#
+
+
+echo
+echo `date` " Starting $0"
+
+echo " NOTE - if you are deleting data, please run the dataSnapshot.sh script first or "
+echo " at least make a note the details of the node that you are deleting. "
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME \
+ org.openecomp.aai.dbgen.ForceDeleteTool "$@"
+
+
+echo `date` " Done $0"
+
+exit 0
diff --git a/aai-resources/src/main/scripts/getTool.sh b/aai-resources/src/main/scripts/getTool.sh
new file mode 100644
index 0000000..2da20eb
--- /dev/null
+++ b/aai-resources/src/main/scripts/getTool.sh
@@ -0,0 +1,56 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# The script invokes GetResource java class to get all nodes
+#
+
+echo
+echo `date` " Starting $0"
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME org.openecomp.aai.util.GetResource "$@"
+ret_code=$?
+if [ $ret_code != 0 ]; then
+ echo `date` " Done $0"
+ exit $ret_code
+fi
+
+echo `date` " Done $0"
+exit 0
diff --git a/aai-resources/src/main/scripts/notifyTool.sh b/aai-resources/src/main/scripts/notifyTool.sh
new file mode 100644
index 0000000..2ecf1f4
--- /dev/null
+++ b/aai-resources/src/main/scripts/notifyTool.sh
@@ -0,0 +1,56 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# The script invokes PutActionsNotify java class to PUT a actions/notify request for a given JSON payload.
+#
+
+echo
+echo `date` " Starting $0"
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME org.openecomp.aai.util.PutActionsNotify "$@"
+ret_code=$?
+if [ $ret_code != 0 ]; then
+ echo `date` " Done $0"
+ exit $ret_code
+fi
+
+echo `date` " Done $0"
+exit 0
diff --git a/aai-resources/src/main/scripts/postTool.sh b/aai-resources/src/main/scripts/postTool.sh
new file mode 100644
index 0000000..a773915
--- /dev/null
+++ b/aai-resources/src/main/scripts/postTool.sh
@@ -0,0 +1,56 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# The script invokes PostResource java class to POST on a resource
+#
+
+echo
+echo `date` " Starting $0"
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME org.openecomp.aai.util.PostResource "$@"
+ret_code=$?
+if [ $ret_code != 0 ]; then
+ echo `date` " Done $0"
+ exit $ret_code
+fi
+
+echo `date` " Done $0"
+exit 0
diff --git a/aai-resources/src/main/scripts/putTool.sh b/aai-resources/src/main/scripts/putTool.sh
new file mode 100644
index 0000000..9d3f1dd
--- /dev/null
+++ b/aai-resources/src/main/scripts/putTool.sh
@@ -0,0 +1,56 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# The script invokes PutResource java class to PUT on a resource
+#
+
+echo
+echo `date` " Starting $0"
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME org.openecomp.aai.util.PutResource "$@"
+ret_code=$?
+if [ $ret_code != 0 ]; then
+ echo `date` " Done $0"
+ exit $ret_code
+fi
+
+echo `date` " Done $0"
+exit 0
diff --git a/aai-resources/src/main/scripts/rshipTool.sh b/aai-resources/src/main/scripts/rshipTool.sh
new file mode 100644
index 0000000..316d0f5
--- /dev/null
+++ b/aai-resources/src/main/scripts/rshipTool.sh
@@ -0,0 +1,70 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# The script invokes RelationshipputDel java class to PUT/DELETE a relationship
+#
+# sample json file for an oam-network node to put a relationship to a complex
+#{
+# "related-to": "complex",
+# "relationship-data": [ {
+# "relationship-key": "complex.physical-location-id",
+# "relationship-value": "CHCGILCL73W"
+# }]
+#}
+#
+
+echo
+echo `date` " Starting $0"
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/jetty/webapps/*/webapp/WEB-INF/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME org.openecomp.aai.util.RelationshipPutDel "$@"
+ret_code=$?
+if [ $ret_code != 0 ]; then
+ echo `date` " Done $0"
+ exit $ret_code
+fi
+
+echo `date` " Done $0"
+exit 0
diff --git a/aai-resources/src/main/scripts/schemaMod.sh b/aai-resources/src/main/scripts/schemaMod.sh
new file mode 100644
index 0000000..f4fd4d5
--- /dev/null
+++ b/aai-resources/src/main/scripts/schemaMod.sh
@@ -0,0 +1,89 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# This script is used to correct mistakes made in the database schema.
+# It currently just allows you to change either the dataType and/or indexType on properties used by nodes.
+#
+# NOTE - Titan is not elegant in 0.5.3 about making changes to the schema. Bad properties never
+# actually leave the database, they just get renamed and stop getting used. So it is
+# really worthwhile to get indexes and dataTypes correct the first time around.
+# Note also - This script just makes changes to the schema that is currently live.
+# If you were to create a new schema in a brandy-new environment, it would look like
+# whatever ex5.json (as of June 2015) told it to look like. So, part of making a
+# change to the db schema should Always first be to make the change in ex5.json so that
+# future environments will have the change. This script is just to change existing
+# instances of the schema since schemaGenerator (as of June 2015) does not update things - it
+# just does the initial creation.
+#
+# Boy, this is getting to be a big comment section...
+#
+# To use this script, you need to pass four parameters:
+# propertyName -- the name of the property that you need to change either the index or dataType on
+# targetDataType -- whether it's changing or not, you need to give it: String, Integer, Boolean or Long
+# targetIndexInfo -- whether it's changing or not, you need to give it: index, noIndex or uniqueIndex
+# preserveDataFlag -- true or false. The only reason I can think of why you'd ever want to
+# set this to false would be maybe if you were changing to an incompatible dataType so didn't
+# want it to try to use the old data (and fail). But 99% of the time this will just be 'true'.
+#
+# Ie. schemaMod flavor-id String index true
+#
+
+echo
+echo `date` " Starting $0"
+
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+
+if [ "$#" -ne 4 ]; then
+ echo "Illegal number of parameters"
+ echo "usage: $0 propertyName targetDataType targetIndexInfo preserveDataFlag"
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME \
+ org.openecomp.aai.dbgen.SchemaMod $1 $2 $3 $4
+if [ "$?" -ne "0" ]; then
+ echo "Problem executing schemaMod "
+ exit 1
+fi
+
+
+echo `date` " Done $0"
+exit 0
diff --git a/aai-resources/src/main/scripts/updateTool.sh b/aai-resources/src/main/scripts/updateTool.sh
new file mode 100644
index 0000000..25670f6
--- /dev/null
+++ b/aai-resources/src/main/scripts/updateTool.sh
@@ -0,0 +1,56 @@
+#!/bin/ksh
+
+###
+# ============LICENSE_START=======================================================
+# org.openecomp.aai
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# The script invokes GetResource java class to get all nodes
+#
+
+echo
+echo `date` " Starting $0"
+
+userid=$( id | cut -f2 -d"(" | cut -f1 -d")" )
+if [ "${userid}" != "aaiadmin" ]; then
+ echo "You must be aaiadmin to run $0. The id used $userid."
+ exit 1
+fi
+
+. /etc/profile.d/aai.sh
+
+for JAR in `ls $PROJECT_HOME/extJars/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+for JAR in `ls $PROJECT_HOME/lib/*.jar`
+do
+ CLASSPATH=$CLASSPATH:$JAR
+done
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH -Dhttps.protocols=TLSv1.1,TLSv1.2 -DAJSC_HOME=$PROJECT_HOME -Daai.home=$PROJECT_HOME org.openecomp.aai.util.UpdateResource "$@"
+ret_code=$?
+if [ $ret_code != 0 ]; then
+ echo `date` " Done $0"
+ exit $ret_code
+fi
+
+echo `date` " Done $0"
+exit 0