From aae49149afbfac84ef7aebcfeedd2416d0b61300 Mon Sep 17 00:00:00 2001 From: Tim Evens Date: Thu, 10 Feb 2022 21:02:19 -0800 Subject: [PATCH] initial 2.1.0 --- collector/Dockerfile | 6 +++--- dev-image/Dockerfile | 7 +++---- postgres/Dockerfile | 2 +- psql-app/Dockerfile | 7 ++++--- psql-app/scripts/run | 19 ++++++++++++++++++- psql-app/scripts/upgrade_l3vpn.sh | 15 +++++++++++++++ 6 files changed, 44 insertions(+), 12 deletions(-) create mode 100755 psql-app/scripts/upgrade_l3vpn.sh diff --git a/collector/Dockerfile b/collector/Dockerfile index 1b3c4e9..3c2c317 100644 --- a/collector/Dockerfile +++ b/collector/Dockerfile @@ -15,8 +15,8 @@ # # Example docker build: # tar -cL -C ../../ ./obmp-collector ./obmp-docker/collector \ -# | docker build --build-arg VERSION=2.0.3 \ -# -f obmp-docker/collector/Dockerfile -t openbmp/collector:2.0.3 - +# | docker build --platform linux/amd64 --build-arg VERSION=dev-2.1.0 \ +# -f obmp-docker/collector/Dockerfile -t openbmp/collector:dev-2.1.0 - # # ----------------------------------------------- @@ -27,7 +27,7 @@ FROM openbmp/dev-image:latest AS build COPY obmp-collector/ /ws WORKDIR /ws -RUN mkdir -p build && cd build \ +RUN rm -rf build && mkdir -p build && cd build \ && cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../ \ && make \ && make install diff --git a/dev-image/Dockerfile b/dev-image/Dockerfile index 8076d04..c69ecd4 100644 --- a/dev-image/Dockerfile +++ b/dev-image/Dockerfile @@ -7,7 +7,7 @@ # # Author: Tim Evens # -# BUILD: docker build -t openbmp/dev-image . +# BUILD: docker build --platform linux/amd64 -t openbmp/dev-image . # docker tag openbmp/dev-image openbmp/dev-image:latest FROM debian:bullseye-slim AS build @@ -22,13 +22,12 @@ RUN apt-get install -y openjdk-17-jdk-headless maven RUN mkdir -p /usr/share/man/man1/ \ && apt-get -y install git gcc g++ libboost-dev cmake zlib1g-dev libssl-dev libsasl2-dev \ liblz4-dev libzstd-dev librdkafka-dev - - # Build/install yaml-cpp RUN cd /tmp && git clone https://github.com/jbeder/yaml-cpp.git \ && cd yaml-cpp \ + && git checkout yaml-cpp-0.7.0 \ && mkdir build && cd build \ - && cmake -DBUILD_SHARED_LIBS=OFF .. \ + && cmake -DYAML_BUILD_SHARED_LIB=OFF .. \ && make && make install \ && cd /tmp diff --git a/postgres/Dockerfile b/postgres/Dockerfile index e243b22..f54e09f 100644 --- a/postgres/Dockerfile +++ b/postgres/Dockerfile @@ -3,7 +3,7 @@ # Copyright (c) 2021-2022 Cisco Systems, Inc. and Tim Evens. All rights reserved. # # Build: -# docker build -t openbmp/postgres:2.0.3 . +# docker build --platform linux/amd64 -t openbmp/postgres:2.0.3 . # # Run: # docker run --rm -it -p 5432:5432 \ diff --git a/psql-app/Dockerfile b/psql-app/Dockerfile index d4b36a6..e360398 100644 --- a/psql-app/Dockerfile +++ b/psql-app/Dockerfile @@ -1,4 +1,4 @@ -# Postgres Backend: openbmp/psql-consumer +# Postgres Backend: openbmp/psql-app # # Copyright (c) 2021-2022 Cisco Systems, Inc. and Tim Evens. All rights reserved. # @@ -13,8 +13,8 @@ # # Example docker build: # tar -cL -C ../../ ./obmp-psql ./obmp-docker/psql-app ./obmp-java-api-message \ -# | docker build --build-arg VERSION=2.0.3 \ -# -f obmp-docker/psql-app/Dockerfile -t openbmp/psql-app:2.0.3 - +# | docker build --platform linux/amd64 --build-arg VERSION=dev-2.1.0 \ +# -f obmp-docker/psql-app/Dockerfile -t openbmp/psql-app:dev-2.1.0 - # ----------------------------------------------- # stage: Build @@ -51,6 +51,7 @@ COPY --from=build /ws/scripts/dbip-to-psql.py /usr/local/openbmp/ # Add files ADD obmp-docker/psql-app/scripts/run /usr/sbin/ +ADD obmp-docker/psql-app/scripts/upgrade_l3vpn.sh /usr/local/openbmp/upgrade_l3vpn.sh #---------------------------------- # Define persistent data volumes diff --git a/psql-app/scripts/run b/psql-app/scripts/run index c86f6e1..dfc0777 100755 --- a/psql-app/scripts/run +++ b/psql-app/scripts/run @@ -146,7 +146,9 @@ MAILTO="" 6 */2 * * * root . /usr/local/openbmp/pg_profile && /usr/local/openbmp/gen_whois_asn.py -u $PGUSER -p $PGPASSWORD $PGHOST >> /var/log/asn_load.log # Update aggregation table stats -*/3 * * * * root . /usr/local/openbmp/pg_profile && psql -c "select update_chg_stats($POSTGRES_REPORT_WINDOW)" +*/5 * * * * root . /usr/local/openbmp/pg_profile && psql -c "select update_chg_stats('5 minute')" +*/5 * * * * root . /usr/local/openbmp/pg_profile && psql -c "select update_l3vpn_chg_stats('5 minute')" + # Update peer rib counts */15 * * * * root . /usr/local/openbmp/pg_profile && psql -c "select update_peer_rib_counts()" @@ -163,8 +165,19 @@ MAILTO="" SETVAR +# ----------------------------------------------- +# Upgrade SQL +# ----------------------------------------------- +upgrade() { + if [[ ! -f /config/psql-app-upgraded.2.1.0 ]]; then + echo "===> Upgrading to 2.1.0" + /usr/local/openbmp/upgrade_l3vpn.sh + touch /config/psql-app-upgraded.2.1.0 + echo "===> Done with upgrade" + fi } + # ----------------------------------------------- # run_consumer # ----------------------------------------------- @@ -244,6 +257,8 @@ rm -f /var/run/rsyslogd.pid service cron start service rsyslog start +upgrade + run_consumer echo "===> Now running!!!" @@ -251,3 +266,5 @@ echo "===> Now running!!!" while [ 1 ]; do sleep 1800 done + +} \ No newline at end of file diff --git a/psql-app/scripts/upgrade_l3vpn.sh b/psql-app/scripts/upgrade_l3vpn.sh new file mode 100755 index 0000000..e65b45a --- /dev/null +++ b/psql-app/scripts/upgrade_l3vpn.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# Upgrade script for L3VPN +# +# Copyright (c) 2022 Cisco Systems, Inc. and Tim Evens. All rights reserved. +# +# Author: Tim Evens +# + +. /usr/local/openbmp/pg_profile && psql -c "select * from l3vpn_rib limit 1" > /dev/null 2>&1 + +if [[ $? -ne 0 ]]; then + echo "==> Upgrading L3VPN SQL ======================================= " + psql < /usr/local/openbmp/database/10_l3vpn.sql + echo "==> Done upgrading L3VPN SQL ================================== " +fi \ No newline at end of file