[DCAE-PMSH] Removing dmaap mr from suite
[integration/csit.git] / plans / dcaegen2-services-pmsh / testsuite / setup.sh
1 #!/bin/bash
2
3 export DB_USER=pmsh
4 export DB_PASSWORD=pmsh
5
6 TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-services-pmsh/testsuite
7
8 docker-compose -f ${TEST_PLANS_DIR}/docker-compose.yml up -d db aai cbs-sim mr-sim
9
10 # Slow machine running CSITs can affect db coming up in time for PMSH
11 echo "Waiting for postgres db to come up..."
12 for i in {1..30}; do
13     docker exec -i db bash -c "PGPASSWORD=$DB_PASSWORD;psql -U $DB_USER  -c '\q'"
14     db_response=$?
15     if [[ "$db_response" == "0" ]]
16     then
17       break
18     else
19       sleep 2
20     fi
21 done
22 [[ "$db_response" != "0" ]] && echo "Error: postgres db not accessible" && exit 1
23
24 docker-compose -f ${TEST_PLANS_DIR}/docker-compose.yml up -d pmsh
25
26 PMSH_IP=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" pmsh)
27
28 # Slow machine running CSITs can affect PMSH coming up before CSITs are run
29 echo "Waiting for PMSH to come up..."
30 for i in {1..30}; do
31     pmsh_response=$(curl -k -s -o /dev/null -w "%{http_code}" https://${PMSH_IP}:8443/healthcheck)
32     if [[ "$pmsh_response" == "200" ]]
33     then
34       break
35     else
36       sleep 2
37     fi
38 done
39 [[ "$pmsh_response" != "200" ]] && echo "Error: PMSH container state not healthy" && exit 1
40
41 # Set log level to DEBUG
42 docker exec pmsh /bin/sh -c "cat > log_config.yaml <<EOF
43 version: 1
44
45 disable_existing_loggers: true
46
47 loggers:
48   onap_logger:
49     level: DEBUG
50     handlers: [onap_log_handler, stdout_handler]
51     propagate: false
52 handlers:
53   onap_log_handler:
54     class: logging.handlers.RotatingFileHandler
55     filename: /var/log/ONAP/dcaegen2/services/pmsh/application.log
56     mode: a
57     maxBytes: 10000000
58     backupCount: 10
59     formatter: mdcFormatter
60   stdout_handler:
61     class: logging.StreamHandler
62     formatter: mdcFormatter
63 formatters:
64   mdcFormatter:
65     format: '%(asctime)s | %(threadName)s | %(thread)d | %(levelname)s | %(module)s
66       | %(funcName)s | %(mdc)s | %(message)s'
67     mdcfmt: '{ServiceName} | {RequestID} | {InvocationID}'
68     datefmt: '%Y-%m-%dT%H:%M:%S%z'
69     (): onaplogging.mdcformatter.MDCFormatter
70 EOF"
71
72 # Wait for initialization of Docker containers
73 containers_ok="false"
74 for i in {0..5}; do
75     if [[ "$containers_ok" == "true" ]]
76     then
77         echo "All required docker containers are up."
78         break
79     else
80         sleep ${i}
81     fi
82     if [[ $(docker inspect --format '{{ .State.Running }}' cbs-sim) ]] && \
83        [[ $(docker inspect --format '{{ .State.Running }}' aai-sim) ]] && \
84        [[ $(docker inspect --format '{{ .State.Running }}' mr-sim) ]] && \
85        [[ $(docker inspect --format '{{ .State.Running }}' db) ]] && \
86        [[ $(docker inspect --format '{{ .State.Running }}' pmsh) ]]
87     then
88         containers_ok="true"
89     fi
90 done
91 [[ "$containers_ok" == "false" ]] && echo "Error: required container not running." && exit 1
92
93 DB_IP_ADDRESS=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" db)
94 CBS_SIM_IP_ADDRESS=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" cbs-sim)
95 MR_SIM_IP_ADDRESS=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" mr-sim)
96
97 #Pass any variables required by Robot test suites in ROBOT_VARIABLES
98 ROBOT_VARIABLES="-v PMSH_IP:${PMSH_IP} -v MR_SIM_IP_ADDRESS:${MR_SIM_IP_ADDRESS} -v DB_IP_ADDRESS:${DB_IP_ADDRESS} -v CBS_SIM_IP_ADDRESS:${CBS_SIM_IP_ADDRESS}"