| #!/bin/bash |
| # Original work Copyright 2017 AT&T Intellectual Property, Inc |
| # Modified work Copyright 2021 Xoriant Corporation |
| # |
| # 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. |
| # |
| #. What this is: Startup script for the OPNFV VES Agent running under docker. |
| |
| echo "Ves-agent is trying to connect Kafka Broker.." |
| timeout 1m bash -c 'until printf "" 2>>/dev/null >>/dev/tcp/$ves_kafka_host/$ves_kafka_port; do sleep 2; done' |
| success=$? |
| if [ $success -eq 0 ] |
| then |
| echo "Kafka is up.." |
| else |
| echo "No Kafka found .. exiting container.." |
| exit; |
| fi |
| |
| echo "Ves-agent is trying to connect ves-collector.." |
| timeout 1m bash -c 'until printf "" 2>>/dev/null >>/dev/tcp/$ves_host/$ves_port; do sleep 2; done' |
| success=$? |
| if [ $success -eq 0 ] |
| then |
| echo "ves-collector is up.." |
| else |
| echo "No ves-collector found .. exiting container.." |
| exit; |
| fi |
| |
| echo "$ves_kafka_host $ves_kafka_hostname" >>/etc/hosts |
| echo "ves_kafka_hostname=$ves_kafka_hostname" |
| echo "*** /etc/hosts ***" |
| cat /etc/hosts |
| |
| cd /opt/ves/barometer/3rd_party/collectd-ves-app/ves_app |
| cat <<EOF >ves_app_config.conf |
| [config] |
| Domain = $ves_host |
| Port = $ves_port |
| Path = $ves_path |
| Topic = $ves_topic |
| UseHttps = $ves_https |
| Username = $ves_user |
| Password = $ves_pass |
| SendEventInterval = $ves_interval |
| ApiVersion = $ves_version |
| KafkaPort = $ves_kafka_port |
| KafkaBroker = $ves_kafka_host |
| EOF |
| |
| cat ves_app_config.conf |
| echo "ves_mode=$ves_mode" |
| |
| if [[ "$ves_loglevel" == "" ]]; then |
| ves_loglevel=ERROR |
| fi |
| |
| python3 ves_app.py --events-schema=$ves_mode.yaml --loglevel $ves_loglevel \ |
| --config=ves_app_config.conf |
| |
| # Dump ves_app.log if the command above exits (fails) |
| echo "*** ves_app.log ***" |
| cat ves_app.log |