Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building testing postgresql-container on RHEL10 #604

Merged
merged 2 commits into from
Feb 3, 2025

Conversation

phracek
Copy link
Member

@phracek phracek commented Jan 15, 2025

This pull request is separated into two commit.

The first commit adds support for dist-gen source files for RHEL10. In this case PostgreSQL 16.
The second commit adds distgen generated files.

README.md files are also updated.

Copy link

github-actions bot commented Jan 15, 2025

Pull Request validation

Failed

🔴 Review - Missing review from a member (1 required)

Success

🟢 CI - All checks have passed

@phracek
Copy link
Member Author

phracek commented Jan 15, 2025

Differences between C10S and RHEL10 Dockerfiles:

 diff -u 16/Dockerfile.c10s 16/Dockerfile.rhel10
--- 16/Dockerfile.c10s  2025-01-15 11:11:03
+++ 16/Dockerfile.rhel10        2025-01-15 11:11:03
@@ -1,4 +1,4 @@
-FROM quay.io/sclorg/s2i-core-c10s:c10s
+FROM ubi10/s2i-core

 # PostgreSQL image for OpenShift.
 # Volumes:
@@ -28,10 +28,11 @@
       io.openshift.expose-services="5432:postgresql" \
       io.openshift.tags="database,postgresql,postgresql16,postgresql-16" \
       io.openshift.s2i.assemble-user="26" \
-      name="sclorg/postgresql-16-c10s" \
+      name="rhel10/postgresql-16" \
       com.redhat.component="postgresql-16-container" \
       version="1" \
-      usage="podman run -d --name postgresql_database -e POSTGRESQL_USER=user -e POSTGRESQL_PASSWORD=pass -e POSTGRESQL_DATABASE=db -p 5432:5432 sclorg/postgresql-16-c10s" \
+      com.redhat.license_terms="https://www.redhat.com/en/about/red-hat-end-user-license-agreements#rhel" \
+      usage="podman run -d --name postgresql_database -e POSTGRESQL_USER=user -e POSTGRESQL_PASSWORD=pass -e POSTGRESQL_DATABASE=db -p 5432:5432 rhel10/postgresql-16" \
       maintainer="SoftwareCollections.org <[email protected]>"

 EXPOSE 5432
@@ -42,10 +43,11 @@
 # safe in the future. This should *never* change, the last test is there
 # to make sure of that.
 RUN INSTALL_PKGS="rsync tar gettext-envsubst bind-utils nss_wrapper-libs glibc-locale-source xz" && \
-    PSQL_PKGS="postgresql16-server postgresql16-contrib postgresql16-upgrade" && \
+    PSQL_PKGS="postgresql16-server postgresql16-contrib" && \
     INSTALL_PKGS="$INSTALL_PKGS pgaudit" && \
+    INSTALL_PKGS="$INSTALL_PKGS procps-ng util-linux postgresql-upgrade" && \
     yum -y --setopt=tsflags=nodocs install $INSTALL_PKGS $PSQL_PKGS  && \
-    rpm -V $INSTALL_PKGS postgresql-server postgresql-contrib postgresql-upgrade && \
+    rpm -V $INSTALL_PKGS  && \
     postgres -V | grep -qe "$POSTGRESQL_VERSION\." && echo "Found VERSION $POSTGRESQL_VERSION" && \
     yum -y clean all --enablerepo='*' && \
     localedef -f UTF-8 -i en_US en_US.UTF-8 && \

Differences between RHEL9 and RHEL10 dockerfiles:

 diff -u 16/Dockerfile.rhel9 16/Dockerfile.rhel10
--- 16/Dockerfile.rhel9 2025-01-15 11:11:03
+++ 16/Dockerfile.rhel10        2025-01-15 11:11:03
@@ -1,4 +1,4 @@
-FROM ubi9/s2i-core
+FROM registry.stage.redhat.io/ubi10/s2i-core

 # PostgreSQL image for OpenShift.
 # Volumes:
@@ -28,11 +28,11 @@
       io.openshift.expose-services="5432:postgresql" \
       io.openshift.tags="database,postgresql,postgresql16,postgresql-16" \
       io.openshift.s2i.assemble-user="26" \
-      name="rhel9/postgresql-16" \
+      name="rhel10/postgresql-16" \
       com.redhat.component="postgresql-16-container" \
       version="1" \
       com.redhat.license_terms="https://www.redhat.com/en/about/red-hat-end-user-license-agreements#rhel" \
-      usage="podman run -d --name postgresql_database -e POSTGRESQL_USER=user -e POSTGRESQL_PASSWORD=pass -e POSTGRESQL_DATABASE=db -p 5432:5432 rhel9/postgresql-16" \
+      usage="podman run -d --name postgresql_database -e POSTGRESQL_USER=user -e POSTGRESQL_PASSWORD=pass -e POSTGRESQL_DATABASE=db -p 5432:5432 rhel10/postgresql-16" \
       maintainer="SoftwareCollections.org <[email protected]>"

 EXPOSE 5432
@@ -42,14 +42,13 @@
 # This image must forever use UID 26 for postgres user so our volumes are
 # safe in the future. This should *never* change, the last test is there
 # to make sure of that.
-RUN { yum -y module enable postgresql:16 || :; } && \
-    INSTALL_PKGS="rsync tar gettext bind-utils nss_wrapper-libs postgresql-server postgresql-contrib" && \
+RUN INSTALL_PKGS="rsync tar gettext-envsubst bind-utils nss_wrapper-libs glibc-locale-source xz" && \
+    PSQL_PKGS="postgresql16-server postgresql16-contrib" && \
     INSTALL_PKGS="$INSTALL_PKGS pgaudit" && \
     INSTALL_PKGS="$INSTALL_PKGS procps-ng util-linux postgresql-upgrade" && \
-    yum -y --setopt=tsflags=nodocs install $INSTALL_PKGS && \
-    rpm -V $INSTALL_PKGS && \
+    yum -y --setopt=tsflags=nodocs install $INSTALL_PKGS $PSQL_PKGS  && \
+    rpm -V $INSTALL_PKGS  && \
     postgres -V | grep -qe "$POSTGRESQL_VERSION\." && echo "Found VERSION $POSTGRESQL_VERSION" && \
-    (yum -y reinstall tzdata || yum -y update tzdata ) && \
     yum -y clean all --enablerepo='*' && \
     localedef -f UTF-8 -i en_US en_US.UTF-8 && \
     test "$(id postgres)" = "uid=26(postgres) gid=26(postgres) groups=26(postgres)" && \

@phracek
Copy link
Member Author

phracek commented Jan 15, 2025

[test]

@phracek phracek requested a review from fila43 January 15, 2025 11:23
@phracek
Copy link
Member Author

phracek commented Jan 15, 2025

Hi @pkubatrh @hhorak @fila43 If you have a spare time. Review it please. LGTM or Approval is welcome.

Tests are locally passing:

==============================================
Tests were run for image rhel10/postgresql-16:1
==============================================
Test cases results:

 [PASSED] for 'postgresql-container_tests' run_container_creation_tests (00:00:34)
 [PASSED] for 'postgresql-container_tests' run_general_tests (00:01:06)
 [PASSED] for 'postgresql-container_tests' run_change_password_test (00:00:11)
 [PASSED] for 'postgresql-container_tests' run_replication_test (00:00:08)
 [PASSED] for 'postgresql-container_tests' run_s2i_test (00:00:20)
 [PASSED] for 'postgresql-container_tests' run_test_cfg_hook (00:00:12)
 [PASSED] for 'postgresql-container_tests' run_s2i_bake_data_test (00:00:15)
 [PASSED] for 'postgresql-container_tests' run_s2i_enable_ssl_test (00:00:09)
 [PASSED] for 'postgresql-container_tests' run_upgrade_test (00:00:00)
 [PASSED] for 'postgresql-container_tests' run_migration_test (00:00:00)
 [PASSED] for 'postgresql-container_tests' run_pgaudit_test (00:00:03)
 [PASSED] for 'postgresql-container_tests' run_env_extension_load_test (00:00:03)
 [PASSED] for 'postgresql-container_tests' run_logging_test (00:00:03)

Tests for rhel10/postgresql-16:1 succeeded.

Copy link

github-actions bot commented Jan 15, 2025

Testing Farm results

namecomposearchstatusstarted (UTC)timelogs
CentOS Stream 10 - 16CentOS-Stream-10x86_64✅ passed30.01.2025 09:39:258min 9stest pipeline
CentOS Stream 9 - 15CentOS-Stream-9x86_64✅ passed30.01.2025 09:39:1810min 19stest pipeline
CentOS Stream 9 - 16CentOS-Stream-9x86_64✅ passed30.01.2025 09:39:2210min 39stest pipeline
Fedora - 15Fedora-latestx86_64✅ passed30.01.2025 09:39:1811min 37stest pipeline
Fedora - 16Fedora-latestx86_64✅ passed30.01.2025 09:39:2211min 15stest pipeline
RHEL9 - 13RHEL-9.4.0-Nightlyx86_64✅ passed30.01.2025 15:58:0715min 23stest pipeline
RHEL9 - 15RHEL-9.4.0-Nightlyx86_64✅ passed30.01.2025 09:40:1216min 36stest pipeline
RHEL9 - 16RHEL-9.4.0-Nightlyx86_64✅ passed30.01.2025 09:39:2717min 10stest pipeline
RHEL8 - 12RHEL-8.10.0-Nightlyx86_64✅ passed30.01.2025 09:39:0817min 37stest pipeline
RHEL8 - 13RHEL-8.10.0-Nightlyx86_64✅ passed30.01.2025 15:58:0819min 43stest pipeline
RHEL8 - 15RHEL-8.10.0-Nightlyx86_64✅ passed30.01.2025 09:39:2218min 42stest pipeline
RHEL8 - 16RHEL-8.10.0-Nightlyx86_64✅ passed30.01.2025 15:58:0920min 16stest pipeline
CentOS Stream 9 - 13CentOS-Stream-9x86_64✅ passed30.01.2025 09:39:119min 32stest pipeline
RHEL10 - 16RHEL-10-Nightlyx86_64✅ passed30.01.2025 15:58:1214min 39stest pipeline

@sclorg sclorg deleted a comment from github-actions bot Jan 15, 2025
@phracek
Copy link
Member Author

phracek commented Jan 15, 2025

@hhorak @fila43 @pkubatrh @SlouchyButton In case you have spare time, please review it and give Approval.

@phracek
Copy link
Member Author

phracek commented Jan 16, 2025

Building on RHEL10 is allowed. Re-run again
[test]

PostgreSQL 16 is supported on RHEL10.

README.md file is updated for the each version as well.

Signed-off-by: Petr "Stone" Hracek <[email protected]>
@phracek phracek force-pushed the building_testing_rhel10 branch from 078251e to 005cbc7 Compare January 28, 2025 15:01
@phracek
Copy link
Member Author

phracek commented Jan 28, 2025

Fixed base image for 16/Dockerfile.rhel10.

[test]

@phracek
Copy link
Member Author

phracek commented Jan 30, 2025

[test]

@fila43
Copy link
Member

fila43 commented Feb 3, 2025

LGTM

@phracek phracek merged commit 30c08c7 into master Feb 3, 2025
16 checks passed
@phracek phracek deleted the building_testing_rhel10 branch February 3, 2025 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants