Impossibile aggiornare - il rebuild dell'app fallisce nel bootstrap

Ho ricevuto una notifica che dovevo aggiornare la nostra installazione, quindi sono andato nell’area admin e ho visto questo:

Facendo clic sul link di aggiornamento è stato eseguito un controllo, ma entrambi sono tornati con “aggiornato”. Quindi ho provato ./launcher rebuild app e ho ottenuto questo:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
' failed with return #<Process::Status: pid 130 exit 128>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"code", "cmd"=>["sudo -H -E -u discourse git reset --hard", "sudo -H -E -u discourse git clean -f", "sudo -H -E -u discourse bash -c '\n  set -o errexit\n  if [ $(git rev-parse --is-shallow-repository) == \"true\" ]; then\n      git remote set-branches --add origin main\n      git remote set-branches origin $version\n      git fetch --depth 1 origin $version\n  else\n      git fetch --tags --prune-tags --prune --force origin\n  fi\n'", "sudo -H -E -u discourse bash -c '\n  set -o errexit\n  if [[ $(git symbolic-ref --short HEAD) == $version ]] ; then\n      git pull\n  else\n      git -c advice.detachedHead=false checkout $version\n  fi\n'", "sudo -H -E -u discourse git config user.discourse-version $version", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p                    /shared/log/rails", "bash -c \"touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\"", "bash -c \"ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\"", "bash -c \"mkdir -p           /shared/{uploads,backups}\"", "bash -c \"ln    -s           /shared/{uploads,backups} $home/public\"", "bash -c \"mkdir -p           /shared/tmp/{backups,restores}\"", "bash -c \"ln    -s           /shared/tmp/{backups,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp\"", "[ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete"]}
bootstrap failed with exit code 128
** 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.
fd6a747d640a06c375439c5c134aa46ff11ceb8f677d6d16247cb57c9772f731

Ho quindi eseguito ./discourse-doctor che ha ripristinato il sito (anche se stranamente il test email è andato in timeout, forse è un problema separato). Quindi ho provato un altro ./launcher rebuild app e non è riuscito a fare il bootstrap di nuovo con lo stesso problema.

Qualcuno ha qualche idea al riguardo? Sto usando Docker su Ubuntu 22.04.

Puoi farlo e aggiungere quelle informazioni qui?

1 Mi Piace

Ecco il log completo da app rebuild:

discourse-log.log.txt (17.7 KB)

Vedo che quando provo un app stop e un app start, ritorna di nuovo OK, ma immagino che sia sulla vecchia versione?

Corretto. Non abbiamo bisogno dell’intero log, solo degli errori evidenti (non avvisi).

(non sono sicuro del perché il mio caricamento non funzioni su quel link, ma) l’unico errore evidente che vedo guardando quel log è:

fatal: unable to access 'https://github.com/discourse/discourse.git/': Could not resolve host: github.com

Non sembra un buon segno?

~$ host github.com sul server funziona bene per risolverlo.

Se l’errore fosse evidente, non starebbe postando. :slight_smile: (Ma seriamente, è piuttosto difficile per qualcuno non familiare con quei log capire cosa è importante e cosa no, e si possono trovare centinaia di argomenti in cui qualcuno ha indovinato male quale fosse l’errore.

Sembra un problema con la rete Docker che è in qualche modo interrotta. Docker è aggiornato? Il tuo sistema operativo lo è?

2 Mi Piace

ma @gilgongo ha colpito nel segno :wink:

1 Mi Piace

Ah, networking? OK, quindi nel tentativo di fare una cosa “base”, ho eseguito systemctl restart docker.service poi ho eseguito ./launcher rebuild app e (dopo quello che è sembrato un tempo infinito) è tornato su e ha funzionato! Ora dice che sto eseguendo “3.3.0.beta3-dev” che sembra una buona cosa, credo? Almeno sembra funzionare.

Uff - grazie per il tuo aiuto! Adoro Discourse!

2 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.