apisnetworks / apiscp

ApisCP Issues Tracker
https://apiscp.com
15 stars 1 forks source link

Bootstrap task failure yum postgresql11 #15

Closed mminglis closed 5 years ago

mminglis commented 5 years ago

Hey. Testing bootstrapping, getting yum failures. Relevant message:

TASK [packages/install : Install packages] ****************************************************************************************************************************
FAILED - RETRYING: Install packages (3 retries left).
FAILED - RETRYING: Install packages (2 retries left).
FAILED - RETRYING: Install packages (1 retries left).
fatal: [localhost]: FAILED! => changed=false 
  attempts: 3
  msg: |-
    warning: /var/cache/yum/x86_64/7/pgdg11/packages/postgresql11-libs-11.2-2PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY

    GPG key retrieval failed: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-11"
  rc: 1

And in that folder:

ls /etc/pki/rpm-gpg/
RPM-GPG-KEY-apnscp-7  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Debug-7  RPM-GPG-KEY-CentOS-Testing-7  RPM-GPG-KEY-CLOUDFLARE-2  RPM-GPG-KEY-EPEL-7  RPM-GPG-KEY-PGDG
msaladna commented 5 years ago

PostgreSQL 11 repo is unstable. pgdg-centos11-11-2.noarch.rpm for example was missing as of a couple days ago. RPM key has been renamed, dropping the major version from it. Here's a quick fix to get you back on your feet with 11 without starting over:

ln -s /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG{,-11}
cd /usr/local/apnscp/resources/playbooks
ansible-playbook bootstrap.yml

Anecdotally, running 11 on a new hosting platform, no issues so far. Appears to be limited to just the Yum repository and limited to the last 48 hours.

Congrats on your second bug filing 🥇

mminglis commented 5 years ago

That works, cheers.

mminglis commented 5 years ago

Now running into an issue building php, output below:

TASK [php/build-from-source : Compile PHP 7.2.17]
************************************************************************************************
fatal: [localhost]: FAILED! => changed=true 
  cmd: '/usr/local/apnscp/resources/playbooks/roles/php/build-from-source/files/php.config '
  delta: '0:00:20.572933'
  end: '2019-04-17 04:18:03.724577'
  msg: non-zero return code
  rc: 1
  start: '2019-04-17 04:17:43.151644'
  stderr: |-
    configure: WARNING: unrecognized options: --with-exec-dir
    configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
  stderr_lines:
  - 'configure: WARNING: unrecognized options: --with-exec-dir'
  - 'configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path'
msaladna commented 5 years ago

What's rpm -qa | grep postgres report? Should have,

postgresql11-devel-11.2-2PGDG.rhel7.x86_64
postgresql11-11.2-2PGDG.rhel7.x86_64
postgresql11-contrib-11.2-2PGDG.rhel7.x86_64
postgresql11-libs-11.2-2PGDG.rhel7.x86_64
postgresql11-server-11.2-2PGDG.rhel7.x86_64

And does /usr/pgsql-11 exist?

On the RPM issue, opened a bug with PostgreSQL team (#15764)

mminglis commented 5 years ago
> rpm -qa | grep postgres
postgresql10-contrib-10.7-2PGDG.rhel7.x86_64
postgresql10-devel-10.7-2PGDG.rhel7.x86_64
postgresql10-libs-10.7-2PGDG.rhel7.x86_64
postgresql10-server-10.7-2PGDG.rhel7.x86_64
postgresql10-10.7-2PGDG.rhel7.x86_64
postgresql11-libs-11.2-2PGDG.rhel7.x86_64

> ls /usr
bin  etc  games  geos37  include  lib  lib64  libexec  local  pgsql-10  pgsql-11  proj49  sbin  share  src  tmp

> ls /usr/pgsql-11
lib  share
msaladna commented 5 years ago

Which PostgreSQL release did you opt for, 10 or 11? grep pgsql_version /root/apnscp-vars.yml

If 11, then I'm curious how 10 wound up in there. If 10, then I'm curious how 11 wound up in there...

To use 11:

rpm --nodeps -e postgresql10{,-contrib,devel,libs,server}
yum install -y postgresql11{,-contrib,devel,libs,server}

Otherwise to use 10:

rpm --nodeps -e postgresql11-libs
yum install -y postgresql10-libs

Then restart Bootstrapper,

cd /usr/local/apnscp/resources/playbooks
ansible-playbook bootstrap.yml
mminglis commented 5 years ago

Opted for 10 through the setup form. I won't even use PostgreSQL, is it used by other services or the panel?

Same issue with bootstrap after following advice, here was output of 10:

> rpm --nodeps -e postgresql11-libs
> yum install -y postgresql10-libs
Loaded plugins: etckeeper, fastestmirror, post-transaction-actions, priorities
Loading mirror speeds from cached hostfile
 * epel: fedora.mirror.serversaustralia.com.au
60 packages excluded due to repository priority protections
Package postgresql10-libs-10.7-2PGDG.rhel7.x86_64 already installed and latest version
Nothing to do
msaladna commented 5 years ago

Mail routing, secondary journal for account metadata, long-term account statistics in apnscp 3.1. Used by Discourse as well if you 1-click it.

Verify that /usr/pgsql-11 is missing then. If not rm -rf /usr/pgsql-11 (make sure no postgresql11 packages remain). When building PHP it'll enumerate the pgsql-XX directories and take the numerically highest one as the system version.

Then,

cd /usr/local/apnscp/resources/playbooks
ansible-playbook bootstrap.yml
mminglis commented 5 years ago

Cool that fixed it, bootstrapping away. Couple of other things, not urgent...

This:

TASK [apnscp/bootstrap : set_fact] **************************************
 [WARNING]: Unable to find '/usr/local/apnscp/config/custom/config.ini' in expected paths (use -vvvvv to see paths)

I think is resulting in errors like this:

TASK [apnscp/bootstrap : set_fact] ************************************************
fatal: [localhost]: FAILED! => 
  msg: 'An unhandled exception occurred while running the lookup plugin ''ini''. Error was a <class ''ConfigParser.NoSectionError''>, original message: No section: u''ssh'''
...ignoring

Also as part of troubleshooting I tried switching to master branch from your post here and got this:

# git checkout --track -b master-31 origin/master-31
fatal: Cannot update paths and switch to branch 'master-31' at the same time.
Did you intend to checkout 'origin/master-31' which can not be resolved as commit?

I needed to git fetch origin to checkout the 31 branch.

mminglis commented 5 years ago

Just an fyi, the errors in this issue are running under master not 31.

msaladna commented 5 years ago

Both messages are benign and happen on first run,

TASK [apnscp/bootstrap : set_fact] ************************************************
fatal: [localhost]: FAILED! => 
  msg: 'An unhandled exception occurred while running the lookup plugin ''ini''. Error was a <class ''ConfigParser.NoSectionError''>, original message: No section: u''ssh'''
...ignoring
TASK [apnscp/bootstrap : set_fact] **************************************
 [WARNING]: Unable to find '/usr/local/apnscp/config/custom/config.ini' in expected paths (use -vvvvv to see paths)

I needed to git fetch origin to checkout the 31 branch.

Updated the post. Panel updates will fetch origin automatically, but in case you haven't switched over yet...

PostgreSQL unified their repo on April 15, which is causing a slew of problems. python-psycopg2 is pulling down postgresql11-libs during dependency resolution on account of the repo being enabled. I'll have a new release (v3.0.31) released either later tonight or tomorrow to address this.

mminglis commented 5 years ago

No worries. Thanks for the help.

msaladna commented 5 years ago

Thanks for the bug report. Fixed in v3.0.31