diff --git a/contrib/container-images/README.rst b/contrib/container-images/README.rst index 4d52b219..2a703dbc 100644 --- a/contrib/container-images/README.rst +++ b/contrib/container-images/README.rst @@ -27,14 +27,14 @@ You will need to install `buildah `_ -- fedora32-pypi.sh_: Builds an image from `PyPi `_ packages on Fedora 32 -- fedora32-source.sh_: Builds an image from `git source `_ on Fedora 32 +- fedora33-distribution.sh_: Builds an image from Fedora 33`distribution packages `_ +- fedora33-pypi.sh_: Builds an image from `PyPi `_ packages on Fedora 33 +- fedora33-source.sh_: Builds an image from `git source `_ on Fedora 33 - centos8-pypi.sh_: Builds an image from `PyPi `_ packages on CentOS 8 -.. _fedora32-distribution.sh: https://github.com/ansible-community/ara/blob/master/contrib/container-images/fedora32-distribution.sh -.. _fedora32-pypi.sh: https://github.com/ansible-community/ara/blob/master/contrib/container-images/fedora32-pypi.sh -.. _fedora32-source.sh: https://github.com/ansible-community/ara/blob/master/contrib/container-images/fedora32-source.sh +.. _fedora33-distribution.sh: https://github.com/ansible-community/ara/blob/master/contrib/container-images/fedora33-distribution.sh +.. _fedora33-pypi.sh: https://github.com/ansible-community/ara/blob/master/contrib/container-images/fedora33-pypi.sh +.. _fedora33-source.sh: https://github.com/ansible-community/ara/blob/master/contrib/container-images/fedora33-source.sh .. _centos8-pypi.sh: https://github.com/ansible-community/ara/blob/master/contrib/container-images/centos8-pypi.sh The scripts have no arguments other than the ability to specify an optional name @@ -44,7 +44,7 @@ and tag: $ git clone https://github.com/ansible-community/ara $ cd ara/contrib/container-images - $ ./fedora32-source.sh ara-api:latest + $ ./fedora33-source.sh ara-api:latest # [...] Getting image source signatures Copying blob 59bbb69efd73 skipped: already exists diff --git a/contrib/container-images/centos8-pypi.sh b/contrib/container-images/centos8-pypi.sh index 0015981c..042749d2 100755 --- a/contrib/container-images/centos8-pypi.sh +++ b/contrib/container-images/centos8-pypi.sh @@ -6,7 +6,7 @@ build=$(buildah from centos:8) # This lets users swap easily from the sqlite default to mysql or postgresql just by tweaking settings.yaml. # Note: We use the packaged versions of psycopg2 and mysql python libraries so # we don't need to install development libraries before installing them from PyPi. -buildah run "${build}" -- /bin/bash -c "dnf update -y && dnf install -y epel-release && dnf install -y python3-pip python3-gunicorn python3-psycopg2 python3-mysql && dnf clean all" +buildah run "${build}" -- /bin/bash -c "dnf update -y && dnf install -y epel-release && dnf install -y which python3-pip python3-gunicorn python3-psycopg2 python3-mysql && dnf clean all" # Install ara from source with API server extras for dependencies (django & django-rest-framework) buildah run "${build}" -- /bin/bash -c "pip3 install ara[server]" diff --git a/contrib/container-images/fedora32-distribution.sh b/contrib/container-images/fedora33-distribution.sh similarity index 79% rename from contrib/container-images/fedora32-distribution.sh rename to contrib/container-images/fedora33-distribution.sh index cddcd2c5..12aa85e5 100755 --- a/contrib/container-images/fedora32-distribution.sh +++ b/contrib/container-images/fedora33-distribution.sh @@ -1,10 +1,10 @@ #!/bin/bash -x -# Builds an ARA API server container image from Fedora 32 distribution packages. -build=$(buildah from fedora:32) +# Builds an ARA API server container image from Fedora 33 distribution packages. +build=$(buildah from fedora:33) # Get all updates, install the ARA API server, database backends and gunicorn application server # This lets users swap easily from the sqlite default to mysql or postgresql just by tweaking settings.yaml. -buildah run "${build}" -- /bin/bash -c "dnf update -y && dnf install -y ara ara-server python3-psycopg2 python3-mysql python3-gunicorn && dnf clean all" +buildah run "${build}" -- /bin/bash -c "dnf update -y && dnf install -y ara ara-server which python3-psycopg2 python3-mysql python3-gunicorn && dnf clean all" # Set up the container to execute SQL migrations and run the API server with gunicorn buildah config --env ARA_BASE_DIR=/opt/ara "${build}" diff --git a/contrib/container-images/fedora32-pypi.sh b/contrib/container-images/fedora33-pypi.sh similarity index 80% rename from contrib/container-images/fedora32-pypi.sh rename to contrib/container-images/fedora33-pypi.sh index a841cdb4..16d75dac 100755 --- a/contrib/container-images/fedora32-pypi.sh +++ b/contrib/container-images/fedora33-pypi.sh @@ -1,19 +1,16 @@ #!/bin/bash -x -# Builds an ARA API server container image using the latest PyPi packages on Fedora 32. -build=$(buildah from fedora:32) +# Builds an ARA API server container image using the latest PyPi packages on Fedora 33. +build=$(buildah from fedora:33) # Get all updates, install pip, database backends and gunicorn application server # This lets users swap easily from the sqlite default to mysql or postgresql just by tweaking settings.yaml. # Note: We use the packaged versions of psycopg2 and mysql python libraries so # we don't need to install development libraries before installing them from PyPi. -buildah run "${build}" -- /bin/bash -c "dnf update -y && dnf install -y python3-pip python3-psycopg2 python3-mysql python3-gunicorn && dnf clean all" +buildah run "${build}" -- /bin/bash -c "dnf update -y && dnf install -y which python3-pip python3-psycopg2 python3-mysql python3-gunicorn && dnf clean all" # Install ara from source with API server extras for dependencies (django & django-rest-framework) buildah run "${build}" -- /bin/bash -c "pip3 install ara[server]" -# TODO: Remove after 1.4.2 is released with pyyaml/ruamel.yaml fix -buildah run "${build}" -- /bin/bash -c "pip3 install PyYAML" - # Set up the container to execute SQL migrations and run the API server with gunicorn buildah config --env ARA_BASE_DIR=/opt/ara "${build}" buildah config --cmd "bash -c '/usr/local/bin/ara-manage migrate && /usr/bin/gunicorn-3 --workers=4 --access-logfile - --bind 0.0.0.0:8000 ara.server.wsgi'" "${build}" diff --git a/contrib/container-images/fedora32-source.sh b/contrib/container-images/fedora33-source.sh similarity index 91% rename from contrib/container-images/fedora32-source.sh rename to contrib/container-images/fedora33-source.sh index 2b319f02..3f4c7cbb 100755 --- a/contrib/container-images/fedora32-source.sh +++ b/contrib/container-images/fedora33-source.sh @@ -1,5 +1,5 @@ #!/bin/bash -x -# Builds an ARA API server container image from checked out source on Fedora 32. +# Builds an ARA API server container image from checked out source on Fedora 33. # Figure out source directory relative to the contrib/container-images directory SCRIPT_DIR=$(cd `dirname $0` && pwd -P) SOURCE_DIR=$(cd "${SCRIPT_DIR}/../.." && pwd -P) @@ -10,13 +10,13 @@ python3 setup.py sdist sdist=$(ls dist/ara-*.tar.gz) popd -build=$(buildah from fedora:32) +build=$(buildah from fedora:33) # Get all updates, install pip, database backends and gunicorn application server # This lets users swap easily from the sqlite default to mysql or postgresql just by tweaking settings.yaml. # Note: We use the packaged versions of psycopg2 and mysql python libraries so # we don't need to install development libraries before installing them from PyPi. -buildah run "${build}" -- /bin/bash -c "dnf update -y && dnf install -y python3-pip python3-psycopg2 python3-mysql python3-gunicorn && dnf clean all" +buildah run "${build}" -- /bin/bash -c "dnf update -y && dnf install -y which python3-pip python3-psycopg2 python3-mysql python3-gunicorn && dnf clean all" # Install ara from source with API server extras for dependencies (django & django-rest-framework) buildah run --volume ${SOURCE_DIR}:/usr/local/src/ara:z "${build}" -- /bin/bash -c "pip3 install /usr/local/src/ara/${sdist}[server]" diff --git a/tests/with_container_images.yaml b/tests/with_container_images.yaml index 982ae841..76ce5689 100644 --- a/tests/with_container_images.yaml +++ b/tests/with_container_images.yaml @@ -25,17 +25,17 @@ # These are in chronological order of release so that we don't end up # running SQL migrations backwards during the tests. - name: localhost/ara-api - tag: fedora32-source-latest - script: fedora32-source.sh + tag: fedora33-source-latest + script: fedora33-source.sh - name: localhost/ara-api - tag: fedora32-pypi-latest - script: fedora32-pypi.sh + tag: fedora33-pypi-latest + script: fedora33-pypi.sh - name: localhost/ara-api tag: centos8-pypi-latest script: centos8-pypi.sh - name: localhost/ara-api - tag: fedora32-distribution-latest - script: fedora32-distribution.sh + tag: fedora33-distribution-latest + script: fedora33-distribution.sh tasks: - name: Install git, buildah and podman become: yes diff --git a/tests/zuul_publish_container_images.yaml b/tests/zuul_publish_container_images.yaml index 676e2764..b6698b87 100644 --- a/tests/zuul_publish_container_images.yaml +++ b/tests/zuul_publish_container_images.yaml @@ -23,22 +23,22 @@ images: # These images are meant to be provided by the "with_container_images.yaml" playbook - name: localhost/ara-api - tag: fedora32-source-latest + tag: fedora33-source-latest - name: localhost/ara-api - tag: fedora32-pypi-latest + tag: fedora33-pypi-latest - name: localhost/ara-api tag: centos8-pypi-latest - name: localhost/ara-api - tag: fedora32-distribution-latest + tag: fedora33-distribution-latest tasks: - name: Tag images with buildah command: | buildah tag {{ item.name }}:{{ item.tag }} {{ destination }}:{{ item.tag }} loop: "{{ images }}" - - name: Tag latest from fedora32-source-latest + - name: Tag latest from fedora33-source-latest command: | - buildah tag {{ destination }}:fedora32-source-latest {{ destination }}:latest + buildah tag {{ destination }}:fedora33-source-latest {{ destination }}:latest - name: Push latest command: |