Hallo zusammen, dies ist ein Hilferuf…
Ich habe versucht, die vollständige Ursache des Problems auf meinen lang laufenden Ubuntu 20.x EC2-Instanzen mit Discourse zu finden. Diese laufen alle auf AWS und funktionieren seit fast 3 Jahren einwandfrei. Plötzlich lassen sich keine davon mehr neu erstellen. Ich habe meine app.yml auf ein sehr rudimentäres Minimum reduziert… endlos gesucht… Meine aktuelle Installation in Postgres 13, Discourse 2.9.0 Beta 4 (ich bleibe immer auf dem neuesten Stand.) und ich verwende die sehr einfache Container/Docker-basierte Installation ohne Schnickschnack (keine separaten Container oder Standalone-Installationen anderer Software. Dies ist nur eine von vielen vielen Vermutungen, aber ich habe bemerkt, dass sie kürzlich in der Discourse-Codebasis auth/oauth2_authenticator in “ManagedAuthenticator und UserAssociatedAccount” umbenannt/entfernt haben.
wie hier zu sehen ist: DEV: Deprecate OAuth2Authenticator and OAuth2UserInfo (#15427) · discourse/discourse@78d0ec3 · GitHub
Kommentare im Repo zu diesem Commit:
DEV: OAuth2Authenticator und OAuth2UserInfo veraltet (#15427)
Diese wurden durch ManagedAuthenticator und UserAssociatedAccount ersetzt. Weitere Informationen finden Sie unter Adding a new 'managed' authentication method to Discourse
Hier sind meine Logs kurz vor dem Scheitern (und ja, ich habe discourse-doctor ausgeführt, das mir ziemlich dasselbe Ergebnis liefert… Ich verwende auch kein NGINX, was ich als häufiges Problem gesehen habe):
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 ist bereits in der neuesten kompatiblen Version
discourse-rss-polling ist bereits in der neuesten kompatiblen Version
discourse-assign ist bereits in der neuesten kompatiblen Version
discourse-azure-ad ist bereits in der neuesten kompatiblen Version
discourse-solved ist bereits in der neuesten kompatiblen Version
discourse-knowledge-explorer ist bereits in der neuesten kompatiblen Version
docker_manager ist bereits in der neuesten kompatiblen Version
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 -- : 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.808709 #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