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

GPG Key no longer valid for RPMS #1565

Closed
jonathannewman opened this issue Jan 4, 2024 · 3 comments · Fixed by #1566
Closed

GPG Key no longer valid for RPMS #1565

jonathannewman opened this issue Jan 4, 2024 · 3 comments · Fixed by #1566

Comments

@jonathannewman
Copy link

jonathannewman commented Jan 4, 2024

Describe the Bug

Postgres org changed all the GPG keys as of January 3rd, so the Postgres module is no longer able to install Postgres on some centos based platforms.

e.g.

The GPG keys listed for the "PostgreSQL 11 7 - x86_64" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.

See https://yum.postgresql.org/news/pgdg-rpm-repo-gpg-key-update/

Expected Behavior

GPG key validation works.

Steps to Reproduce

On a new centos 7 system:

sudo rpm -Uvh https://yum.puppet.com/puppet7-release-el-7.noarch.rpm
yum install ca-certificates
yum install puppet
puppet module install puppetlabs-postgresql
puppet apply --execute "class { 'postgresql::globals': manage_package_repo => true, version=> '14' } class { 'postgresql::server':}"

Environment

  • Platform centos7, redhat 7, redhat 8, almalinux8, rocky8
@jonathannewman
Copy link
Author

@vaol
Copy link
Contributor

vaol commented Jan 4, 2024

On my environment, I fixed it with the changes available in PR1566. Can you check if this would be a valid permanent fix ?

@jonathannewman
Copy link
Author

Thanks! I'm trying to validate it now.

@ekohl ekohl linked a pull request Jan 5, 2024 that will close this issue
5 tasks
jonathannewman added a commit to jonathannewman/puppetlabs-puppetdb that referenced this issue Jan 5, 2024
Postgres 11 is no longer supported as an installation method from Postgres.org.
As a result, installations will fail using `puppetlabs-postgresql` with
failures like:

```
   Error: /Stage[main]/Postgresql::Server::Install/Package[postgresql-server]/ensure: change from 'purged' to 'present' failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install postgresql11-server' returned 1: One of the configured repositories failed (PostgreSQL 11 7 - x86_64),
     and yum doesn't have enough cached data to continue. At this point the only
     safe thing yum can do is fail. There are a few ways to work "fix" this:

         1. Contact the upstream for the repository and get them to fix the problem.

         2. Reconfigure the baseurl/etc. for the repository, to point to a working
            upstream. This is most often useful if you are using a newer
            distribution release than is supported by the repository (and the
            packages for the previous distribution release still work).

         3. Disable the repository, so yum won't use it by default. Yum will then
            just ignore the repository until you permanently enable it again or use
            --enablerepo for temporary usage:

                yum-config-manager --disable yum.postgresql.org

         4. Configure the failing repository to be skipped, if it is unavailable.
            Note that yum will try to contact the repo. when it runs most commands,
            so will have to try and fail each time (and thus. yum will be be much
            slower). If it is a very temporary problem though, this is often a nice
            compromise:

                yum-config-manager --save --setopt=yum.postgresql.org.skip_if_unavailable=true

    failure: repodata/repomd.xml from yum.postgresql.org: [Errno 256] No more mirrors to try.
    https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
```

To make matters more complicated, `puppetlabs-postgresql` is impacted by
https://yum.postgresql.org/news/pgdg-rpm-repo-gpg-key-update/

see puppetlabs/puppetlabs-postgresql#1565

so too will not work until a new version of that is released with a fix.
vchepkov added a commit to vchepkov/puppet-bootstrap that referenced this issue Jan 7, 2024
jonathannewman added a commit to jonathannewman/puppetlabs-puppetdb that referenced this issue Feb 15, 2024
Postgres 11 is no longer supported as an installation method from Postgres.org.
As a result, installations will fail using `puppetlabs-postgresql` with
failures like:

```
   Error: /Stage[main]/Postgresql::Server::Install/Package[postgresql-server]/ensure: change from 'purged' to 'present' failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install postgresql11-server' returned 1: One of the configured repositories failed (PostgreSQL 11 7 - x86_64),
     and yum doesn't have enough cached data to continue. At this point the only
     safe thing yum can do is fail. There are a few ways to work "fix" this:

         1. Contact the upstream for the repository and get them to fix the problem.

         2. Reconfigure the baseurl/etc. for the repository, to point to a working
            upstream. This is most often useful if you are using a newer
            distribution release than is supported by the repository (and the
            packages for the previous distribution release still work).

         3. Disable the repository, so yum won't use it by default. Yum will then
            just ignore the repository until you permanently enable it again or use
            --enablerepo for temporary usage:

                yum-config-manager --disable yum.postgresql.org

         4. Configure the failing repository to be skipped, if it is unavailable.
            Note that yum will try to contact the repo. when it runs most commands,
            so will have to try and fail each time (and thus. yum will be be much
            slower). If it is a very temporary problem though, this is often a nice
            compromise:

                yum-config-manager --save --setopt=yum.postgresql.org.skip_if_unavailable=true

    failure: repodata/repomd.xml from yum.postgresql.org: [Errno 256] No more mirrors to try.
    https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
```

To make matters more complicated, `puppetlabs-postgresql` is impacted by
https://yum.postgresql.org/news/pgdg-rpm-repo-gpg-key-update/

see puppetlabs/puppetlabs-postgresql#1565

so too will not work until a new version of that is released with a fix.
h0tw1r3 pushed a commit to jonathannewman/puppetlabs-puppetdb that referenced this issue Feb 15, 2024
Postgres 11 is no longer supported as an installation method from Postgres.org.
As a result, installations will fail using `puppetlabs-postgresql` with
failures like:

```
   Error: /Stage[main]/Postgresql::Server::Install/Package[postgresql-server]/ensure: change from 'purged' to 'present' failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install postgresql11-server' returned 1: One of the configured repositories failed (PostgreSQL 11 7 - x86_64),
     and yum doesn't have enough cached data to continue. At this point the only
     safe thing yum can do is fail. There are a few ways to work "fix" this:

         1. Contact the upstream for the repository and get them to fix the problem.

         2. Reconfigure the baseurl/etc. for the repository, to point to a working
            upstream. This is most often useful if you are using a newer
            distribution release than is supported by the repository (and the
            packages for the previous distribution release still work).

         3. Disable the repository, so yum won't use it by default. Yum will then
            just ignore the repository until you permanently enable it again or use
            --enablerepo for temporary usage:

                yum-config-manager --disable yum.postgresql.org

         4. Configure the failing repository to be skipped, if it is unavailable.
            Note that yum will try to contact the repo. when it runs most commands,
            so will have to try and fail each time (and thus. yum will be be much
            slower). If it is a very temporary problem though, this is often a nice
            compromise:

                yum-config-manager --save --setopt=yum.postgresql.org.skip_if_unavailable=true

    failure: repodata/repomd.xml from yum.postgresql.org: [Errno 256] No more mirrors to try.
    https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
```

To make matters more complicated, `puppetlabs-postgresql` is impacted by
https://yum.postgresql.org/news/pgdg-rpm-repo-gpg-key-update/

see puppetlabs/puppetlabs-postgresql#1565

so too will not work until a new version of that is released with a fix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants