X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2Fdeployments%2Fadvanced%2Fpre-start.sh;fp=example%2Fdiameter%2Flauncher%2Fdeployments%2Fadvanced%2Fpre-start.sh;h=49a83ff0f3df73d435e3c3e17a7f0c99369cae46;hb=7bf36f6cec41494071f07699184d8230ccd8cb41;hp=0000000000000000000000000000000000000000;hpb=08bdffbddf4bc0938eadec51af88de18734beda3;p=anna.git diff --git a/example/diameter/launcher/deployments/advanced/pre-start.sh b/example/diameter/launcher/deployments/advanced/pre-start.sh new file mode 100755 index 0000000..49a83ff --- /dev/null +++ b/example/diameter/launcher/deployments/advanced/pre-start.sh @@ -0,0 +1,92 @@ +#!/bin/bash + +# Remove logs: +rm *.log* *.csv 2>/dev/null + +# Server sockets: +httpServer_dflt=`cat .httpServer 2>/dev/null` +diameterServer_dflt=`cat .diameterServer 2>/dev/null` +diameterServerSessions_dflt=`cat .diameterServerSessions 2>/dev/null` + +# Client sockets: +entity_dflt=`cat .entity 2>/dev/null` +entityServerSessions_dflt=`cat .entityServerSessions 2>/dev/null` + +# Stack: +dictionary_dflt=`cat .dictionary 2>/dev/null` + +echo +echo +# If all have values: +if [ "$httpServer_dflt" != "" -a "$diameterServer_dflt" != "" -a "$diameterServerSessions_dflt" != "" -a \ + "$entity_dflt" != "" -a "$entityServerSessions_dflt" != "" -a \ + "$dictionary_dflt" != "" ] +then + echo "Do you wish to answer wizard commandline configuration ? (y/n) [n]:" + read wizard + [ "$wizard" = "" ] && wizard=n + [ "$wizard" = "n" ] && exit +fi + +# DEFAULTS +[ "$httpServer_dflt" = "" ] && httpServer_dflt="localhost:9000" +[ "$diameterServer_dflt" = "" ] && diameterServer_dflt="localhost:3868" +[ "$diameterServerSessions_dflt" = "" ] && diameterServerSessions_dflt=1 +[ "$entity_dflt" = "" ] && entity_dflt="localhost:4000,localhost:4001" +[ "$entityServerSessions_dflt" = "" ] && entityServerSessions_dflt=0 +[ "$dictionary_dflt" = "" ] && dictionary_dflt=dictionary.xml + + +# Wizard +echo "HTTP Management interface address (using i.e. curl tool) as : socket literal [$httpServer_dflt]:" +read httpServer +[ "$httpServer" = "" ] && httpServer=$httpServer_dflt + +echo "Diameter dictionary: you could use '/opt/bin/anna/example_diameter_stackManagement' tool in order to build" +echo " autonomous dictionaries for any kind of application. The key is to concatenate xml contents (ietf, 3gpp," +echo " vendor-specific, etc.). See 'example/diameter/stackManagement/self_ruling_setups.sh' for this." +echo +echo "This launcher can also join them providing a comma-separated list (dictionaries available on ./stack)." +echo "By default, a QoS Application setup is suggested. Input the desired configuration instead, or press ENTER:" +echo +echo " [$dictionary_dflt]:" +read dictionary +[ "$dictionary" = "" ] && dictionary=$dictionary_dflt + +# As server: +echo "Diameter own server available connections (0: diameter server disabled) [$diameterServerSessions_dflt]:" +read diameterServerSessions +[ "$diameterServerSessions" = "" ] && diameterServerSessions=$diameterServerSessions_dflt + +diameterServer= +if test "$diameterServerSessions" != "0" +then + echo "Diameter own server address as : socket literal [$diameterServer_dflt]:" + read diameterServer +fi +[ "$diameterServer" = "" ] && diameterServer=$diameterServer_dflt + +# As client: +echo "Diameter entity server sessions (0: diameter entity disabled) [$entityServerSessions_dflt]:" +read entityServerSessions +[ "$entityServerSessions" = "" ] && entityServerSessions=$entityServerSessions_dflt + +entity= +if test "$entityServerSessions" != "0" +then + echo "Target diameter entity (pipe-separated : socket literal list) ["$entity_dflt"]:" + read entity +fi +[ "$entity" = "" ] && entity="$entity_dflt" + +# Configure: +echo $httpServer > .httpServer +echo $dictionary > .dictionary +echo $diameterServer > .diameterServer +echo $diameterServerSessions > .diameterServerSessions +echo $entity > .entity +echo $entityServerSessions > .entityServerSessions + +echo +echo +