diff --git a/services/backup-daemon/Dockerfile b/services/backup-daemon/Dockerfile index d23c1154..9bd0169e 100644 --- a/services/backup-daemon/Dockerfile +++ b/services/backup-daemon/Dockerfile @@ -46,19 +46,22 @@ RUN apt-get --no-install-recommends install -y comerr-dev \ RUN python3 -m pip install -U setuptools==82.0.1 wheel==0.47.0 COPY docker/requirements.txt /root/requirements.txt -RUN python3 -m pip install --no-cache-dir -r /root/requirements.txt \ - && python3 -m pip install --upgrade pip \ - && python3 -m pip install grpcio \ - && python3 -m pip install opentelemetry-distro opentelemetry-exporter-otlp opentelemetry-api opentelemetry-sdk opentelemetry-instrumentation-flask \ - && opentelemetry-bootstrap -a install \ - && python3 -m pip install "setuptools==82.0.1" "wheel==0.47.0" "jaraco.context==6.1.0" \ - && pip3 uninstall -y pip \ - && apt-get remove -y --purge gcc-12 \ - && apt-get remove -y --purge python3-dev \ - && apt-get remove -y --purge libpq-dev \ - && apt-get remove -y --purge cython3 \ - && locale-gen en_US.UTF-8 \ - && apt-get clean +RUN python3 -m pip install -U setuptools==82.0.1 wheel==0.47.0 && \ + python3 -m pip install --no-cache-dir -r /root/requirements.txt && \ + python3 -m pip install --upgrade pip && \ + python3 -m pip install grpcio && \ + python3 -m pip install opentelemetry-distro opentelemetry-exporter-otlp opentelemetry-api opentelemetry-sdk opentelemetry-instrumentation-flask && \ + opentelemetry-bootstrap -a install && \ + python3 -m pip uninstall -y jaraco.context setuptools wheel && \ + rm -rf /usr/local/lib/python3.*/dist-packages/setuptools* \ + /usr/local/lib/python3.*/dist-packages/wheel* \ + /usr/local/lib/python3.*/dist-packages/jaraco* \ + /usr/lib/python3.*/dist-packages/setuptools* \ + /usr/lib/python3.*/dist-packages/wheel* && \ + apt-get remove -y --purge gcc-12 python3-dev libpq-dev cython3 && \ + apt-get autoremove -y && \ + locale-gen en_US.UTF-8 && \ + apt-get clean RUN ln -s /usr/bin/python3 /usr/bin/python diff --git a/services/patroni/Dockerfile b/services/patroni/Dockerfile index 12015e9e..85e56792 100644 --- a/services/patroni/Dockerfile +++ b/services/patroni/Dockerfile @@ -132,8 +132,18 @@ RUN apt-get update && apt-get install -y postgresql-$PG_VERSION-credcheck RUN apt-get install -y alien vmtouch openssh-server RUN cat /root/.pip/pip.conf -RUN python3 -m pip install -U setuptools==82.0.1 wheel==0.47.0 -RUN python3 -m pip install psutil patroni[kubernetes,etcd]==3.3.5 psycopg2==2.9.5 requests python-dateutil urllib3 six prettytable --no-cache +# 1. Install pip dependencies +# 2. Uninstall pip-managed setuptools, wheel, and jaraco +# 3. Surgically delete system-managed setuptools and wheel folders (leaves pip intact) +RUN python3 -m pip install -U setuptools==82.0.1 wheel==0.47.0 && \ + python3 -m pip install psutil patroni[kubernetes,etcd]==3.3.5 psycopg2==2.9.5 requests python-dateutil urllib3 six prettytable --no-cache && \ + python3 -m pip uninstall -y jaraco.context setuptools wheel && \ + rm -rf /usr/local/lib/python3.10/dist-packages/setuptools* \ + /usr/local/lib/python3.10/dist-packages/wheel* \ + /usr/local/lib/python3.10/dist-packages/jaraco* \ + /usr/lib/python3/dist-packages/setuptools* \ + /usr/lib/python3/dist-packages/wheel* + # Explicitly install patched libaom3 version RUN apt-get --no-install-recommends install -y libaom3=3.3.0-1ubuntu0.1 || apt-get --no-install-recommends install -y libaom3 RUN mv /var/lib/postgresql /var/lib/pgsql diff --git a/services/upgrade/Dockerfile b/services/upgrade/Dockerfile index 8e4f029d..250c099c 100644 --- a/services/upgrade/Dockerfile +++ b/services/upgrade/Dockerfile @@ -23,7 +23,13 @@ RUN adduser -uid 26 -gid 26 postgres # Install like base image RUN apt-get --no-install-recommends install -y gcc-12 python3.11 python3-pip python3-dev wget -RUN python3 -m pip install --no-cache-dir --upgrade wheel==0.47.0 setuptools==82.0.1 +RUN python3 -m pip install --no-cache-dir --upgrade wheel==0.47.0 setuptools==82.0.1 && \ + python3 -m pip uninstall -y jaraco.context setuptools wheel && \ + rm -rf /usr/local/lib/python3.*/dist-packages/setuptools* \ + /usr/local/lib/python3.*/dist-packages/wheel* \ + /usr/local/lib/python3.*/dist-packages/jaraco* \ + /usr/lib/python3.*/dist-packages/setuptools* \ + /usr/lib/python3.*/dist-packages/wheel* # Explicitly install patched libaom3 version RUN apt-get --no-install-recommends install -y libaom3=3.3.0-1ubuntu0.1 || apt-get --no-install-recommends install -y libaom3 diff --git a/tests/robot/check_delete_master/check_delete_master.robot b/tests/robot/check_delete_master/check_delete_master.robot index 543133ad..f3a2e439 100644 --- a/tests/robot/check_delete_master/check_delete_master.robot +++ b/tests/robot/check_delete_master/check_delete_master.robot @@ -25,10 +25,13 @@ Check Delete Master Wait Until Keyword Succeeds 300 sec 5 sec Check Replica Count ${NEW_MASTER}= Get Master Pod - Log To Console Current Master ${NEW_MASTER.metadata.name} - - Log To Console Test Current Master Works - Wait Until Keyword Succeeds 300 sec 5 sec Insert Test Record ${NEW_MASTER.status.pod_ip} - - Wait Until Keyword Succeeds 300 sec 5 sec Check Replica Count - Wait Until Keyword Succeeds 300 sec 5 sec Replication Works \ No newline at end of file + Log To Console New Master ${NEW_MASTER.metadata.name} + # wait new replica pod is up + Wait Until Keyword Succeeds 120 sec 2 sec Wait Replica Pods In Up State + # check master not read-only + Log To Console Test New Master Works + Wait Until Keyword Succeeds ${120} 1 sec Insert Test Record ${NEW_MASTER.status.pod_ip} + # check existance unavaliabled replicas + Run Keyword Check Replica Count + # check replication again, becouse it is simple! :) + Run Keyword Replication Works