Feature 10967 New option ngsa to install monitoring pipeline architecture
This change covers the installation of Apache Airflow
and Prometheus Pushgateway as an experimental option in
the installer.
Changes are the following:
- `installers/full_install_osm.sh`:
- The installer includes a new option "--ng-sa" to install Airflow and
Prometheus Pushgateway
- When the option is used, the script will call `installers/install_ng_sa.sh`
in turn.
- `installers/install_ng_sa.sh`:
- This script will install Airflow and Pushgateway in the OSM Kubernetes
cluster in osm namespace using the helm charts from the respective communities.
- `installers/helm/values/airflow/values.yaml`:
- File with the values to be used for the installation of Airflow helm chart.
- `docker/Airflow/Dockerfile`:
- Dockerfile used to build the Airflow image, incorporating the DAG Python files,
requirements and internal Python libraries used by DAGs from `osm_ngsa.deb`.
Change-Id: I04cb60b25a9a32e42d4a97fac2d1f6abf868b1f7
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/docker/Airflow/Dockerfile b/docker/Airflow/Dockerfile
new file mode 100644
index 0000000..b350a09
--- /dev/null
+++ b/docker/Airflow/Dockerfile
@@ -0,0 +1,37 @@
+#######################################################################################
+# Copyright ETSI Contributors and Others.
+#
+# 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.
+#######################################################################################
+
+FROM apache/airflow:2.3.0-python3.8
+USER root
+RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
+ DEBIAN_FRONTEND=noninteractive apt-get --yes install \
+ gcc git python3 python3-dev python3-venv python3-pip \
+ python3-setuptools wget && \
+ python3 -m pip install -U pip build
+
+ARG PYTHON3_OSM_COMMON_URL
+ARG PYTHON3_OSM_NGSA_URL
+RUN curl $PYTHON3_OSM_COMMON_URL -o osm_common.deb
+RUN dpkg -i ./osm_common.deb
+# RUN curl $PYTHON3_OSM_NGSA_URL -o osm_ngsa.deb
+# RUN dpkg -i ./osm_ngsa.deb
+
+RUN pip3 install \
+ -r /usr/lib/python3/dist-packages/osm_common/requirements.txt
+# -r /usr/lib/python3/dist-packages/osm_ngsa/requirements.txt
+
+USER airflow