From 60628af1affe4bb4960a06d298e1a68990a0ddd7 Mon Sep 17 00:00:00 2001 From: jdorsch Date: Fri, 12 May 2023 14:08:41 +0200 Subject: [PATCH 01/11] Changed Flask==2.3.2 --- deploy/docker/base/requirements.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/deploy/docker/base/requirements.txt b/deploy/docker/base/requirements.txt index 27f6adb8..f6f25403 100644 --- a/deploy/docker/base/requirements.txt +++ b/deploy/docker/base/requirements.txt @@ -1,8 +1,8 @@ -cryptography==3.4.6 -markupsafe==2.0.1 -Flask==1.1.4 +cryptography==39.0.2 +markupsafe==2.1.2 +Flask==2.3.2 PyJWT==2.4.0 requests==2.22.0 jaeger_client==4.5.0 Flask-Opentracing==1.1.0 -gunicorn==20.1.0 +gunicorn==20.1.0 \ No newline at end of file From 5bd4953ee00b0bdfa87671b4a9361578f75b483a Mon Sep 17 00:00:00 2001 From: jdorsch Date: Fri, 12 May 2023 14:09:32 +0200 Subject: [PATCH 02/11] Certificator with Python3.8.12 --- deploy/docker/certificator/Dockerfile | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/deploy/docker/certificator/Dockerfile b/deploy/docker/certificator/Dockerfile index cd529b42..f6f34adb 100644 --- a/deploy/docker/certificator/Dockerfile +++ b/deploy/docker/certificator/Dockerfile @@ -9,13 +9,20 @@ FROM $BASE_IMAGE RUN yum install -y epel-release RUN yum -y update -RUN yum install -y python3-pip openssh +RUN yum -y groupinstall "Development Tools" +RUN yum -y install openssl-devel bzip2-devel libffi-devel xz-devel wget +RUN wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz +RUN tar xvf Python-3.8.12.tgz && cd Python-3.8.12 && ./configure --enable-optimizations && make altinstall -RUN pip3 install --upgrade pip +RUN ln -fs /usr/local/bin/python3.8 /usr/bin/python3 + +RUN yum install -y python3.8-pip openssh + +RUN pip3.8 install --upgrade pip ADD deploy/docker/base/requirements.txt base/requirements.txt ADD deploy/docker/certificator/requirements.txt deps/requirements.txt -RUN pip3 install -r deps/requirements.txt +RUN pip3.8 install -r deps/requirements.txt ADD src/certificator/certificator.py certificator.py From 1c664782515ca232701bdcdb20907df370ae603c Mon Sep 17 00:00:00 2001 From: jdorsch Date: Fri, 12 May 2023 14:11:38 +0200 Subject: [PATCH 03/11] Storage: added support for keystoneauth1 libraries after Flask upgrade --- deploy/docker/storage/Dockerfile | 3 +++ deploy/docker/storage/requirements.txt | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/deploy/docker/storage/Dockerfile b/deploy/docker/storage/Dockerfile index 0416bb00..67edbfce 100644 --- a/deploy/docker/storage/Dockerfile +++ b/deploy/docker/storage/Dockerfile @@ -7,6 +7,9 @@ ARG BASE_IMAGE=f7t-base from $BASE_IMAGE +RUN apt-get update +RUN apt-get -y install gcc + ADD deploy/docker/storage/requirements.txt deps/requirements.txt RUN pip3 install -r deps/requirements.txt diff --git a/deploy/docker/storage/requirements.txt b/deploy/docker/storage/requirements.txt index 952bc8c6..9290bb37 100644 --- a/deploy/docker/storage/requirements.txt +++ b/deploy/docker/storage/requirements.txt @@ -1,5 +1,5 @@ -r ../base/requirements.txt -keystoneauth1==4.3.0 +keystoneauth1==5.1.2 lxml==4.9.1 paramiko==2.11.0 -python-keystoneclient==4.2.0 +python-keystoneclient==5.0.0 From f42c395ba7098d9711e3175c221dad81ec107915 Mon Sep 17 00:00:00 2001 From: jdorsch Date: Fri, 12 May 2023 14:12:39 +0200 Subject: [PATCH 04/11] utilities.py: update save_file() parameters for new Flask version --- src/utilities/utilities.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utilities/utilities.py b/src/utilities/utilities.py index 78625ce5..9d2a4d38 100644 --- a/src/utilities/utilities.py +++ b/src/utilities/utilities.py @@ -566,7 +566,7 @@ def download(): data.seek(0) return send_file(data, mimetype="application/octet-stream", - attachment_filename=file_name, + download_name=file_name, as_attachment=True) except Exception as e: app.logger.error(f"Download decode error: {e.message}") @@ -592,7 +592,7 @@ def download(): return send_file(data, mimetype="application/octet-stream", - attachment_filename=file_name, + download_name=file_name, as_attachment=True) From 62282b669a7360d3416cc821d80da58094b3a9cd Mon Sep 17 00:00:00 2001 From: jdorsch Date: Fri, 12 May 2023 14:13:06 +0200 Subject: [PATCH 05/11] Client: added support for Flask new version --- src/tests/template_client/Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/tests/template_client/Dockerfile b/src/tests/template_client/Dockerfile index 7334ef4c..ded9e4eb 100644 --- a/src/tests/template_client/Dockerfile +++ b/src/tests/template_client/Dockerfile @@ -6,7 +6,9 @@ ## FROM python:3.8.12-slim -RUN pip install markupsafe==2.0.1 Flask==1.1.4 flask-WTF flask-bootstrap flask-oidc flask_sslify requests==2.22.0 +RUN pip3 install --upgrade pip + +RUN pip3 install markupsafe==2.1.2 Flask==2.0.0 itsdangerous==2.0.1 flask-WTF flask-bootstrap flask-oidc flask_sslify requests==2.22.0 ADD ./ app From a965c1db1d482ed5e9537f63b108da69fb000d96 Mon Sep 17 00:00:00 2001 From: jdorsch Date: Fri, 12 May 2023 14:56:32 +0200 Subject: [PATCH 06/11] f7t-base is created for each commit --- .gitlab-ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6b954b58..1a295a03 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -31,10 +31,13 @@ build_images: - echo '{"auths":{"'$CI_REGISTRY'":{"username":"'$CI_REGISTRY_USER'","password":"'$CI_REGISTRY_PASSWORD'"}}}' > /kaniko/.docker/config.json - | + # Base image for each commit + /kaniko/executor --build-arg --registry-mirror ${CI_REGISTRY} \ + --context ./ --dockerfile deploy/docker/base/Dockerfile --destination ${CI_REGISTRY_PREFIX}/f7t-base:${CI_COMMIT_SHORT_SHA} --cleanup # Core microservices for img in compute reservations status storage tasks utilities; do - /kaniko/executor --build-arg BASE_IMAGE=${CI_REGISTRY_PREFIX}/f7t-base:latest --registry-mirror ${CI_REGISTRY} \ + /kaniko/executor --build-arg BASE_IMAGE=${CI_REGISTRY_PREFIX}/f7t-base:${CI_COMMIT_SHORT_SHA} --registry-mirror ${CI_REGISTRY} \ --context ./ --dockerfile deploy/docker/$img/Dockerfile --destination ${CI_REGISTRY_PREFIX}/$img:${CI_COMMIT_SHORT_SHA} --cleanup done From 46554b2172032b1d8be3e5964ce214167e0fa6f3 Mon Sep 17 00:00:00 2001 From: jdorsch Date: Fri, 12 May 2023 14:56:52 +0200 Subject: [PATCH 07/11] Updated CHANGELOG file --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f668c7d..27c160d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [1.13.0] + +### Added + +### Changed + +- Flask version upgraded to `2.3.2` +- Cryptography version upgraded to `39.0.2` + +### Fixed + ## [1.12.0] ### Added From 5326d7bf0d6dfbcc9243018410ca962380519136 Mon Sep 17 00:00:00 2001 From: jdorsch Date: Fri, 12 May 2023 15:00:51 +0200 Subject: [PATCH 08/11] Fixed wrong parameter in kaniko build --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1a295a03..5f620b58 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -32,7 +32,7 @@ build_images: - | # Base image for each commit - /kaniko/executor --build-arg --registry-mirror ${CI_REGISTRY} \ + /kaniko/executor --registry-mirror ${CI_REGISTRY} \ --context ./ --dockerfile deploy/docker/base/Dockerfile --destination ${CI_REGISTRY_PREFIX}/f7t-base:${CI_COMMIT_SHORT_SHA} --cleanup # Core microservices From 96ad65cc1328ffffc25328de66da697a507bd776 Mon Sep 17 00:00:00 2001 From: jdorsch Date: Fri, 12 May 2023 15:42:32 +0200 Subject: [PATCH 09/11] fixed kaniko execution for base image --- .gitlab-ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5f620b58..83e5e016 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -32,8 +32,7 @@ build_images: - | # Base image for each commit - /kaniko/executor --registry-mirror ${CI_REGISTRY} \ - --context ./ --dockerfile deploy/docker/base/Dockerfile --destination ${CI_REGISTRY_PREFIX}/f7t-base:${CI_COMMIT_SHORT_SHA} --cleanup + /kaniko/executor --context ./ --dockerfile deploy/docker/base/Dockerfile --destination ${CI_REGISTRY_PREFIX}/f7t-base:${CI_COMMIT_SHORT_SHA} --cleanup # Core microservices for img in compute reservations status storage tasks utilities; do From abc342aa5045bdd20d2f1c9f3d386e0671e59dcb Mon Sep 17 00:00:00 2001 From: jdorsch Date: Fri, 12 May 2023 15:43:12 +0200 Subject: [PATCH 10/11] changed certificator to take base image from f7t-base --- CHANGELOG.md | 3 ++- deploy/docker/certificator/Dockerfile | 18 ++++-------------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27c160d1..426f419e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Flask version upgraded to `2.3.2` -- Cryptography version upgraded to `39.0.2` +- Cryptography version upgraded to `39.0.2` +- Certificator now uses `f7t-base` as base image ### Fixed diff --git a/deploy/docker/certificator/Dockerfile b/deploy/docker/certificator/Dockerfile index f6f34adb..cc03b093 100644 --- a/deploy/docker/certificator/Dockerfile +++ b/deploy/docker/certificator/Dockerfile @@ -4,25 +4,15 @@ ## Please, refer to the LICENSE file in the root directory. ## SPDX-License-Identifier: BSD-3-Clause ## -ARG BASE_IMAGE=centos:7 +ARG BASE_IMAGE=f7t-base FROM $BASE_IMAGE -RUN yum install -y epel-release -RUN yum -y update -RUN yum -y groupinstall "Development Tools" -RUN yum -y install openssl-devel bzip2-devel libffi-devel xz-devel wget -RUN wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz -RUN tar xvf Python-3.8.12.tgz && cd Python-3.8.12 && ./configure --enable-optimizations && make altinstall - -RUN ln -fs /usr/local/bin/python3.8 /usr/bin/python3 - -RUN yum install -y python3.8-pip openssh - -RUN pip3.8 install --upgrade pip +RUN apt-get update +RUN apt-get -y install openssh-client ADD deploy/docker/base/requirements.txt base/requirements.txt ADD deploy/docker/certificator/requirements.txt deps/requirements.txt -RUN pip3.8 install -r deps/requirements.txt +RUN pip3 install -r deps/requirements.txt ADD src/certificator/certificator.py certificator.py From 0edf34fc44bedb4b02631362cef87e04bb0bbab1 Mon Sep 17 00:00:00 2001 From: jdorsch Date: Fri, 12 May 2023 15:51:04 +0200 Subject: [PATCH 11/11] fixed certificator to be built with rest of microservices --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 83e5e016..e9121f77 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,7 +35,7 @@ build_images: /kaniko/executor --context ./ --dockerfile deploy/docker/base/Dockerfile --destination ${CI_REGISTRY_PREFIX}/f7t-base:${CI_COMMIT_SHORT_SHA} --cleanup # Core microservices - for img in compute reservations status storage tasks utilities; do + for img in certificator compute reservations status storage tasks utilities; do /kaniko/executor --build-arg BASE_IMAGE=${CI_REGISTRY_PREFIX}/f7t-base:${CI_COMMIT_SHORT_SHA} --registry-mirror ${CI_REGISTRY} \ --context ./ --dockerfile deploy/docker/$img/Dockerfile --destination ${CI_REGISTRY_PREFIX}/$img:${CI_COMMIT_SHORT_SHA} --cleanup done @@ -43,8 +43,8 @@ build_images: if [ "$CI_COMMIT_TAG" != "" ]; then exit 0; fi # Certificator separated since its base image is different (centos:7) - /kaniko/executor --context ./ --dockerfile "deploy/docker/certificator/Dockerfile" \ - --destination "${CI_REGISTRY_PREFIX}/certificator:${CI_COMMIT_SHORT_SHA}" --cleanup + # /kaniko/executor --context ./ --dockerfile "deploy/docker/certificator/Dockerfile" \ + # --destination "${CI_REGISTRY_PREFIX}/certificator:${CI_COMMIT_SHORT_SHA}" --cleanup # build web client /kaniko/executor --context src/tests/template_client --dockerfile ./Dockerfile \