X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=csit%2Fscripts%2Fsdnr%2Fsdnr-launch.sh;h=39ca8081353b3444b7e2443690234989a45c0f46;hb=83da3b4380d992d5891ed8e35b305358db9af4ff;hp=e79a6ada515333c42d984a34710e6a37011eb296;hpb=c3ff30e996b138db0cf25789ca734fc189c395b5;p=sdnc%2Foam.git diff --git a/csit/scripts/sdnr/sdnr-launch.sh b/csit/scripts/sdnr/sdnr-launch.sh index e79a6ada..39ca8081 100755 --- a/csit/scripts/sdnr/sdnr-launch.sh +++ b/csit/scripts/sdnr/sdnr-launch.sh @@ -28,8 +28,6 @@ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose which docker-compose docker version docker-compose version -# WA: no space left on device. -docker system prune -f -a if [[ -z $WORKSPACE ]]; then CUR_PATH="`dirname \"$0\"`" # relative path @@ -49,6 +47,7 @@ fi HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $7}') SDNC_WEB_PORT=${SDNC_WEB_PORT:-8282} +SDNC_PORT=${SDNC_PORT:-8181} env_file="--env-file ${SCRIPTS}/sdnr/docker-compose/.env" echo $env_file @@ -64,6 +63,29 @@ else fi docker ps -a +# Call function with port like: +# check_for_ready_state 1234 +# export SDNC_READY_RETRY_PERIOD and SDNC_READY_TIMEOUT to overwrite default values +function check_for_ready_state() { + sdnc_port=${1} + SDNC_READY_RETRY_PERIOD=${SDNC_READY_RETRY_PERIOD:-15} + SDNC_READY_TIMEOUT=${SDNC_READY_TIMEOUT:-450} + max_retry=$(expr $SDNC_READY_TIMEOUT / $SDNC_READY_RETRY_PERIOD) + for ((i=1; i<=$max_retry; i++)); do + wait_time=$(expr $i \* $SDNC_READY_RETRY_PERIOD) + echo "[INFO] SDNC/R container not yet ready after: $wait_time seconds, Timeout: $SDNC_READY_TIMEOUT seconds" + curl -sS -m 1 -k -D - ${HTTPS_PREFIX}${HOST_IP}:${sdnc_port}/ready | grep 200 && break + if [ $i == $max_retry ]; then + echo "[ERROR] SDNC/R container not ready after ${SDNC_READY_TIMEOUT} seconds!" + export SDNC_READY_STATE_TIME_OUT=true + return + fi + echo sleep ${SDNC_READY_RETRY_PERIOD} + sleep ${SDNC_READY_RETRY_PERIOD} + done + echo "[INFO] SDNC/R container ready after: $wait_time seconds" +} + function onap_dependent_components_launch() { docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-onap-addons.yaml pull docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-onap-addons.yaml up -d @@ -89,50 +111,37 @@ function sdnr_launch() { #sdnrwtbootfeatures="-e SDNRWT_BOOTFEATURES=odl-netconf-callhome-ssh,sdnr-wt-feature-aggregator " #callhomeport="-p ${CALL_HOME_PORT}:6666 " #fi - if [ $SDNR_CLUSTER_MODE == "true" ]; then + if [ "$SDNR_CLUSTER_MODE" == "true" ]; then sdnr_launch_cluster $1 else sdnr_launch_single_node $1 fi - cd $WORKSPACE - ./getAllInfo.sh -c sdnr -kp } function sdnr_launch_single_node() { - docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr.yaml \ - -f ${WORKSPACE}/scripts/sdnr/docker-compose/$sdnrdb_compose_file \ - pull + # Use locally build sdnr .. no need to pull + #docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr.yaml \ + # -f ${WORKSPACE}/scripts/sdnr/docker-compose/$sdnrdb_compose_file \ + # pull docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr.yaml \ -f ${WORKSPACE}/scripts/sdnr/docker-compose/$sdnrdb_compose_file \ up -d - for i in {1..50}; do - curl -sS -m 1 -D - ${HOST_IP}:8181/ready | grep 200 && break - echo sleep $i - sleep $i - if [ $i == 50 ]; then - echo "[ERROR] SDNC/R container not ready" - docker ps -a - # exit 1 - fi - done + check_for_ready_state ${SDNC_PORT} } function sdnr_web_launch() { - docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr.yaml \ - -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr-web.override.yaml \ - -f ${WORKSPACE}/scripts/sdnr/docker-compose/$sdnrdb_compose_file \ - pull + # Use locally build sdnr, sdnc-web .. no need to pull + #docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr.yaml \ + # -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr-web.override.yaml \ + # -f ${WORKSPACE}/scripts/sdnr/docker-compose/$sdnrdb_compose_file \ + # pull docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr.yaml \ -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose-single-sdnr-web.override.yaml \ -f ${WORKSPACE}/scripts/sdnr/docker-compose/$sdnrdb_compose_file \ up -d - for i in {1..50}; do - curl -sS -m 1 -D - ${HOST_IP}:${SDNC_WEB_PORT}/ready | grep 200 && break - echo sleep $i - sleep $i - done + check_for_ready_state ${SDNC_WEB_PORT} } function sdnr_launch_cluster() { @@ -140,13 +149,7 @@ function sdnr_launch_cluster() { SDNRDM="false" [[ -n "$1" ]] && SDNRDM="true" && echo "SDNRDM arg detected - running in headless mode" echo "SDNR being launched in Cluster mode" - docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose/cluster-sdnr.yaml pull + #docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose/cluster-sdnr.yaml pull docker-compose $env_file -f ${WORKSPACE}/scripts/sdnr/docker-compose/docker-compose/cluster-sdnr.yaml up -d - # Wait for initialization of docker services. At the moment its the master SDNR node - HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $7}') - for i in {1..50}; do - curl -sS -m 1 -D - ${HOST_IP}:${ODLUXPORT}/ready | grep 200 && break - echo sleep $i - sleep $i - done + check_for_ready_state ${SDNC_WEB_PORT} }