مرحباً بالجميع، هذه دعوة للمساعدة…
لقد حاولت البحث عن المصدر الكامل للمشكلة في خوادم Ubuntu 20.x الخاصة بي التي تعمل منذ فترة طويلة مع Discourse. كلها تعمل على AWS وكانت تعمل بشكل مثالي لما يقرب من 3 سنوات. فجأة، لم يعد بإمكاني إعادة بناء أي منها. لقد قمت بتقليص ملف app.yml الخاص بي إلى أبسط صورة… بحثت بلا نهاية… تثبيتي الحالي في Postgres 13، Discourse 2.9.0 Beta 4 (أنا دائمًا ما أواكب التحديثات.) وأستخدم تثبيت الحاوية/docker القياسي دون أي شيء خاص (لا توجد حاويات منفصلة ولا تثبيتات مستقلة لأي برامج أخرى. هذا مجرد تخمين من بين العديد من التخمينات، لكنني لاحظت أنهم مؤخرًا في قاعدة كود Discourse قاموا بإزالة/إعادة تسمية auth/oauth2_authenticator إلى “ManagedAuthenticator and UserAssociatedAccount”
كما هو موضح في: DEV: Deprecate OAuth2Authenticator and OAuth2UserInfo (#15427) · discourse/discourse@78d0ec3 · GitHub
تعليقات في المستودع حول هذا الالتزام:
DEV: Deprecate OAuth2Authenticator and OAuth2UserInfo (#15427)
تم استبدال هذه بـ ManagedAuthenticator و UserAssociatedAccount. لمزيد من المعلومات، راجع Adding a new 'managed' authentication method to Discourse
هذه هي سجلاتي بالقرب من النهاية قبل الفشل (ونعم، لقد قمت بتشغيل discourse-doctor الذي يعطيني نفس الشيء تقريبًا… أنا لا أستخدم NGINX أيضًا، وهو ما رأيته كمشكلة شائعة):
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 is already at latest compatible version
discourse-rss-polling is already at latest compatible version
discourse-assign is already at latest compatible version
discourse-azure-ad is already at latest compatible version
discourse-solved is already at latest compatible version
discourse-knowledge-explorer is already at latest compatible version
docker_manager is already at latest compatible 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 -- : 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