From 88286bc690f41365ccf4849e028e8dc28accf21c Mon Sep 17 00:00:00 2001
From: Maximilian Weiss <maximilian.weiss@att.com>
Date: Thu, 9 Sep 2021 19:43:20 +0000
Subject: [PATCH] Gate fixes for Shipyard

* Fixed typo for jsonschema version

* Setuptools version forced to <58 to allow usage of use_2to3, which
  some dependencies require

* Fixed scripting error that allowed Airflow installation to silently
  fail

Change-Id: I237801488795df07f2d4de1cde6cd4ec41182e31
---
 images/airflow/Dockerfile.ubuntu_bionic   | 6 +++---
 images/airflow/Dockerfile.ubuntu_xenial   | 8 ++++----
 images/airflow/requirements.txt           | 2 +-
 src/bin/shipyard_airflow/requirements.txt | 2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/images/airflow/Dockerfile.ubuntu_bionic b/images/airflow/Dockerfile.ubuntu_bionic
index 436b45d4..1bf887c2 100644
--- a/images/airflow/Dockerfile.ubuntu_bionic
+++ b/images/airflow/Dockerfile.ubuntu_bionic
@@ -113,9 +113,9 @@ RUN useradd -ms /bin/bash -d ${AIRFLOW_HOME} airflow \
 COPY images/airflow/requirements.txt /tmp/
 RUN pip3 install -r /tmp/requirements.txt --no-cache-dir \
     && pip3 install $AIRFLOW_SRC --no-cache-dir \
-    && pip3 uninstall -y snakebite || true \
-    && pip3 uninstall -y psycopg2 || true \
-    && pip3 install --no-cache-dir --force-reinstall $(pip freeze | grep psycopg2-binary) || true
+    && (pip3 uninstall -y snakebite || true) \
+    && (pip3 uninstall -y psycopg2 || true) \
+    && (pip3 install --no-cache-dir --force-reinstall $(pip freeze | grep psycopg2-binary) || true)
 
 # Copy scripts used in the container:
 COPY images/airflow/script/*.sh ${AIRFLOW_HOME}/
diff --git a/images/airflow/Dockerfile.ubuntu_xenial b/images/airflow/Dockerfile.ubuntu_xenial
index aaad425d..1333768f 100644
--- a/images/airflow/Dockerfile.ubuntu_xenial
+++ b/images/airflow/Dockerfile.ubuntu_xenial
@@ -75,7 +75,7 @@ RUN set -ex && \
     make \
     --no-install-recommends \
     && python3 -m pip install -U 'pip<21.0' \
-    && python3 -m pip install -U setuptools \
+    && python3 -m pip install -U 'setuptools<58' \
     && apt-get clean \
     && rm -rf \
         /var/lib/apt/lists/* \
@@ -113,9 +113,9 @@ RUN useradd -ms /bin/bash -d ${AIRFLOW_HOME} airflow \
 COPY images/airflow/requirements.txt /tmp/
 RUN pip3 install -r /tmp/requirements.txt --no-cache-dir \
     && pip3 install $AIRFLOW_SRC --no-cache-dir \
-    && pip3 uninstall -y snakebite || true \
-    && pip3 uninstall -y psycopg2 || true \
-    && pip3 install --no-cache-dir --force-reinstall $(pip freeze | grep psycopg2-binary) || true
+    && (pip3 uninstall -y snakebite || true) \
+    && (pip3 uninstall -y psycopg2 || true) \
+    && (pip3 install --no-cache-dir --force-reinstall $(pip freeze | grep psycopg2-binary) || true)
 
 # Copy scripts used in the container:
 COPY images/airflow/script/*.sh ${AIRFLOW_HOME}/
diff --git a/images/airflow/requirements.txt b/images/airflow/requirements.txt
index d15a37c6..e9c10e52 100644
--- a/images/airflow/requirements.txt
+++ b/images/airflow/requirements.txt
@@ -33,7 +33,7 @@ marshmallow-sqlalchemy==0.18.0
 WTForms~=2.2.1
 tabulate==0.8.03
 pbr==5.4.5
-setuptools>=40.4.3
+setuptools>=40.4.3,<58
 six>=1.15.0
 urllib3==1.25.9
 vine<5.0.0a1,>=1.1.3
diff --git a/src/bin/shipyard_airflow/requirements.txt b/src/bin/shipyard_airflow/requirements.txt
index 788f3f64..0e600c47 100644
--- a/src/bin/shipyard_airflow/requirements.txt
+++ b/src/bin/shipyard_airflow/requirements.txt
@@ -22,7 +22,7 @@ vine<5.0.0a1,>=1.1.3
 configparser==3.5.0
 cryptography>=2.7
 falcon==1.4.1
-jsonschema>=3.0.1<4
+jsonschema>=3.0.1,<4
 grpcio>=1.16.0
 keystoneauth1>=3.18.0
 keystonemiddleware==5.3.0