X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2Fresources%2Frest_api%2Fct%2Fct.sh;h=0f9fd18c1d1a6c6154ec7649d1903df27edac46a;hb=8a597c7ccbe2986f505fd70258e4b59ecef4166f;hp=1ae0224a7ee056e9a4e57a4bf8d1d03262eb26fe;hpb=c200ffa70e1d93f5cb3137f3542245c44c05b008;p=anna.git diff --git a/example/diameter/launcher/resources/rest_api/ct/ct.sh b/example/diameter/launcher/resources/rest_api/ct/ct.sh index 1ae0224..0f9fd18 100755 --- a/example/diameter/launcher/resources/rest_api/ct/ct.sh +++ b/example/diameter/launcher/resources/rest_api/ct/ct.sh @@ -7,14 +7,24 @@ REPO_DIR="$(git rev-parse --show-toplevel 2>/dev/null)" [ -z "$REPO_DIR" ] && { echo "You must execute under a valid git repository !" ; exit 1 ; } -SERVICES=${REPO_DIR}/example/diameter/launcher/resources/rest_api/ct/resources/servicesJson-request.json +SERVICES=${REPO_DIR}/example/diameter/launcher/resources/rest_api/ct/resources/servicesRxJson-request.json ENDPOINT=http://localhost:8074 PORT=$(echo ${ENDPOINT} | cut -d: -f3) -C_NAME=adml-http +SVC_NAME=anna-adml-http +# Entrypoint arguments (ft/st): +EXTRA_ARGUMENTS= # default is ft (function test: debug traces and traffic logs) + +VARIANT=${1:-Release} ############# # EXECUTION # ############# + +echo +echo "Variant: ${VARIANT}" +echo "Remember usage: $0 [variant: <[Release]|Debug]>" +echo + cd $(dirname $0) # Basic requirement: @@ -26,25 +36,44 @@ echo echo "Rebuild ADML HTTP service image (y/n) [y]:" read opt [ -z "${opt}" ] && opt=y -[ "${opt}" = "y" ] && ${REPO_DIR}/tools/build-adml-http +if [ "${opt}" = "y" ] +then + ${REPO_DIR}/tools/build-anna-adml-http ${VARIANT} +fi version=$(${REPO_DIR}/tools/version) -echo "Restart ADML HTTP service image (version '${version}') ..." -docker kill ${C_NAME} >/dev/null -cid=$(docker run --rm -d -p ${PORT}:${PORT} --name ${C_NAME} anna-adml-http:${version}) -echo "Container id: ${cid} (deployed as '${C_NAME}')" +cname=${SVC_NAME} +[ "${VARIANT}" = "Debug" ] && { version=${version}-debug ; cname=${cname}-debug ; } +echo "Restart ADML HTTP service image (version '${version}') (y/n) [y]:" +read opt +[ -z "${opt}" ] && opt=y +if [ "${opt}" = "y" ] +then + docker kill ${SVC_NAME} &>/dev/null + docker kill ${SVC_NAME}-debug &>/dev/null + cid=$(docker run --rm -d -p ${PORT}:${PORT} --name ${cname} anna-adml-http:${version} ${EXTRA_ARGUMENTS} >/dev/null) + [ $? -ne 0 ] && exit 1 + echo "Container id: ${cid} (deployed as '${cname}')" +fi echo echo "Configuring services (${SERVICES}) ..." sleep 4 # wait for docker running -nghttp -H ":method: POST" -d ${SERVICES} ${ENDPOINT}/services -echo +nghttp -H ":method: POST" -d ${SERVICES} ${ENDPOINT}/services | tee .response.json | jq '.' +result=$(cat .response.json | jq -r '.["success"]') +rm .response.json +if [ "${result}" = "false" ] +then + echo + echo "Check if another ADML HTTP service (anna-adml-http*) has been started (port ${PORT} busy ?)" + exit 1 +fi echo echo -n "Waiting for server-client connection ..." while true do - docker exec -it ${C_NAME} bash -c "netstat -p $(pgrep ADML) --numeric-ports | grep -w 3868 | grep -w ESTABLISHED" >/dev/null + docker exec -it ${cname} bash -c "netstat -p \$(pgrep ADML) --numeric-ports | grep -w 3868 | grep -w ESTABLISHED" >/dev/null [ $? -eq 0 ] && break echo -n . sleep 1