blob: 3dc8c08b37020c62479008ce432459394f7b8db3 [file] [log] [blame]
#!/bin/bash
# (c) 2016 highstreet technologies
# History
# 2.1 Modify to use config/active directory
# 2.2 Correct problems
# 2.3 Shift config/active to code/apps/persistentDatabase/activConfig
# 2.4 Update to Boron
# 2.5 One feature to start apps
# 2.6 New variant of install.sh
# 2.12 CMDBIN, switch of DLUX for prepare
# 2.13 Adapt ODLBIN to odl.sh and buildv2.sh,
# Fix "yes" answer for cluster distremove
# introduce cluster push
# kill command
# 2.14 add compile command
# 2.15 move im install script to odl.cmd
# 2.16 Add $ODL_KARAF_STARTUP_SCRIPT_CLUSTER for cluster command
# cp for filecopy
# 2.17 odl.cmd moved back into bin/odl.sh
# Added prepare with copy of etc/preload.cache.schema to cache/schema into startup
# status command delivers version information
# 2.18 Add loop for cluster commands
# 2.19 Change startup feature
# Add parent version variable ODLPARENT
# 2.20 Added parameter KARAFSLEEPFORSTART
# 2.21 Typos fixed
Version=2.21
# ----- Constants not depending on variables specified by $CONFIG
ODLPARENT="0.5.1-SNAPSHOT"
STARTFEATURE="odl-dev-all"
KARAFSLEEPFORSTART=30
ODLBIN=../bin
CONFIG=dist.conf
# ----- Functions to startup Vanilla ODL
karaf_prepare() {
echo "Prepare"
echo $ODL_KARAF_HOME
ODLCACHESCHEMADIR="$ODL_KARAF_HOME/cache/schema"
ETCCACHESCHEMADIR="$ODL_KARAF_HOME/etc/preload.cache.schema"
if [ -d "$ETCCACHESCHEMADIR" ] ; then
echo "Handle YANG preload"
if [ -d "$ODLCACHESCHEMADIR" ] ; then
echo "Remove all files in YANG cache/schema directory"
rm $ODLCACHESCHEMADIR/*
else
echo "YANG cache/schema directory created"
mkdir -p $ODLCACHESCHEMADIR
fi
cp $ETCCACHESCHEMADIR/* $ODLCACHESCHEMADIR
fi
}
# Startup of single node (no clustering)
karaf_startup_all() {
# Prepare
karaf_prepare
# Base
karafcmd "feature:install odl-netconf-topology"
karafcmd "feature:install odl-netconf-connector"
karafcmd "feature:install odl-restconf-all"
karafcmd "feature:install odl-mdsal-apidocs"
# Logs and apps
karaf_enable_logs
karaf_startup_apps
}
# Startup of clustered nodes (no clustering)
karaf_startup_cluster_all() {
# Prepare
karaf_prepare
# Base
karafcmd "feature:repo-add mvn:org.opendaylight.mwtn/mwtn-parent/$ODLPARENT/xml/features"
karafcmd "feature:install odl-mwtn-cluster-preparation"
# Logs and apps
karaf_enable_logs DEBUG
karaf_startup_apps
}
# Sub functions
karaf_startup_apps() {
# Wireless (mwtn: microwave transport network)
karafcmd "feature:repo-add mvn:org.opendaylight.mwtn/mwtn-parent/$ODLPARENT/xml/features"
karafcmd "feature:install $STARTFEATURE"
#If restart is required set RESTART to true
# RESTART="true"
}
karaf_enable_logs() {
if [ -z "$1" ] ; then
LOGLEVEL="INFO"
else
LOGLEVEL="$1"
fi
karafcmd "log:set $LOGLEVEL com.highstreet.technologies"
karafcmd "log:set $LOGLEVEL org.opendaylight.mwtn"
karafcmd "log:set $LOGLEVEL org.opendaylight.netconf"
}
karafcmd() {
echo "$@"
$ODL_KARAF_HOME/bin/client -u karaf "$@" 2> /dev/null
if [ ! -z "$ODL_KARAF_AFTERCMD_DELAY_SECONDS" ] ; then
echo "Pause $ODL_KARAF_AFTERCMD_DELAY_SECONDS seconds"
sleep "$ODL_KARAF_AFTERCMD_DELAY_SECONDS"
fi
}
install_originM2() {
#Network apps
cp -r ~/.m2/repository/org/opendaylight/mwtn $ODL_KARAF_HOME/system/org/opendaylight
cp -r ~/.m2/repository/com/highstreet $ODL_KARAF_HOME/system/com
#Additional package for feature odl-ht-info
mkdir -p $ODL_KARAF_HOME/system/org/apache/commons/commons-compress
cp -r ~/.m2/repository/org/apache/commons/commons-compress/1.14 $ODL_KARAF_HOME/system/org/apache/commons/commons-compress
}
# ----- Functions of script to implement commands
#check if tool is installed as prereq
tool_check_installed() {
hash $1 2>/dev/null || { echo >&2 "I require $1 but it's not installed. Please install. Aborting."; exit 1; }
}
#check if karaf instance is running
karaf_checkrunning() {
NETSTATRESULT=$(netstat -ant | grep 8101)
if [ -n "$NETSTATRESULT" ] ; then
reason="$NETSTATRESULT"
running="true"
else
running1=$(ps -ef | grep -c karaf.jar)
sleep 1
running2=$(ps -ef | grep -c karaf.jar)
reason="psResults: $running1 $running2"
if [ "$running1" = "2" -o "$running2" = "2" ] ; then
running="true"
else
running="false"
fi
fi
#echo "Test running: $running indication:$reason"
}
karaf_status() {
echo "Version information"
cat $ODL_KARAF_HOME/networkAppVersion.txt
karaf_checkrunning
echo "Karaf is running: $running"
}
karaf_waittillstopped() {
KARAF_WAITFORSTOP="5"
anzahl=0
echo -n "Wait for stop "
karaf_checkrunning
while [ "$running" = "true" -a "$anzahl" -lt 30 ]
do
(( anzahl++ ))
# echo "Wait ($anzahl) for karaf stop. Wait $KARAF_WAITFORSTOP seconds"
echo -n "."
sleep $KARAF_WAITFORSTOP
karaf_checkrunning
done
echo
if [ "$running" = "true" ]
then
echo "Exceeded wait counter. Waited $anzahl * $KARAF_WITFORSTOP seconds. Karaf still running. Reason is $reason"
else
echo "Karaf reached stop status with $reason"
fi
}
karaf_startifnotrunning() {
karaf_checkrunning
if [ "$running" = "true" ]
then
echo "Can not start, karaf is already running. Reason: $reason"
else
if [ "$1" = "clean" ] ; then
$ODL_KARAF_HOME/bin/start clean
echo "Started with clean"
else
$ODL_KARAF_HOME/bin/start
echo "Started"
fi
fi
}
# Start all servies
# see beginning of this script
#Param1 Optional Param2 Optional
karaf_cleanstart() {
echo "start karaf clean with parameters $1 $2"
if [ -f "$ODL_KARAF_HOME/etc/opendaylight" ]
then
echo "Remove old ODL configuration"
rm -r $ODL_KARAF_HOME/etc/opendaylight
fi
echo "Start karaf"
$ODL_KARAF_HOME/bin/start clean
echo "Wait $KARAFSLEEPFORSTART s till karaf and ssh is in a working level"
sleep $KARAFSLEEPFORSTART
netstat -ant | grep 8101
echo "Provisioning $1"
if [ -z "$ODL_KARAF_STARTUP_SCRIPT" ] ; then #Old scripting names
if [ "$1" = "1b" ] ; then
karaf_startup_1b
else
karaf_startup_all
fi
else #Use startup script according to configuration
if [ "$1"="cluster" ] ; then
echo "Cluster start command"
if [ -z "$ODL_KARAF_STARTUP_SCRIPT_CLUSTER" ] ; then
echo "Using normal startup script"
$ODL_KARAF_STARTUP_SCRIPT
else
echo "Using cluster startup script"
$ODL_KARAF_STARTUP_SCRIPT_CLUSTER
fi
else
$ODL_KARAF_STARTUP_SCRIPT
fi
fi
if [ "$1" = "x" -o "$2" = "x" -o "$RESTART" = "true" ] ; then
echo "Executed with restart option .."
sleep 5
$ODL_KARAF_HOME/bin/stop
echo "Re-starting Karaf to finish setup"
karaf_waittillstopped
if [ "$1" = "d" -o "$2" = "d" ] ; then
rp=$ODL_KARAF_HOME/data/log
echo "Remove all logs from $rp"
rm "$rp"/*
fi
karaf_startifnotrunning
fi
echo "Ready"
}
# Install from dir $1 all subs with mask $2.
# Example: install_originM2Range "com/highstreet/technologies/solutions" "sdn4*"
install_originM2Range() {
mkdir -p $ODL_KARAF_HOME/system/$1
cp -R $HOME/.m2/repository/$1/$2 $ODL_KARAF_HOME/system/$1
}
install_tarFile() {
if [ ! -e "$1" ] ; then
echo "No tar file $1"
exit 4
else
echo "Do install file $1 to karaf container"
tar -xf "$1" -C "$ODL_KARAF_HOME"
echo "Done"
fi
}
install_originBuild() {
if [ -z "$ODL_BUILD_HOME" ] ; then
echo "No ODL_BUILD_HOME defined. Terminate" ; exit 2
fi
echo "Build home at $ODL_BUILD_HOME"
if [ ! -e $ODL_BUILD_HOME/builds/version.txt ] ; then
echo "No builds available Terminate." ; exit 2
fi
source $ODL_BUILD_HOME/builds/version.txt
echo "Install Version $LASTBUILDTAR"
tar -xf "$ODL_BUILD_HOME/builds/$LASTBUILDTAR" -C "$ODL_KARAF_HOME"
echo "Version info"
cat $ODL_KARAF_HOME/networkAppVersion.txt
}
clean_repository() {
echo Clean repository .m2 and karaf/system
rm -r ~/.m2/repository/org/opendaylight/mwtn
rm -r ~/.m2/repository/org/opendaylight/apigateway
rm -r ~/.m2/repository/cn/com/zte
rm -r ~/.m2/repository/com/hcl
rm -r ~/.m2/repository/com/highstreet
rm -r $ODL_KARAF_HOME/system/com/highstreet
rm -r $ODL_KARAF_HOME/system/com/hcl
rm -r $ODL_KARAF_HOME/system/cn/com/zte
rm -r $ODL_KARAF_HOME/system/org/opendaylight/mwtn
rm -r $ODL_KARAF_HOME/system/org/opendaylight/apigateway
}
# Parameter1 nodlux
prepare() {
#tool_check_installed unzip
#tool_check_installed sshpass
KARAFDISTBASENAME=$ODL_KARAF_DIST
KARAFGZ=$ODL_KARAF_DISTGZ
NODLUX="nodlux"
if [ ! -f "$KARAFGZ" ] ; then
echo "ERROR: Could not find tar file with karaf distribution: $KARAFGZ"
else
if [ "$1" != "$NODLUX" -a ! -f "$TARFILE_DLUXLOADER" ] ; then
echo "WARN: Could not find tar with DLUX patch $TARFILE_DLUXLOADER. .. proceeding without Patching"
fi
if [ -d "$ODL_KARAF_HOME" ] ; then
echo "Found existing Karaf distribution at $ODL_KARAF_HOME. Can not proceed. Please remove or rename."
else
echo "Start installation $KARAFDISTBASENAME"
echo "Unpack karaf distribution"
cd $HOME
cd Downloads
tar -xzf $KARAFDISTBASENAME".tar.gz"
mv "$KARAFDISTBASENAME" "$ODL_KARAF_HOME"
cd "$here"
if ! [ -d "$ODL_KARAF_HOME" ] ; then
echo "ERROR: Could not find ODL_KARAF_HOME. Can not proceed if not existing."
else
echo "READY, create link dist"
ln -s $ODL_KARAF_HOME dist
if [ "$1" != "$NODLUX" ] ; then
echo "Install DLUX patch"
installDluxPatch tar
fi
fi
fi
fi
}
show_env() {
echo "ENV settings:"
echo " ODL_KARAF_DIST: $ODL_KARAF_DIST"
echo " ODL_KARAF_HOME: $ODL_KARAF_HOME"
echo " JAVA_HOME: $JAVA_HOME"
}
#Param1: Mandatory Param2:optional Param3:optional
do_install() {
echo "Install from $1 to Karaf"
if [ ! -d "$ODL_KARAF_HOME" ] ; then
echo "ERROR: Karaf not installed at $ODL_KARAF_HOME. Stop execution."
exit 2
fi
sleep 2
karaf_checkrunning
if [ "$running" = "true" ]
then
echo "karaf instance is running. Stop first. Indication '$reason'"
else
echo "Start install to karaf"
case "$1" in
build)
install_originBuild
karaf_cleanstart $2 $3
;;
m2)
if [ "$(type -t install_originM2)" == "function" ] ; then
install_originM2
karaf_cleanstart $2 $3
else
echo "Error: Install function not defined. Exit."
fi
;;
tar)
install_tarFile $2
shift
karaf_cleanstart $3 $4
;;
*)
echo "Script error: missing installation command"
;;
esac
fi
}
karaf_distremove() {
echo "Remove karaf installation"
karaf_checkrunning
if [ "$running" = "true" ]
then
echo "karaf instance is running. Stop first"
else
if [ "$1" = "force" ] ; then
answer=yes
else
read -p "Delete karaf installation. if you are sure type yes<enter> " answer
fi
if [ "$answer" == "yes" ] ; then
echo "Remove ..."
rm -r $ODL_KARAF_HOME
echo "Remove link"
rm dist
echo "removed"
else
echo "Did nothing"
fi
fi
}
# Par1 Install command
installDluxPatch() {
#Default is the tar file
DLUXAPPHOME="apps/dlux"
TARGETDIR="$DLUXAPPHOME/loader/impl/target"
LOADERREPO="org/opendaylight/dlux"
LOADERNAME="loader.implementation"
case "$1" in
m2)
if [ -d $TARGETDIR ] ; then
echo "Copy DLUX Patch from repository"
cp -r "$HOME/.m2/repository/$LOADERREPO/loader.implementation" "$ODL_KARAF_HOME/system/$LOADERREPO"
else
echo "ERROR No compiled DLUX Version or tarfile for repositiory found. "
echo " - Please compile dlux."
echo " - Install DLUX Patch with $ODL/odl.sh dlux m2"
fi
;;
tar)
if [ -f "$TARFILE_DLUXLOADER" ] ; then
echo "Install DLUX Patch from existing tar"
tar -xzf "$TARFILE_DLUXLOADER" -C "$ODL_KARAF_HOME/system"
echo "Done"
else
echo "DLUX tar file not found: $TARFILE_DLUXLOADER"
fi
;;
create)
echo "Create tar file"
if [ -d $TARGETDIR ] ; then
HERE=$(pwd)
stringa=($(cd $TARGETDIR ; ls $LOADERNAME*jar))
if [[ ${stringa[0]} =~ $LOADERNAME-(.*).jar ]] ; then
version="${BASH_REMATCH[1]}"
echo $version
M2INPUTNAME="$LOADERREPO/$LOADERNAME/$version"
TAROUTPUTNAME="$HERE/$DLUXAPPHOME/$ODL_KARAF_DIST.dluxloader.tar.gz"
echo "Creating file: $TAROUTPUTNAME"
echo "Reading from: $M2INPUTNAME"
cd "$HOME/.m2/repository"
tar -czf "$TAROUTPUTNAME" "$M2INPUTNAME"
echo Done
fi
cd $HERE
else
echo "ERROR No compiled DLUX Version for repositiory found. "
echo " - Please compile dlux."
fi
;;
*)
echo "use $ODLBIN/odl.sh dlux [m2|tar|create] to install from m2-repository or install tar file or create tar file"
;;
esac
}
# -----------------------------------------------------
# ----- Cluster commands
# P1: Passwd P2: Username P3:ServerIP P4, P5: Remote commands
karafclustercmd() {
rcmd="cd $here ; $ODLBIN/odl.sh $4 $5"
cmd="sshpass -p$1 ssh -o StrictHostKeyChecking=no $2@$3 $rcmd"
echo "--------- Begin at node: $3 -----------"
$cmd
echo "--------- Ende at node: $3 ------------"
}
# P1: Passwd P2: Username P3:ServerIP P4, P5: Remote commands
karafclustercmdnohup() {
#Template: nohup myprogram > foo.out 2> foo.err < /dev/null &
echo " Start install for node $3"
rcmd="cd $here ; nohup $ODLBIN/odl.sh $4 $5 &> odl.log < /dev/null &"
cmd="sshpass -p$1 ssh -o StrictHostKeyChecking=no $2@$3 $rcmd"
$cmd
echo "Command executed in background. Result see odl.log."
}
karafclustercreate() {
if [ -z "$1" ] ; then
read -p "Please enter password for user $USER: " -r -s USERPWD
echo
fi
for i in ${!ODL_CLUSTER_ARRAY[@]} ; do
rcmd="cd $here ; $ODL_KARAF_HOME/bin/configure_cluster.sh $((i+1)) ${ODL_CLUSTER_ARRAY[@]}"
cmd="sshpass -p$USERPWD ssh -o StrictHostKeyChecking=no $USER@${ODL_CLUSTER_ARRAY[$i]} $rcmd"
echo "--------- Start Node: ${ODL_CLUSTER_ARRAY[$i]} ----------- CMD: $rcmd"
$cmd
echo "--------- Ende Node: ${ODL_CLUSTER_ARRAY[$i]}------------"
done
}
pause() {
read -p "($1) Hit enter ..." -r -s TMP
echo
}
#Destination is $ODL_BUILD_HOME
#Source is $ODL_CLUSTER_REPO
pushbuildinfo() {
if [ -z $ODL_CLUSTER_REPO ] ; then
echo "No cluster repository specified by ODL_CLUSTER_REPO. Can not proceed."
else
if [ -z "$ODL_BUILD_HOME" ] ; then
echo "No ODL_BUILD_HOME defined. Terminate" ; exit 2
fi
echo "Build home at $ODL_CLUSTER_REPO"
ODL_VERSION_FILE="$ODL_CLUSTER_REPO/builds/version.txt"
if [ ! -e $ODL_VERSION_FILE ] ; then
echo "No builds available Terminate." ; exit 2
fi
#Read version information
source $ODL_VERSION_FILE
echo "Prepare cluster with $BUILDTAG and prepare configuration files."
echo "Destination repository: $ODL_BUILD_HOME Source repository: $ODL_CLUSTER_REPO"
if [ -z "$1" ] ; then
read -p "Please enter password for user $USER: " -r -s USERPWD
echo
fi
for i in ${ODL_CLUSTER_ARRAY[@]} ; do
echo "Copy to $i:$ODL_BUILD_HOME"
sshpass -p$USERPWD ssh -o StrictHostKeyChecking=no $USER@$i "mkdir -p $ODL_BUILD_HOME/builds"
sshpass -p$USERPWD scp "$ODL_CLUSTER_REPO/builds/$LASTBUILDTAR" "$i:$ODL_BUILD_HOME/builds"
sshpass -p$USERPWD scp "$ODL_VERSION_FILE" "$i:$ODL_BUILD_HOME/builds"
sshpass -p$USERPWD scp -r "$ODL_CLUSTER_REPO/bin" "$i:$ODL_BUILD_HOME"
sshpass -p$USERPWD ssh -o StrictHostKeyChecking=no $USER@$i "mkdir -p $here"
sshpass -p$USERPWD scp "$here/$CONFIG" "$i:$here"
# sshpass -p$USERPWD scp "$here/$ODLCMD" "$i:$here"
sshpass -p$USERPWD ssh -o StrictHostKeyChecking=no $USER@$i "cd $here ; chmod 755 $ODL_BUILD_HOME/bin/odl.sh ; if [ ! -e odl ] ; then ln -s $ODL_BUILD_HOME/bin/odl.sh odl ; fi"
done
fi
}
#Destination is $here/dist
#Parameter $1 is sourcedirectory
clusterfilecopy() {
if [ -z "$1" ] ; then
echo "ERROR: Need a path as parameter"
else
echo "Copy all files from directory $1/* to $here/dist/$1 on each node."
read -p "Please enter password for user $USER: " -r -s USERPWD
echo
for i in ${ODL_CLUSTER_ARRAY[@]} ; do
destpath="$i:$here/dist"
echo "Copy $here/$1 to $destpath"
sshpass -p$USERPWD scp -r "$1" "$destpath"
done
fi
}
karafclusterinfo() {
echo "Using user $USER"
echo "Cluster: ${ODL_CLUSTER_ARRAY[@]}"
}
karafcluster() {
CLUSTERCLI="TRUE"
while [ $CLUSTERCLI = "TRUE" ] ; do
if [ -z "$ODL_CLUSTER_ARRAY" ] ; then
echo "No cluster in '$ODL_CLUSTER_ARRAY' specified"
else
tool_check_installed sshpass
echo "Cluster: ${ODL_CLUSTER_ARRAY[@]}"
if [ -z "$1" ] ; then
read -p "cluster cmd> " answer
set -- $answer
else
CLUSTERCLI="FALSE"
fi
case "$1" in
cp)
clusterfilecopy $2
;;
create)
karafclustercreate
;;
distremove)
read -p "Confirm karaf cluster installation deletion. If you are sure type yes<enter> " answer
if [ "$answer" = "yes" ] ; then
echo "Change to forced mode."
set -- distremove force
function="karafclustercmd"
else
echo "Terminated by user"
fi
;;
"" | exit)
CLUSTERCLI="FALSE"
function=""
;;
info)
karafclusterinfo
;;
im* | ib*)
echo "Started on each node in background. See odl.log"
function="karafclustercmdnohup"
set -- $1 cluster
;;
push)
pushbuildinfo
;;
*)
function="karafclustercmd"
;;
esac
if [ ! -z "$function" ] ; then
read -p "Please enter password for user $USER: " -r -s USERPWD
echo
for i in "${ODL_CLUSTER_ARRAY[@]}" ; do
$function $USERPWD $USER $i $1 $2
done
if [ "$1" = "prepare" ] ; then
read -p "Proceed with create (y/n): " answer
case "$answer" in
y*) karafclustercreate $USERPWD
;;
esac
fi
fi
fi
if [ $CLUSTERCLI = "TRUE" ] ; then
set -- ""
fi
done
}
# -----------------------------------------------------
# ----- Script body
echo "AppToODL installer $Version"
if [ -f $CONFIG ] ; then
echo "Load configuration"
source "$CONFIG"
else
script_command="Error: No $CONFIG file .. can not proceed. Create this file and specify the right versions:"
echo $script_command
echo 'ODL_KARAF_DIST="distribution-karaf-0.6.1-Carbon"'
echo 'ODL_KARAF_HOME=$HOME/odl/$ODL_KARAF_DIST'
echo 'ODL_KARAF_DISTGZ="$HOME/Downloads/"$ODL_KARAF_DIST".tar.gz"'
echo 'ODL_BUILD_HOME="$HOME/build/acme"'
echo 'ODL_KARAF_STARTUP_SCRIPT="karaf_startup_all"'
echo 'export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"'
echo
echo "Example for downloading the distribution:"
echo 'wget https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.1-Carbon/distribution-karaf-0.6.1-Carbon.tar.gz'
exit 1
fi
#Since 2.17 moved back to script
#if [ -f $ODLCMD ] ; then
# source $ODLCMD
#else
# script_command="Error: No $ODLCMD file .. can not proceed"
# echo $script_command
# exit 1
#fi
TARFILE_DLUXLOADER="apps/dlux/$ODL_KARAF_DIST.dluxloader.tar.gz"
echo "Karaf home: $ODL_KARAF_HOME"
here=$(pwd)
echo "Executed here: $here"
echo ""
if [ -z "$ODL_KARAF_HOME" -o -z "$ODL_KARAF_DIST" ]
then
echo "Missing ENV setting ODL_KARAF_HOME or ODL_KARAF_DIST. Can not execute."
show_env
script_command="Error Incomplete ENV"
else
script_command="ok"
fi
#echo "Command: $script_command"
if [ "$script_command" = "ok" ] ; then
case "$1" in
build)
if [ -z "$ODL_BUILD_HOME" ] ; then
echo "No build configuration found. Specify '$ODL_BUILD_HOME'."
else
echo "Enter build subsystem at location $ODL_BUILD_HOME"
shift
$ODLBIN/buildv2.sh $@
fi
;;
cli)
shift
karafcmd $@
;;
clu*)
shift
karafcluster $@
;;
dlux)
echo "Install DLUX Patch"
shift
installDluxPatch $@
;;
env)
show_env
;;
kill)
echo "Kill ODL instance"
pkill -e -f "Dkaraf.home=.home.herbert.odl.$ODL_KARAF_DIST"
;;
test)
echo "Test a little bit"
here=$(pwd)
echo "Path: $here"
cd $HOME
echo "List1"
ls
cd $here
echo "List2"
ls
karaf_prepare
;;
v)
echo "List app versions"
mvn --version
git --version
echo "node: " ; node --version
echo "npm: " ; npm --version
echo "jq: " ; jq --version
echo "bower" ; bower --version
;;
restart)
echo "restart command"
karaf_checkrunning
if [ "$running" = "true" ] ; then
$ODL_KARAF_HOME/bin/stop
karaf_waittillstopped
karaf_startifnotrunning $2
else
echo "Already stopped .. do start"
karaf_startifnotrunning $2
fi
;;
stop)
echo "stop command"
karaf_checkrunning
if [ "$running" = "true" ] ; then
$ODL_KARAF_HOME/bin/stop
karaf_waittillstopped
else
echo "Already stopped"
fi
;;
start)
echo "start command"
karaf_startifnotrunning $2
;;
bower)
echo "Install bower"
cd ./ux/mwtnCommons/mwtnCommons-module/src/main/resources/mwtnCommons/
./bowerInstall.sh
cd $here
;;
dbclean)
database_cleansetup
;;
untar)
echo "Extract karaf"
prepare nodlux
;;
prepare)
echo "Prepare prepare"
prepare $2
;;
a)
echo "Compile all"
mvn clean install -DskipTests
if [[ $? -ne 0 ]] ; then
echo "could not complete"
else
do_install m2
fi
;;
d)
app="devicemanager"
echo "Compile $app"
cd apps/$app
mvn clean install -DskipTests
rc=$?
cd $here
if [[ $rc -ne 0 ]] ; then
echo "could not complete"
else
do_install m2 d
fi
;;
distremove)
karaf_distremove $2
;;
ib)
do_install build $2
;;
imd)
do_install m2 d $2
;;
im)
do_install m2 $2
;;
it)
do_install tar $2
;;
karafclean)
karaf_cleanstart
;;
log)
vi dist/data/log/karaf.log
;;
migrate)
echo "Migrate index$2 to index$3"
elasticdump --input=http://localhost:9200/sdnevents_$2 --output=http://localhost:9200/sdnevents_$3 --type=data --limit=100000
;;
mvn)
echo "try to compile $2"
here=`pwd`
cd "$2"
mvn clean install -DskipTests
cd "$here"
;;
status)
karaf_status
;;
debug)
karaf_enable_logs $2
;;
*)
if [ ! "$1" == "help" ] ; then
echo "ERROR Unknown command $1"
fi
echo "Commands:"
echo " a for build all and install from M2"
echo " build enter build subsystem"
echo " build, deliver"
echo " bower for install bower"
echo " cli start karaf command line"
echo " cluster xx cluster commands and all other commands"
echo " status, ib, im, stop, push, distremove, cp"
echo " env List environment variables"
echo " d for devicemanager and install from M2"
echo " dbclean clean db and load with initial data"
echo " debug activate debug for netconf and mwtn"
echo " distremove remove existing karaf distribution"
echo " dlux install DLUX patch. Use dlux [m2|tar|create] to install from m2-repository or install tar file or create tar file"
echo " help List this help"
echo " ib for install from Build-directory"
echo " im for install from M2-directory"
echo " imd for install from M2-directory. Delete logs before start command"
echo " it fn install tar file to container"
echo " karafclean start clean and install apps on karaf"
echo " kill hard termination of ODL instance"
echo " log vi karaf.log"
echo " migrate migrate Param1 Param2 Migrate on localhost"
echo " mvn [folder] compile folder with maven with parameter -DskipTests"
echo " prepare [nodlux] to install and prepare a karaf. tar version expected in Downloads."
echo " untar to extract karaf."
echo " test do some testing"
echo " start start karaf"
echo " status display karaf status"
echo " stop stop and wait karaf"
echo " restart stop and start karaf"
echo " repoclean clean the repositories"
echo " v get Versions"
;;
esac
fi
unset install_err