From e55e6c3bd565b06b39e53cd0a45cd4247d85b572 Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Tue, 24 Dec 2024 22:43:01 -0500 Subject: [PATCH] Fixing monitor to use new venv. --- ansible/roles/monitor/tasks/main.yml | 4 ++-- docker/monitor/Dockerfile | 30 ++++++++++++++++++---------- flask_monitor/db_monitor.py | 2 +- flask_monitor/requirements.txt | 2 +- 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/ansible/roles/monitor/tasks/main.yml b/ansible/roles/monitor/tasks/main.yml index cee4aa484..503bd19b9 100644 --- a/ansible/roles/monitor/tasks/main.yml +++ b/ansible/roles/monitor/tasks/main.yml @@ -15,7 +15,7 @@ lineinfile: path: /srv/newsblur/newsblur_web/app_env.py line: 'SERVER_NAME = "{{ inventory_hostname }}"' - + - name: Start monitor docker container become: yes docker_container: @@ -23,7 +23,7 @@ image: newsblur/newsblur_monitor:latest pull: yes state: started - command: bash -c "python /srv/newsblur/flask_monitor/db_monitor.py" + command: bash -c "/venv/bin/python /srv/newsblur/flask_monitor/db_monitor.py" hostname: "{{ inventory_hostname }}" restart_policy: unless-stopped container_default_behavior: no_defaults diff --git a/docker/monitor/Dockerfile b/docker/monitor/Dockerfile index 21df2fe21..5281a7592 100644 --- a/docker/monitor/Dockerfile +++ b/docker/monitor/Dockerfile @@ -23,14 +23,22 @@ RUN set -ex \ zlib1g-dev \ ' \ && apt-get update \ - && apt-get install -y $rundDeps $buildDeps --no-install-recommends \ - && pip install uv \ - && uv clean || true \ - && rm -rf /venv \ - && uv venv /venv \ - && PATH="/venv/bin:$PATH" \ - && VIRTUAL_ENV="/venv" \ - && rm -rf /root/.cache/uv \ - && uv pip install -r requirements.txt \ - && apt-get purge -y --auto-remove ${buildDeps} \ - && rm -rf /var/lib/apt/lists/* + && apt-get install -y $rundDeps $buildDeps --no-install-recommends + +# Install uv +RUN pip install uv + +# Clean uv cache and any virtual environment from previous builds +RUN uv clean || true && rm -rf /venv + +# Create and activate virtual environment in /venv +RUN uv venv /venv +ENV PATH="/venv/bin:$PATH" +ENV VIRTUAL_ENV="/venv" + +# Install dependencies +RUN rm -rf /root/.cache/uv && \ + uv pip install -r requirements.txt + +RUN apt-get purge -y --auto-remove ${buildDeps} +RUN rm -rf /var/lib/apt/lists/* diff --git a/flask_monitor/db_monitor.py b/flask_monitor/db_monitor.py index d5bfa1b65..2297fd822 100644 --- a/flask_monitor/db_monitor.py +++ b/flask_monitor/db_monitor.py @@ -256,7 +256,7 @@ def db_check_redis_pubsub(): @app.route("/db_check/elasticsearch") def db_check_elasticsearch(): try: - conn = elasticsearch.Elasticsearch(f"{settings.SERVER_NAME}.node.nyc1.consul:9200") + conn = elasticsearch.Elasticsearch(f"http://{settings.SERVER_NAME}.node.nyc1.consul:9200") except: abort(Response("Can't connect to db", 503)) diff --git a/flask_monitor/requirements.txt b/flask_monitor/requirements.txt index 208f6d646..8b9cb8ee9 100644 --- a/flask_monitor/requirements.txt +++ b/flask_monitor/requirements.txt @@ -2,7 +2,7 @@ flask>=2,<3 pymongo>=3.11.2,<4 psycopg2>=2,<3 redis==3.5.3 -elasticsearch>=7,<8 +elasticsearch>=8,<9 pymysql==0.10.1 celery>=4,<5 Django>=3.1,<3.2