Ceci est sur une machine de test. J’exécutais auparavant discourse dessus - j’ai raté l’installation et je n’ai pas pu mettre à jour vers la dernière version, ce que je pensais être mon erreur. Après avoir supprimé tout le répertoire discourse et nettoyé docker, j’ai essayé de faire une installation complètement nouvelle avant d’importer une sauvegarde de la base de données en direct.
Étrangement, je rencontre toujours les mêmes problèmes que je ne parviens pas à résoudre.
Voici la sortie de l’échec. J’ai déjà essayé discourse-doctor mais cela n’a rien donné d’utile.
...
I, [2022-06-04T18:42:29.087446 #1] INFO -- : Terminating async processes
I, [2022-06-04T18:42:29.087672 #1] INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
I, [2022-06-04T18:42:29.087881 #1] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
2022-06-04 18:42:29.088 UTC [42] LOG: received fast shutdown request
103:signal-handler (1654368149) Received SIGTERM scheduling shutdown...
2022-06-04 18:42:29.118 UTC [42] LOG: aborting any active transactions
2022-06-04 18:42:29.123 UTC [42] LOG: background worker "logical replication launcher" (PID 51) exited with exit code 1
2022-06-04 18:42:29.123 UTC [46] LOG: shutting down
103:M 04 Jun 2022 18:42:29.154 # User requested shutdown...
103:M 04 Jun 2022 18:42:29.154 * Saving the final RDB snapshot before exiting.
103:M 04 Jun 2022 18:42:29.159 * DB saved on disk
103:M 04 Jun 2022 18:42:29.159 # Redis is now ready to exit, bye bye...
2022-06-04 18:42:29.201 UTC [42] LOG: database system is shut down
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & bundle exec rake db:migrate failed with return #<Process::Status: pid 1102 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
69cb25658efb6f16e4479bb98a2d0278d72e56028865730841ac1efacc5b8d9d
==================== END REBUILD LOG ====================
Le serveur lui-même devrait être correct - beaucoup d’espace disque, suffisamment de ressources sinon. Des idées ?
103:M 04 Jun 2022 18:40:07.369 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
Hmm… 16G de RAM, c’est beaucoup, vous pourriez donc penser que vous n’avez pas besoin de swap. Mais je dirais que cela ne ferait pas de mal d’en ajouter. Sans voir votre journal, je ne peux pas dire que le problème soit un manque de mémoire. Mais si c’est le cas, régler le mode overcommit pourrait aider, que vous ayez du swap ou non.
Merci pour le journal - il semble s’agir d’un problème de configuration S3 (ce avec quoi je ne peux pas vous aider, mais je suis sûr que quelqu’un le pourra).
I, [2022-06-05T09:06:10.144445 #1] INFO – : > cd /var/www/discourse && su discourse -c ‘bundle exec rake db:migrate’
rake aborted!
Discourse::SiteSettingMissing: s3_upload_bucket
/var/www/discourse/lib/file_store/s3_store.rb:267:in `s3_bucket’
Bonne trouvaille, Ed. Merci. Il semble que s3_bucket ait été remplacé à un moment donné par s3_upload_bucket et j’ai ces éléments dans containers/app.yml, ce qui semble avoir causé le problème. Au moins, la construction s’est bien déroulée maintenant après que j’ai changé DISCOURSE_S3_BUCKET en DISCOURSE_S3_UPLOAD_BUCKET.
J’aimerais que de tels changements introduisent également une vérification dans le processus de construction pour éviter de rencontrer ce problème - et bonne chance, nous testons toujours nos mises à jour sur une machine de test.