summaryrefslogtreecommitdiffstats
path: root/policy-management/src/main/server-gen/bin/telemetry
blob: d369e5bf1358dede37408982f3167bc21fde30a9 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/env sh

# ============LICENSE_START=======================================================
# ONAP
# ================================================================================
# Copyright (C) 2017-2021 AT&T Intellectual Property. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=========================================================

source ${POLICY_HOME}/etc/profile.d/env.sh

REST_TOOL="http-prompt"
TELEMETRY_SPEC="${POLICY_HOME}/config/telemetry-spec.json"

if ! type -p "${REST_TOOL}" >/dev/null 2>&1; then
    echo "error: prerequisite software not found: http-prompt"
    exit 1
fi

if ! "${POLICY_HOME}"/bin/policy-management-controller status >/dev/null 2>&1; then
    echo "error: pdp-d is not running"
    exit 2
fi

CREDENTIALS=
if [ -n "${TELEMETRY_USER}" ]; then
    CREDENTIALS="--auth ${TELEMETRY_USER}:${TELEMETRY_PASSWORD}"
fi

PROTOCOL="http"

# use environment flag if set
if [ $HTTP_SERVER_HTTPS == "true" ]; then
    PROTOCOL="https"
fi

# it takes precedence to have https explicitly set over the environment variable
if egrep "^http\.server\.services\..*CONFIG\.https.*=.*true" ${POLICY_HOME}/config/engine.properties; then
    PROTOCOL="https"
fi

if [ ! -r "${TELEMETRY_SPEC}" ]; then
    echo "generating new spec .."
    if ! http --verify=no ${CREDENTIALS} "${PROTOCOL}"://localhost:9696/policy/pdp/engine/swagger >${TELEMETRY_SPEC} 2>/dev/null; then
        echo "error: cannot generate telemetry spec"
        rm -f ${TELEMETRY_SPEC} 2>/dev/null
        exit 3
    fi
fi

exec http-prompt "${PROTOCOL}"://localhost:9696/policy/pdp/engine --verify=no ${CREDENTIALS} --spec ${TELEMETRY_SPEC}