aboutsummaryrefslogtreecommitdiffstats
path: root/dnstraffic.sh
blob: 808a7b5303deb69a8c17fce05eb8f2893614ab5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash
#
# This script is run by the policy closed loop to generate traffic (DNS packets) to the DNS
#
#           Usage:    dnstraffic.sh  <DNSIP> <RATE_PER_SEC> <ITERATIONS>
#
# The DNSIP is that of the DNS vLoadBalancer.
# The RATE_PER_SEC is the approximate number of nslookup requests generated per second.
# The ITERATIONS is roughly the number of seconds to run the test. Note that the Robot 
# will kill this script after the validation is complete.
#  
# The validation portion of the script has done a successful lookup, so the point of 
# these requests is to generate DNS packets. We do not care about the results. The timeout
# of 1 second is to ensure we do not flood the process table with long waits 
# on failed lookups.
# 
# We generate an approximate rate because we sleep for a full second so the RATE_PER_SEC 
# should have some slop in it. We only need to drive this to 20+ per second, so a 35 
# per second should fall within the range to trigger the polciy check and prvide enough
# to validate even distribution without spawning a 3rd DNS
#
DNSIP=$1
RATE_PER_SEC=$2
ITERATIONS=$3
ITERATIONS=${ITERATIONS:-300}

for iter in `seq 1 $ITERATIONS`;
do
   for i in `seq 1 $RATE_PER_SEC`;
   do
        nslookup -timeout=1 host2.dnsdemo.openecomp.org $DNSIP >/dev/null 2>&1 &
   done
   sleep 1
done
======================================== # # echo '============== STARTING SCRIPT TO BUILD DOCKER IMAGES =================' DOCKER_REPOSITORY=nexus3.onap.org:10003 MVN_VERSION=$(cat packages/docker/target/version) MVN_MAJMIN_VERSION=$(cut -f 1,2 -d . packages/docker/target/version) TIMESTAMP=$(date -u +%Y%m%dT%H%M%S) BUILD_ARGS="--build-arg BUILD_VERSION=${MVN_VERSION}" IMAGE=policy-pe if [ $HTTP_PROXY ]; then BUILD_ARGS+=" --build-arg HTTP_PROXY=${HTTP_PROXY}" fi if [ $HTTPS_PROXY ]; then BUILD_ARGS+=" --build-arg HTTPS_PROXY=${HTTPS_PROXY}" fi echo $DOCKER_REPOSITORY echo $MVN_VERSION echo $MVN_MAJMIN_VERSION echo $TIMESTAMP if [[ -z $MVN_VERSION ]] then echo "MVN_VERSION is empty" exit 1 fi if [[ -z $MVN_MAJMIN_VERSION ]] then echo "MVN_MAJMIN_VERSION is empty" exit 1 fi if [[ $MVN_VERSION == *"SNAPSHOT"* ]] then MVN_MAJMIN_VERSION="${MVN_MAJMIN_VERSION}-SNAPSHOT" else MVN_MAJMIN_VERSION="${MVN_MAJMIN_VERSION}-STAGING" fi echo $MVN_MAJMIN_VERSION echo "Building $IMAGE" # # This is the local latest tagged image. The Dockerfile's need this to build images # TAGS="--tag onap/${IMAGE}:latest" # # This is the nexus repo prepended for latest tagged image. # TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/onap/${IMAGE}:latest" # # This has the nexus repo prepended and only major/minor version with latest # TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/onap/${IMAGE}:${MVN_MAJMIN_VERSION}-latest" # # This has the nexus repo prepended and major/minor/patch version with timestamp # TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/onap/${IMAGE}:${MVN_VERSION}-STAGING-${TIMESTAMP}Z" echo $TAGS docker build --quiet ${BUILD_ARGS} $TAGS packages/docker/target/$IMAGE if [ $? -ne 0 ] then echo "Docker build failed" docker images exit 1 fi docker images echo "Pushing $IMAGE" docker push ${DOCKER_REPOSITORY}/onap/${IMAGE}:latest if [ $? -ne 0 ] then echo "Docker push failed" exit 1 fi docker push ${DOCKER_REPOSITORY}/onap/${IMAGE}:${MVN_MAJMIN_VERSION}-latest if [ $? -ne 0 ] then echo "Docker push failed" exit 1 fi docker push ${DOCKER_REPOSITORY}/onap/${IMAGE}:${MVN_VERSION}-STAGING-${TIMESTAMP}Z if [ $? -ne 0 ] then echo "Docker push failed" exit 1 fi