CrunchyData / crunchy-containers

Containers for Managing PostgreSQL on Kubernetes by Crunchy Data
https://www.crunchydata.com/
Apache License 2.0
1.01k stars 328 forks source link

Local build of v4.7.0 missing dependencies for PG 11 #1364

Closed marco-devopsdojo closed 3 years ago

marco-devopsdojo commented 3 years ago

Which example are you working with? I try to build https://access.crunchydata.com/documentation/crunchy-postgres-containers/latest/contributing/building/ with the latest version 4.7.0 for PostgreSQL 11 so I changed the env.

Is there a missing dependency in https://repo.developers.crunchydata.com/postgresql11/centos/EL8/x86_64/ repo or are that features not avalable for PG 11.12?

make setup
make IMGBUILDER=docker IMG_PUSH_TO_DOCKER_DAEMON=false DOCKERBASEREGISTRY=localhost:6000 CCP_BASEOS=centos8 CCP_VERSION=4.7.0 CCP_PGVERSION=11 CCP_PG_FULLVERSION=11.12 CCP_POSTGIS_VERSION=2.5 CCP_BACKREST_VERSION=2.31 CCP_IMAGE_PREFIX=localhost:6000/myimages CCP_IMAGE_TAG=centos8-11.12-4.7.0 CCP_POSTGIS_IMAGE_TAG=centos8-11.12-2.5-4.7.0 postgres-ha postgres-gis-ha pgbackrest-repo pgbouncer

What is the current behavior? The crunchy base is build successfully but in Step 16 some dependencies are missing in the https://repo.developers.crunchydata.com/postgresql11/centos/EL8/x86_64/ repo

...
Successfully tagged repo.bit.admin.ch:8445/bit/crunchy-base:centos8-11.12-4.7.0
docker build \
        -f ./build/postgres/Dockerfile \
        -t localhost:6000/myimages/crunchy-postgres:centos8-11.12-4.7.0 \
        --build-arg BASEOS=centos8 \
        --build-arg BASEVER=4.7.0 \
        --build-arg PG_FULL=11.12 \
        --build-arg PG_LBL=11 \
        --build-arg PG_MAJOR=11 \
        --build-arg PREFIX=localhost:6000/myimages \
        --build-arg BACKREST_VER=2.31 \
        --build-arg DFSET=centos \
        --build-arg PACKAGER=dnf \
        --build-arg BASE_IMAGE_NAME=crunchy-base \
...
Step 16/31 : RUN if [ "$DFSET" = "centos" ] ; then         ${PACKAGER} -y install               --setopt=skip_missing_names_on_install=False            openssh-clients              openssh-server          pgaudit${PG_MAJOR//.}           pgaudit${PG_MAJOR//.}_set_user          pg_partman_${PG_MAJOR//.}               pg_cron_${PG_MAJOR//.}               crunchy-backrest-${BACKREST_VER}                postgresql${PG_MAJOR//.}-contrib                postgresql${PG_MAJOR//.}-server             postgresql${PG_MAJOR//.}-plpython*               pgnodemx${PG_MAJOR//.}          $( printf '11\n'${PG_MAJOR} | sort -VC && echo postgresql${PG_MAJOR}-llvmjit )              psmisc          rsync           $( printf '11\n'${PG_MAJOR} | sort -VC && echo timescaledb_${PG_MAJOR} )                wal2json${PG_MAJOR//.}          file                 gettext                 hostname              procps-ng               pgaudit_analyze                 unzip           bzip2           lz4         && ${PACKAGER} -y clean all ; else         ${PACKAGER} -y install                --enablerepo="epel"             openssh-clients                 openssh-server      pgaudit${PG_MAJOR//.}            pgaudit${PG_MAJOR//.}_set_user          pg_partman_${PG_MAJOR//.}               pg_cron_${PG_MAJOR//.}          crunchy-backrest-${BACKREST_VER}             postgresql${PG_MAJOR//.}-contrib                postgresql${PG_MAJOR//.}-server                 postgresql${PG_MAJOR//.}-plpython*          pgnodemx${PG_MAJOR//.}           $( printf '11\n'${PG_MAJOR} | sort -VC && echo postgresql${PG_MAJOR}-llvmjit )          psmisc          rsync           $( printf '11\n'${PG_MAJOR} | sort -VC && echo timescaledb_${PG_MAJOR} )             wal2json${PG_MAJOR//.}          file   unzip           tar             bzip2       lz4      && ${PACKAGER} -y install               --setopt=tsflags=''             --enablerepo="epel"             pgaudit_analyze         && ${PACKAGER} -y clean all --enablerepo="epel" ; fi
---> Running in 5214cf018162
Main config did not have a skip_missing_names_on_install attr. before setopt
Main config did not have a skip_missing_names_on_install attr. before setopt
CentOS Linux 8 - AppStream                      1.5 MB/s | 6.3 MB     00:04    
CentOS Linux 8 - BaseOS                         1.6 MB/s | 2.3 MB     00:01    
CentOS Linux 8 - Extras                          22 kB/s | 9.6 kB     00:00    
Crunchy Data PostgreSQL 11 8 - x86_64           108 kB/s | 244 kB     00:02    
Extra Packages for Enterprise Linux Modular 8 - 274 kB/s | 612 kB     00:02    
Extra Packages for Enterprise Linux 8 - x86_64  1.6 MB/s | 9.4 MB     00:05    
Last metadata expiration check: 0:00:01 ago on Thu 20 May 2021 07:21:30 AM UTC.
Package openssh-clients-8.0p1-5.el8.x86_64 is already installed.
No match for argument: pg_partman_11
No match for argument: pg_cron_11
No match for argument: timescaledb_11

What is the expected behavior?

Build works :)

Other information (e.g. detailed explanation, related issues, etc) https://repo.developers.crunchydata.com/postgresql11/centos/EL8/x86_64/ -> has no pg_partman_11 / pg_cron_11 / timescaledb_11 available https://repo.developers.crunchydata.com/postgresql12/centos/EL8/SRPMS/ -> pg_partman, pg_cron, timescaledb avalable

Please tell us about your environment:

jkatz commented 3 years ago

Container images for 4.7 are not yet released publicly, you can find out more information about the release process here:

https://github.com/CrunchyData/postgres-operator#releases

You can find out more information about what images are made publicly available in the developer portal:

https://www.crunchydata.com/developers

marco-devopsdojo commented 3 years ago

Yeah thats fine that the images are not provided, I want to build the images on my own. The issue occurs during the current build of the docker images, if I follow the documentation, because some RPMs are missing.