if [ -f ${ROBOT_VENV}/bin/activate ]; then
source ${ROBOT_VENV}/bin/activate
else
- rm -rf /tmp/ci-management
rm -f ${WORKSPACE}/env.properties
- cd /tmp
- git clone "https://gerrit.onap.org/r/ci-management"
- source /tmp/ci-management/jjb/integration/include-raw-integration-install-robotframework.sh
+ ROBOT_VENV=$(mktemp -d --suffix=robot_venv)
+ echo "ROBOT_VENV=${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
+
+ # The --system-site-packages parameter allows us to pick up system level
+ # installed packages. This allows us to bake matplotlib which takes very long
+ # to install into the image.
+ virtualenv --system-site-packages "${ROBOT_VENV}"
+ source "${ROBOT_VENV}/bin/activate"
+
+ set -exu
+
+ # Make sure pip itself us up-to-date.
+ pip install --upgrade pip
+ # To avoid a json issue related to specific versions related to https://gerrit.onap.org/r/c/ci-management/+/120747
+ # in the ci-management repo, we are reverting to the orig versions.
+ pip install --upgrade --no-binary pycparser pycparser
+ pip install --upgrade pyOpenSSL==16.2.0 docker-py importlib requests scapy netifaces netaddr ipaddr simplejson demjson
+ pip install --upgrade robotframework{,-{httplibrary,requests,sshlibrary,selenium2library,xvfb}}
+
+ pip install xvfbwrapper
+ pip install PyVirtualDisplay
fi
+# Print installed versions.
pip freeze
#
function dmaap_dr_launch() {
+ COMPOSE_PREFIX=${COMPOSE_PROJECT_NAME:-dockercompose}
+ export COMPOSE_PROJECT_NAME=$COMPOSE_PREFIX
- mkdir -p ${WORKSPACE}/archives/dmaap/last_run_logs
+ mkdir -p ${WORKSPACE}/archives/dmaap/last_run_logs
- # start DMaaP DR containers with docker compose and configuration from docker-compose.yml
- docker login -u docker -p docker nexus3.onap.org:10001
- docker-compose -f ${WORKSPACE}/scripts/dmaap-datarouter/docker-compose/docker-compose.yml up -d
+ # start DMaaP DR containers with docker compose and configuration from docker-compose.yml
+ docker login -u docker -p docker nexus3.onap.org:10001
+ docker-compose -f ${WORKSPACE}/scripts/dmaap-datarouter/docker-compose/docker-compose.yml up -d
- # Wait for initialization of Docker container for datarouter-node, datarouter-prov and mariadb
- for i in 1 2 3 4 5 6 7 8 9 10; do
- if [[ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ]] && \
- [[ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ]] && \
- [[ $(docker inspect --format '{{ .State.Running }}' mariadb) ]]
- then
- echo "DR Service Running"
- break
- else
- echo sleep ${i}
- sleep ${i}
- fi
- done
+ # Wait for initialization of Docker container for datarouter-node, datarouter-prov and mariadb
+ for i in 1 2 3 4 5 6 7 8 9 10; do
+ if [[ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ]] && \
+ [[ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ]] && \
+ [[ $(docker inspect --format '{{ .State.Running }}' mariadb) ]]
+ then
+ echo "DR Service Running"
+ break
+ else
+ echo sleep ${i}
+ sleep ${i}
+ fi
+ done
- # Wait for healthy container datarouter-prov
- for i in 1 2 3 4 5 6 7 8 9 10; do
- if [[ "$(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)" = 'healthy' ]]
- then
- echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
- echo "DR Service Running, datarouter-prov container is healthy"
- break
- else
- echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
- echo sleep ${i}
- sleep ${i}
- if [[ ${i} = 10 ]]
- then
- echo datarouter-prov container is not in healthy state - the test is not made, teardown...
- docker-compose rm -sf
- exit 1
- fi
- fi
- done
+ # Wait for healthy container datarouter-prov
+ for i in 1 2 3 4 5 6 7 8 9 10; do
+ if [[ "$(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)" = 'healthy' ]]
+ then
+ echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
+ echo "DR Service Running, datarouter-prov container is healthy"
+ break
+ else
+ echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
+ echo sleep ${i}
+ sleep ${i}
+ if [[ ${i} = 10 ]]
+ then
+ echo datarouter-prov container is not in healthy state - the test is not made, teardown...
+ docker-compose rm -sf
+ exit 1
+ fi
+ fi
+ done
- DR_PROV_IP=`get-instance-ip.sh datarouter-prov`
- DR_NODE_IP=`get-instance-ip.sh datarouter-node`
- #DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' datarouter-prov)
- echo DR_PROV_IP=${DR_PROV_IP}
- echo DR_NODE_IP=${DR_NODE_IP}
- #echo DR_GATEWAY_IP=${DR_GATEWAY_IP}
-
-# docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/NODES?val=dmaap-dr-node\|$DR_GATEWAY_IP"
-# docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/PROV_AUTH_ADDRESSES?val=dmaap-dr-prov\|$DR_GATEWAY_IP"
-
- #Pass any variables required by Robot test suites in ROBOT_VARIABLES
- ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DR_SUB_IP:${DR_SUB_IP} -v DR_SUB2_IP:${DR_SUB2_IP}"
+ DR_PROV_IP=`get-instance-ip.sh datarouter-prov`
+ DR_NODE_IP=`get-instance-ip.sh datarouter-node`
+ echo DR_PROV_IP=${DR_PROV_IP}
+ echo DR_NODE_IP=${DR_NODE_IP}
+ #Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DR_SUB_IP:${DR_SUB_IP} -v DR_SUB2_IP:${DR_SUB2_IP}"
}
\ No newline at end of file
<skip.docker.push>false</skip.docker.push>
<docker.verbose>true</docker.verbose>
<docker.apiVersion>2.2.54</docker.apiVersion>
+ <io.fabric8.version>0.28.0</io.fabric8.version>
+ <gmaven-plugin.version>1.5</gmaven-plugin.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
<artifactId>docker-maven-plugin</artifactId>
<version>${io.fabric8.version}</version>
<configuration>
- <skipBuild>${docker.skip.build}</skipBuild>
+ <skipBuild>${skip.docker.build}</skipBuild>
<verbose>${docker.verbose}</verbose>
<apiVersion>${docker.apiVersion}</apiVersion>
<pullRegistry>${docker.pull.registry}</pullRegistry>