Bonjour à tous, ceci est un appel à l’aide…
J’ai essayé de creuser et de trouver la source complète du problème sur mes instances Ubuntu 20.x avec Discourse qui fonctionnent depuis longtemps. Elles sont toutes sur AWS et fonctionnent parfaitement depuis près de 3 ans maintenant. Soudainement, aucune d’entre elles ne peut être reconstruite. J’ai réduit mon fichier app.yml à sa plus simple expression… J’ai cherché sans fin… Mon installation actuelle utilise Postgres 13, Discourse 2.9.0 Beta 4 (je reste toujours à jour) et j’utilise l’installation de base via conteneur/docker sans rien de fantaisiste (pas de conteneurs séparés ni d’installations autonomes d’autres logiciels. Ceci n’est qu’une de mes nombreuses suppositions, mais j’ai remarqué que récemment, dans la base de code de Discourse, ils ont supprimé/renommé auth/oauth2_authenticator en “ManagedAuthenticator et UserAssociatedAccount”.
comme on peut le voir ici : DEV: Deprecate OAuth2Authenticator and OAuth2UserInfo (#15427) · discourse/discourse@78d0ec3 · GitHub
Commentaires dans le dépôt concernant ce commit :
DEV : Déprécation de OAuth2Authenticator et OAuth2UserInfo (#15427)
Ceux-ci ont été remplacés par ManagedAuthenticator et UserAssociatedAccount. Pour plus d’informations, voir Adding a new 'managed' authentication method to Discourse
Voici mes logs vers la fin avant l’échec (et oui, j’ai exécuté discourse-doctor qui me donne à peu près la même chose… Je n’utilise pas non plus NGINX, ce que j’ai vu être un problème courant) :
I, [2022-05-17T21:26:52.663629 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2022-05-17T21:26:54.697333 #1] INFO -- : discourse-chat-integration est déjà à la dernière version compatible
discourse-rss-polling est déjà à la dernière version compatible
discourse-assign est déjà à la dernière version compatible
discourse-azure-ad est déjà à la dernière version compatible
discourse-solved est déjà à la dernière version compatible
discourse-knowledge-explorer est déjà à la dernière version compatible
docker_manager est déjà à la dernière version compatible
I, [2022-05-17T21:26:54.697677 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
LoadError: cannot load such file -- auth/oauth2_authenticator
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:15:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:15:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/dependencies/require_dependency.rb:21:in `require_dependency'
/var/www/discourse/lib/require_dependency_backward_compatibility.rb:18:in `require_dependency'
/var/www/discourse/plugins/discourse-azure-ad/plugin.rb:7:in `activate!'
/var/www/discourse/lib/plugin/instance.rb:679:in `instance_eval'
/var/www/discourse/lib/plugin/instance.rb:679:in `activate!'
/var/www/discourse/lib/discourse.rb:279:in `block in activate_plugins!'
/var/www/discourse/lib/discourse.rb:276:in `each'
/var/www/discourse/lib/discourse.rb:276:in `activate_plugins!'
/var/www/discourse/config/application.rb:222:in `block in <class:Application>'
/var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
/var/www/discourse/config/application.rb:221:in `<class:Application>'
/var/www/discourse/config/application.rb:81:in `<module:Discourse>'
/var/www/discourse/config/application.rb:80:in `<top (required)>'
/var/www/discourse/Rakefile:7:in `require'
/var/www/discourse/Rakefile:7:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(See full trace by running task with --trace)
I, [2022-05-17T21:26:55.807801 #1] INFO -- :
I, [2022-05-17T21:26:55.808466 #1] INFO -- : Terminating async processes
I, [2022-05-17T21:26:55.808709 #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: 44
I, [2022-05-17T21:26:55.808935 #1] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 105
2022-05-17 21:26:55.808 UTC [44] LOG: received fast shutdown request
105:signal-handler (1652822815) Received SIGTERM scheduling shutdown...
2022-05-17 21:26:55.810 UTC [44] LOG: aborting any active transactions
2022-05-17 21:26:55.815 UTC [44] LOG: background worker "logical replication launcher" (PID 53) exited with exit code 1
2022-05-17 21:26:55.816 UTC [48] LOG: shutting down
2022-05-17 21:26:55.851 UTC [44] LOG: database system is shut down
105:M 17 May 2022 21:26:55.894 # User requested shutdown...
105:M 17 May 2022 21:26:55.894 * Saving the final RDB snapshot before exiting.
105:M 17 May 2022 21:26:55.940 * DB saved on disk
105:M 17 May 2022 21:26:55.941 # Redis is now ready to exit, bye bye...
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 654 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.
c961e72970eba95a26f294e0f123987c40da1c350a4b1fe9621edf0bd665720c