Bonjour,
La mise à niveau de 2.5.0beta4 vers 2.5.0beta5 a échoué.
Une mise à niveau du conteneur Docker a été détectée (lorsque j’ai tenté la mise à niveau via l’interface web, puis j’ai accédé à la page « Vous exécutez une ancienne version de l’image Discourse. » et je dois accéder à la console Ubuntu sous-jacente pour exécuter la commande de reconstruction de l’application du lanceur.
À ce que j’ai compris, après le démarrage du serveur PostgreSQL, les tentatives d’accès échouent. Voici la sortie de la commande launcher. Nous utilisons cette configuration depuis deux ans, sans rencontrer de problèmes lors des mises à niveau de l’image Discourse jusqu’à présent.
root@host:/var/discourse# ./launcher rebuild my-app
Arrêt de l'ancien conteneur
+ /usr/bin/docker stop -t 60 my-app
my-app
cd /pups && git pull && /pups/bin/pups --stdin
Déjà à jour.
I, [2020-05-30T10:14:28.336323 #1] INFO -- : Chargement de --stdin
I, [2020-05-30T10:14:28.347207 #1] INFO -- : > apt-get remove -y postgresql-10 postgresql-client-10 postgresql-contrib-10
I, [2020-05-30T10:14:30.056220 #1] INFO -- : Lecture des listes de paquets...
Construction de l'arbre des dépendances...
Lecture des informations d'état...
Le paquet « postgresql-10 » n'est pas installé, donc non supprimé
Le paquet « postgresql-client-10 » n'est pas installé, donc non supprimé
0 mis à jour, 0 nouvellement installés, 0 à supprimer et 0 non mis à jour.
I, [2020-05-30T10:14:30.056724 #1] INFO -- : > apt-get update && apt-get install -y postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
debconf : report de la configuration du paquet, car apt-utils n'est pas installé
I, [2020-05-30T10:14:51.560662 #1] INFO -- : Hit:1 http://deb.debian.org/debian buster InRelease
Get:2 http://deb.debian.org/debian buster-updates InRelease [49,3 kB]
Get:3 http://security.debian.org/debian-security buster/updates InRelease [65,4 kB]
Hit:4 https://deb.nodesource.com/node_10.x buster InRelease
Get:5 http://security.debian.org/debian-security buster/updates/main amd64 Packages [201 kB]
Get:6 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [84,6 kB]
Get:7 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [171 kB]
572 kB récupérés en 5 s (127 kB/s)
Lecture des listes de paquets...
Lecture des listes de paquets...
Construction de l'arbre des dépendances...
Lecture des informations d'état...
Paquets suggérés :
postgresql-doc-9.5 libdbd-pg-perl
Les paquets suivants seront installés :
postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
0 mis à jour, 3 nouvellement installés, 0 à supprimer et 9 non mis à jour.
5 700 kB de paquets à récupérer.
Après cette opération, 27,2 Mo d'espace disque supplémentaire seront utilisés.
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-9.5 amd64 9.5.22-1.pgdg100+1 [1 252 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-9.5 amd64 9.5.22-1.pgdg100+1 [3 985 kB]
Get:3 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-contrib-9.5 amd64 9.5.22-1.pgdg100+1 [463 kB]
5 700 kB récupérés en 7 s (828 kB/s)
Sélection du paquet postgresql-client-9.5 précédemment non sélectionné.
(Lecture de la base de données... 43929 fichiers et répertoires actuellement installés.)
Préparation du dépaquetage de .../postgresql-client-9.5_9.5.22-1.pgdg100+1_amd64.deb ...
Dépaquetage de postgresql-client-9.5 (9.5.22-1.pgdg100+1) ...
Sélection du paquet postgresql-9.5 précédemment non sélectionné.
Préparation du dépaquetage de .../postgresql-9.5_9.5.22-1.pgdg100+1_amd64.deb ...
Dépaquetage de postgresql-9.5 (9.5.22-1.pgdg100+1) ...
Sélection du paquet postgresql-contrib-9.5 précédemment non sélectionné.
Préparation du dépaquetage de .../postgresql-contrib-9.5_9.5.22-1.pgdg100+1_amd64.deb ...
Dépaquetage de postgresql-contrib-9.5 (9.5.22-1.pgdg100+1) ...
Configuration de postgresql-client-9.5 (9.5.22-1.pgdg100+1) ...
update-alternatives : avertissement : forcer la réinstallation de l'alternative /usr/share/postgresql/12/man/man1/psql.1.gz car le groupe de liens psql.1.gz est cassé
Configuration de postgresql-9.5 (9.5.22-1.pgdg100+1) ...
Création du nouveau cluster PostgreSQL 9.5/main ...
/usr/lib/postgresql/9.5/bin/initdb -D /var/lib/postgresql/9.5/main --auth-local peer --auth-host md5
Les fichiers appartenant à ce système de base de données seront détenus par l'utilisateur « postgres ».
Cet utilisateur doit également posséder le processus serveur.
Le cluster de base de données sera initialisé avec la locale « C.UTF-8 ».
Le codage par défaut de la base de données a été défini en conséquence sur « UTF8 ».
La configuration par défaut de la recherche textuelle sera définie sur « anglais ».
Les sommes de contrôle des pages de données sont désactivées.
correction des permissions sur le répertoire existant /var/lib/postgresql/9.5/main ... ok
création des sous-répertoires ... ok
sélection de max_connections par défaut ... 100
sélection de shared_buffers par défaut ... 128Mo
sélection du fuseau horaire par défaut ... Etc/UTC
sélection de l'implémentation de la mémoire partagée dynamique ... posix
création des fichiers de configuration ... ok
création de la base de données template1 dans /var/lib/postgresql/9.5/main/base/1 ... ok
initialisation de pg_authid ... ok
initialisation des dépendances ... ok
création des vues système ... ok
chargement des descriptions des objets système ... ok
création des collations ... ok
création des conversions ... ok
création des dictionnaires ... ok
définition des privilèges sur les objets intégrés ... ok
création du schéma d'information ... ok
chargement du langage côté serveur PL/pgSQL ... ok
vacuum de la base de données template1 ... ok
copie de template1 vers template0 ... ok
copie de template1 vers postgres ... ok
synchronisation des données sur le disque ... ok
Succès. Vous pouvez maintenant démarrer le serveur de base de données en utilisant :
/usr/lib/postgresql/9.5/bin/pg_ctl -D /var/lib/postgresql/9.5/main -l logfile start
Ver Cluster Port Statut Propriétaire Répertoire de données Fichier journal
9.5 main 5433 down postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
update-alternatives : avertissement : forcer la réinstallation de l'alternative /usr/share/postgresql/12/man/man1/postmaster.1.gz car le groupe de liens postmaster.1.gz est cassé
invoke-rc.d : impossible de déterminer le niveau d'exécution actuel
invoke-rc.d : la politique policy-rc.d a refusé l'exécution du démarrage.
Configuration de postgresql-contrib-9.5 (9.5.22-1.pgdg100+1) ...
Traitement des déclencheurs pour postgresql-common (213.pgdg100+1) ...
Construction des dictionnaires PostgreSQL à partir des paquets myspell/hunspell installés...
Suppression des fichiers de dictionnaire obsolètes :
I, [2020-05-30T10:14:51.560954 #1] INFO -- : > mkdir -p /shared/postgres_run
I, [2020-05-30T10:14:51.565020 #1] INFO -- :
I, [2020-05-30T10:14:51.565382 #1] INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-05-30T10:14:51.568493 #1] INFO -- :
I, [2020-05-30T10:14:51.568683 #1] INFO -- : > chmod 775 /shared/postgres_run
I, [2020-05-30T10:14:51.571643 #1] INFO -- :
I, [2020-05-30T10:14:51.571905 #1] INFO -- : > rm -fr /var/run/postgresql
I, [2020-05-30T10:14:51.575191 #1] INFO -- :
I, [2020-05-30T10:14:51.575460 #1] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-05-30T10:14:51.578698 #1] INFO -- :
I, [2020-05-30T10:14:51.578886 #1] INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres déjà en cours d'exécution, arrêt du conteneur ; exit 1
2020/05/30 10:14:51 socat[1566] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36) : Aucun fichier ou répertoire de ce type
I, [2020-05-30T10:14:51.586239 #1] INFO -- :
I, [2020-05-30T10:14:51.586497 #1] INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-05-30T10:14:51.590775 #1] INFO -- :
I, [2020-05-30T10:14:51.591006 #1] INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-05-30T10:14:51.595283 #1] INFO -- :
I, [2020-05-30T10:14:51.595499 #1] INFO -- : > mkdir -p /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2020-05-30T10:14:51.598982 #1] INFO -- :
I, [2020-05-30T10:14:51.599223 #1] INFO -- : > chown postgres:postgres /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2020-05-30T10:14:51.602578 #1] INFO -- :
I, [2020-05-30T10:14:51.612032 #1] INFO -- : Fichier > /etc/service/postgres/run chmod: +x chown:
I, [2020-05-30T10:14:51.620151 #1] INFO -- : Fichier > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2020-05-30T10:14:51.620486 #1] INFO -- : > chown -R root /var/lib/postgresql/9.5/main
I, [2020-05-30T10:14:51.636135 #1] INFO -- :
I, [2020-05-30T10:14:51.636458 #1] INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/9.5/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-05-30T10:14:51.640512 #1] INFO -- :
I, [2020-05-30T10:14:51.640611 #1] INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-05-30T10:14:51.660141 #1] INFO -- :
I, [2020-05-30T10:14:51.660411 #1] INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-05-30T10:14:51.665486 #1] INFO -- :
I, [2020-05-30T10:14:51.665922 #1] INFO -- : Remplacement de data_directory = '/var/lib/postgresql/9.5/main' par data_directory = '/shared/postgres_data' dans /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-30T10:14:51.666711 #1] INFO -- : Remplacement de (?-mix:#?listen_addresses *=.*) par listen_addresses = '*' dans /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-30T10:14:51.667296 #1] INFO -- : Remplacement de (?-mix:#?synchronous_commit *=.*) par synchronous_commit = $db_synchronous_commit dans /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-30T10:14:51.667777 #1] INFO -- : Remplacement de (?-mix:#?shared_buffers *=.*) par shared_buffers = $db_shared_buffers dans /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-30T10:14:51.668237 #1] INFO -- : Remplacement de (?-mix:#?work_mem *=.*) par work_mem = $db_work_mem dans /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-30T10:14:51.668720 #1] INFO -- : Remplacement de (?-mix:#?default_text_search_config *=.*) par default_text_search_config = '$db_default_text_search_config' dans /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-30T10:14:51.669161 #1] INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2020-05-30T10:14:51.673715 #1] INFO -- :
I, [2020-05-30T10:14:51.674143 #1] INFO -- : Remplacement de (?-mix:#?max_wal_senders *=.*) par max_wal_senders = $db_max_wal_senders dans /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-30T10:14:51.674678 #1] INFO -- : Remplacement de (?-mix:#?wal_level *=.*) par wal_level = $db_wal_level dans /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-30T10:14:51.675160 #1] INFO -- : Remplacement de (?-mix:#?checkpoint_segments *=.*) par checkpoint_segments = $db_checkpoint_segments dans /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-30T10:14:51.675617 #1] INFO -- : Remplacement de (?-mix:#?logging_collector *=.*) par logging_collector = $db_logging_collector dans /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-30T10:14:51.676082 #1] INFO -- : Remplacement de (?-mix:#?log_min_duration_statement *=.*) par log_min_duration_statement = $db_log_min_duration_statement dans /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-30T10:14:51.676537 #1] INFO -- : Remplacement de (?-mix:^#local +replication +postgres +peer$) par local replication postgres peer dans /etc/postgresql/9.5/main/pg_hba.conf
I, [2020-05-30T10:14:51.676970 #1] INFO -- : Remplacement de (?-mix:^host.*all.*all.*127.*$) par host all all 0.0.0.0/0 md5 dans /etc/postgresql/9.5/main/pg_hba.conf
I, [2020-05-30T10:14:51.677419 #1] INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.5/bin/postmaster -D /etc/postgresql/9.5/main
I, [2020-05-30T10:14:51.680769 #1] INFO -- : > sleep 5
2020-05-30 10:14:51.788 UTC [1585] LOG: le système de base de données a été arrêté le 2020-05-30 10:12:23 UTC
2020-05-30 10:14:51.791 UTC [1585] LOG: les protections contre le dépassement des membres MultiXact sont maintenant activées
2020-05-30 10:14:51.796 UTC [1582] LOG: le système de base de données est prêt à accepter les connexions
2020-05-30 10:14:51.796 UTC [1589] LOG: le lanceur autovacuum a démarré
I, [2020-05-30T10:14:56.684099 #1] INFO -- :
I, [2020-05-30T10:14:56.684539 #1] INFO -- : > su postgres -c 'createdb discourse' || true
createdb : erreur : impossible de se connecter à la base de données template1 : impossible de se connecter au serveur : Aucun fichier ou répertoire de ce type
Le serveur est-il en cours d'exécution localement et accepte-t-il
les connexions sur le socket de domaine Unix "/var/run/postgresql/.s.PGSQL.5432" ?
I, [2020-05-30T10:14:56.764870 #1] INFO -- :
I, [2020-05-30T10:14:56.765721 #1] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
psql : erreur : impossible de se connecter au serveur : impossible de se connecter au serveur : Aucun fichier ou répertoire de ce type
Le serveur est-il en cours d'exécution localement et accepte-t-il
les connexions sur le socket de domaine Unix "/var/run/postgresql/.s.PGSQL.5432" ?
I, [2020-05-30T10:14:56.854570 #1] INFO -- :
I, [2020-05-30T10:14:56.854902 #1] INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql : erreur : impossible de se connecter au serveur : impossible de se connecter au serveur : Aucun fichier ou répertoire de ce type
Le serveur est-il en cours d'exécution localement et accepte-t-il
les connexions sur le socket de domaine Unix "/var/run/postgresql/.s.PGSQL.5432" ?
I, [2020-05-30T10:14:56.949901 #1] INFO -- :
I, [2020-05-30T10:14:56.950243 #1] INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql : erreur : impossible de se connecter au serveur : impossible de se connecter au serveur : Aucun fichier ou répertoire de ce type
Le serveur est-il en cours d'exécution localement et accepte-t-il
les connexions sur le socket de domaine Unix "/var/run/postgresql/.s.PGSQL.5432" ?
I, [2020-05-30T10:14:57.035955 #1] INFO -- :
I, [2020-05-30T10:14:57.036482 #1] INFO -- : Terminaison des processus asynchrones
I, [2020-05-30T10:14:57.036547 #1] INFO -- : Envoi de INT à HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.5/bin/postmaster -D /etc/postgresql/9.5/main pid: 1582
2020-05-30 10:14:57.036 UTC [1582] LOG: demande d'arrêt rapide reçue
2020-05-30 10:14:57.036 UTC [1582] LOG: annulation de toutes les transactions actives
2020-05-30 10:14:57.036 UTC [1589] LOG: le lanceur autovacuum s'arrête
2020-05-30 10:14:57.041 UTC [1586] LOG: arrêt en cours
2020-05-30 10:14:57.060 UTC [1586] LOG: le système de base de données est arrêté
ÉCHEC
--------------------
Pups::ExecError : su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' a échoué avec le retour #<Process::Status: pid 1614 exit 2>
Emplacement de l'échec : /pups/lib/pups/exec_command.rb:112:in `spawn'
échec de l'exécution avec les paramètres "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
cbc7ddb5e9371753be15c5763802fa765625651c985b3c5c4fe15109edec218d
** ÉCHEC DU BOOTSTRAP ** veuillez défiler vers le haut et rechercher les messages d'erreur précédents, il peut y en avoir plus d'un.
./discourse-doctor peut aider à diagnostiquer le problème.
discourse-doctor n’a pas pu faire quoi que ce soit :
DISCOURSE DOCTOR Sam 30 mai 12:43:36 CEST 2020
OS: Linux cusanus.net 4.15.0-91-generic #92-Ubuntu SMP ven 28 fév 11:09:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Impossible de trouver app.yml ou web_only.yml.
Abandon.
Notre configuration s’appelle my-app.yml. Nous avons besoin de noms personnalisés, car nous avons plusieurs configurations.
Version de Docker :
docker --version
Docker version 19.03.10, build 9424aeaee9
Une aide serait la bienvenue ?