Aggiornamento a Failure Discourse 2.8

Ciao,

Ho provato ad aggiornare all'ultima versione rilasciata e sto riscontrando problemi. Ho aggiornato docker-manager e mi è stato indicato di usare la CLI per aggiornare. Va bene, succede ogni tanto.

Dopo aver eseguito git pull e ./launcher rebuild app, fallisce e non sono sicuro di dove si verifichi il problema. Ecco la mia lista di plugin e i log.

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-staff-notes.git
          - git clone https://github.com/discourse/discourse-chat-integration.git
          - git clone https://github.com/gdpelican/retort.git
#          - git clone https://github.com/Ebsy/discourse-nationalflags.git
          - git clone https://github.com/angusmcleod/discourse-locations.git
          - git clone https://github.com/discourse/discourse-steam-login.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/discourse/discourse-oauth2-basic
          - git clone https://github.com/discourse/discourse-perspective-api.git
          - git clone https://github.com/procourse/procourse-installer.git

Log:

I, [2022-02-26T02:55:14.922993 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
cd /var/www/discourse/plugins & git clone https://github.com/pmusaraj/discourse-jitsi.git
Cloning into 'discourse-jitsi'...
cd /var/www/discourse/plugins & git clone https://github.com/paviliondev/discourse-question-answer.git
Cloning into 'discourse-question-answer'...
cd /var/www/discourse/plugins & git clone https://github.com/critcola/discourse-twitch-onebox.git
Cloning into 'discourse-twitch-onebox'...
cd /var/www/discourse/plugins & git clone https://github.com/discourse/discourse-akismet.git
Cloning into 'discourse-akismet'...
cd /var/www/discourse/plugins & git clone https://github.com/pmusaraj/discourse-jitsi.git
fatal: destination path 'discourse-jitsi' already exists and is not an empty directory.
Cannot clone directory
cd /var/www/discourse/plugins & git clone https://github.com/paviliondev/discourse-question-answer.git
fatal: destination path 'discourse-question-answer' already exists and is not an empty directory.
Cannot clone directory
cd /var/www/discourse/plugins & git clone https://github.com/critcola/discourse-twitch-onebox.git
fatal: destination path 'discourse-twitch-onebox' already exists and is not an empty directory.
Cannot clone directory
cd /var/www/discourse/plugins & git clone https://github.com/discourse/discourse-akismet.git
fatal: destination path 'discourse-akismet' already exists and is not an empty directory.
Cannot clone directory
I, [2022-02-26T02:55:40.287227 #1]  INFO -- : gem install geocoder -v 1.4.4 -i /var/www/discourse/plugins/discourse-locations/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
Successfully installed geocoder-1.4.4
1 gem installed
gem install ruby-openid -v 2.9.2 -i /var/www/discourse/plugins/discourse-steam-login/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
Successfully installed ruby-openid-2.9.2
1 gem installed
gem install rack-openid -v 1.3.1 -i /var/www/discourse/plugins/discourse-steam-login/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
Successfully installed rack-openid-1.3.1
1 gem installed
gem install omniauth-openid -v 1.0.1 -i /var/www/discourse/plugins/discourse-steam-login/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
Successfully installed omniauth-openid-1.0.1
1 gem installed
gem install omniauth-steam -v 1.0.6 -i /var/www/discourse/plugins/discourse-steam-login/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
Successfully installed omniauth-steam-1.0.6
1 gem installed

I, [2022-02-26T02:55:40.287755 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile'
** PLUGIN FAILURE **
You are unable to build Discourse due to this error during plugin
initialization:
uninitialized constant Onebox
/var/www/discourse/plugins/discourse-twitch-onebox/plugin.rb:8:in `activate!'
/var/www/discourse/lib/plugin/instance.rb:671:in `instance_eval'
/var/www/discourse/lib/plugin/instance.rb:671:in `activate!'
lib/discourse.rb:279:in `block in activate_plugins!'
lib/discourse.rb:276:in `each'
lib/discourse.rb:276:in `activate_plugins!'
/var/www/discourse/config/application.rb:324:in `block in <class:Application>'
/var/www/discourse/lib/plugin_initialization_guard.rb:5:in `plugin_initialization_guard'
/var/www/discourse/config/application.rb:323:in `<class:Application>'
/var/www/discourse/config/application.rb:73:in `<module:Discourse>'
/var/www/discourse/config/application.rb:72: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/lib/rake/rake_module.rb:29:in `load'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/rake_module.rb:29:in `load_rakefile'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:710:in `raw_load_rakefile'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:104:in `block in load_rakefile'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:103:in `load_rakefile'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:82:in `block in run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:80:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/rake:25:in `load'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/rake:25:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/lib/bundler/cli/exec.rb:58:in `load'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/lib/bundler/cli/exec.rb:58:in `kernel_load'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/lib/bundler/cli.rb:484:in `exec'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/lib/bundler/cli.rb:31:in `dispatch'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/lib/bundler/cli.rb:25:in `start'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/exe/bundle:48:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.4/exe/bundle:36:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
I, [2022-02-26T02:55:43.858479 #1]  INFO -- :
I, [2022-02-26T02:55:43.859326 #1]  INFO -- : Terminating async processes
I, [2022-02-26T02:55:43.859684 #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: 41
I, [2022-02-26T02:55:43.860155 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 102
2022-02-26 02:55:43.860 UTC [41] LOG:  received fast shutdown request
102:signal-handler (1645844143) Received SIGTERM scheduling shutdown...
2022-02-26 02:55:43.862 UTC [41] LOG:  aborting any active transactions
2022-02-26 02:55:43.865 UTC [41] LOG:  background worker "logical replication launcher" (PID 50) exited with exit code 1
2022-02-26 02:55:43.867 UTC [45] LOG:  shutting down
2022-02-26 02:55:43.889 UTC [41] LOG:  database system is shut down
102:M 26 Feb 2022 02:55:43.896 # User requested shutdown...
102:M 26 Feb 2022 02:55:43.896 * Saving the final RDB snapshot before exiting.
102:M 26 Feb 2022 02:55:43.979 * DB saved on disk
102:M 26 Feb 2022 02:55:43.979 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 608 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"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
4d132e6fe184252d1944e826993f8ae2528b2d4d6bfb05a5f69a9ff282646cc9
** 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.

Hai questi plugin (e altri) elencati da qualche parte due volte.

Voglio dire, non è cambiato nulla dall’ultima volta che ho installato discourse aggiornato. Vedo che clona i plugin due volte, ma non sono sicuro del perché. Nessuno dei file yml (e ce n’è solo uno, app.yml) ha riferimenti duplicati ad esso.

Forse rimuovere questo plugin?

Ho la strana sensazione che questa non sia un’installazione ufficiale e che tu stia guardando il file yml sbagliato.

I plugin che menzioni non sono i plugin nella ricostruzione.

@pfaffman Penso che fosse quello. Stavo installando il plugin tramite GitHub - procourse/procourse-installer: A Discourse plugin for installing other Discourse plugins. che probabilmente dovrei smettere di usare dato che sembra essere elencato tra i plugin non funzionanti. Anche se è così bello installare un plugin senza dover accedere via SSH al server, aggiungere una riga e dover ricostruire e riavviare l’intera applicazione.

Penso che dovresti rimuovere sia il procourse installer che retort (usa discourse-reactions invece) perché entrambi i plugin non sono mantenuti al meglio. C’è un’alta probabilità che possano causare problemi durante la ricostruzione.