Sto cercando di aggiornare dalla versione 2.3.5 alla 2.4.2 (su container Docker Bitnami, su Google Cloud).
Il ripristino dell’archivio di backup di 2.3.5 su una nuova installazione 2.4.2 è fallito completamente.
Ho decompresso l’archivio, estratto il file pg_dump e caricato tutto in un nuovo database. Per la maggior parte sembrava tutto a posto, tranne per due errori:
> ERROR: schema "discourse_functions" does not exist
> ERROR: schema "discourse_functions" does not exist
Mi dispiace, ma il pacchetto Bitnami non è supportato qui. Si tratta di un pacchetto di terze parti e, se desideri continuare a utilizzarlo, dovrai contattare direttamente gli sviluppatori per ottenere assistenza.
Dovrebbe funzionare, ma non basarti solo sulla mia parola e non lasciarti senza una strategia di riserva. Ricorda che stai utilizzando un’installazione non supportata, quindi posso darti suggerimenti su come passare a un percorso più supportabile, ma le installazioni Bitnami sono problematiche — è meglio prepararsi al peggio.
Se costruisci su un server separato, puoi testare questa soluzione prima di apportare modifiche irreversibili alla tua installazione esistente.
Abbiamo la versione 2.3.5 in esecuzione su Amazon.
Abbiamo provato a costruire il pacchetto di installazione standard su Docker con una VM Ubuntu 18.0.4 LTS sia su Google Cloud che su VirtualBox qui. Stesso problema.
Non siamo riusciti a costruire la versione Docker di Discourse 2.3.5 (con PostgreSQL/Redis integrati), né la 2.3.10. Entrambe falliscono con un problema di permessi di PostgreSQL, sia su Google Cloud che su una VM VirtualBox con Ubuntu 18.0.4.
Tuttavia, la versione stabile (2.4.2) si costruisce, ma né l’immagine Docker 2.4.2 su Google Cloud né quella su VirtualBox riescono ad avviarsi. Entrambe falliscono durante la costruzione di “funzioni discourse”.
Proveremo a seguire la procedura di costruzione indicata nel link che ci avete inviato e vi faremo rapporto. Dovrei aprire un argomento diverso per ogni tentativo di ambiente?
Sì, ma è un ambiente più complesso rispetto a DigitalOcean. L’installazione su DO richiede al massimo 30 minuti e non dovrai preoccuparti di ACL e policy di rete.
Abbiamo tentato di compilare Discourse 2.3.5 su una VM Ubuntu 18.0.4. Abbiamo aggiunto la versione “v2.3.5” a app.yml, ma si è verificato un errore qui:
> FAILED--------------------Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development' failed with return #<Process::Status: pid 353 exit 1>Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development'"]}a3cebbd8e5a24b8a2b248886f0fa195f401720a6dc7084ad78af6cee345de9a9** 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.
** BOOTSTRAP FALLITO ** Si prega di scorrere verso l’alto e cercare i messaggi di errore precedenti; potrebbero essercene più di uno. ../discourse-doctor potrebbe aiutare a diagnosticare il problema.
Sembra che l’installazione dell’istanza Google All-in-One 18.0.4 LTS del container Discourse v2.3.5 si sia arrestata qui:
> [2020-05-01T18:54:20.903566 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development'/usr/local/lib/ruby/site_ruby/2.6.0/rubygems.rb:275:in `find_spec_for_exe': Impossibile trovare 'bundler' (1.17.3) richiesto dal tuo /var/www/discourse/Gemfile.lock. (Gem::GemNotFoundException)Per aggiornare all'ultima versione installata sul sistema, esegui `bundle update --bundler`.Per installare la versione mancante, esegui `gem install bundler:1.17.3` da /usr/local/lib/ruby/site_ruby/2.6.0/rubygems.rb:294:in `activate_bin_path' da /usr/local/bin/bundle:23:in `<main>'I, [2020-05-01T18:54:21.234673 #1] INFO -- : I, [2020-05-01T18:54:21.235321 #1] INFO -- : Terminazione dei processi asincroniI, [2020-05-01T18:54:21.235582 #1] INFO -- : Invio di INT a HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main pid: 64I, [2020-05-01T18:54:21.235838 #1] INFO -- : Invio di TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 1812020-05-01 18:54:21.236 UTC [64] LOG: richiesta di arresto rapido ricevuta181:signal-handler (1588359261) Segnale SIGTERM ricevuto, pianificazione dell'arresto...2020-05-01 18:54:21.241 UTC [64] LOG: annullamento di eventuali transazioni attive2020-05-01 18:54:21.248 UTC [64] LOG: processo worker: avvio della replicazione logica (PID 73) terminato con codice di uscita 12020-05-01 18:54:21.248 UTC [68] LOG: arresto in corso181:M 01 May 2020 18:54:21.268 # Arresto richiesto dall'utente...181:M 01 May 2020 18:54:21.269 * Salvataggio dell'ultimo snapshot RDB prima dell'uscita.181:M 01 May 2020 18:54:21.271 * DB salvato su disco181:M 01 May 2020 18:54:21.271 # Redis è ora pronto per l'uscita, arrivederci...2020-05-01 18:54:21.288 UTC [64] LOG: il sistema del database è stato spento
Ok, quindi siamo riusciti a creare un ambiente 2.4.2. Tuttavia, il backup è stato eseguito su una distribuzione Amazon con S3 configurato. Il ripristino su un ambiente non Amazon fallisce in alcuni script S3.
> Reconnessione al database...
> Ricaricamento delle impostazioni del sito...
> Disattivazione delle email in uscita per gli utenti non staff...
> Disattivazione della modalità sola lettura...
> Svuotamento della cache delle categorie...
> Svuotamento della cache delle emoji...
> Svuotamento della cache del tema
> Rimappatura dei file caricati...
> Ripristino dei file caricati, potrebbe richiedere del tempo...
> Migrazione dei file caricati su S3 per 'default'...
> Caricamento dei file su S3...
> - Elencazione dei file locali
> => 3 file
> - Elencazione dei file su S3
> . => 3 file
> - Sincronizzazione dei file su S3
> ...
> Aggiornamento degli URL nel database...
> Rimozione delle immagini ottimizzate vecchie...
> Segnalazione di tutti i post contenenti lightbox per la rigenerazione
> 182 post sono stati segnalati per una rigenerazione
> ECCEZIONE: 215 su 295 file caricati non sono stati migrati su S3. La migrazione su S3 è fallita per il database 'default'.
> /var/www/discourse/lib/file_store/to_s3_migration.rb:131:in `raise_or_log'
> /var/www/discourse/lib/file_store/to_s3_migration.rb:78:in `migration_successful?'
> /var/www/discourse/lib/file_store/to_s3_migration.rb:351:in `migrate_to_s3'
> /var/www/discourse/lib/file_store/to_s3_migration.rb:65:in `migrate'
> /var/www/discourse/lib/file_store/s3_store.rb:203:in `copy_from'
> /var/www/discourse/lib/backup_restore/uploads_restorer.rb:48:in `restore_uploads'
> /var/www/discourse/lib/backup_restore/uploads_restorer.rb:30:in `restore'
> /var/www/discourse/lib/backup_restore/restorer.rb:59:in `run'
> script/discourse:143:in `restore'
> /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
> /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
> /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
> /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/base.rb:485:in `start'
> script/discourse:284:in `<top (required)>'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `load'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `kernel_load'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:28:in `run'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:476:in `exec'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invok
> e_command'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:30:in `dispatch'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:24:in `start'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/exe/bundle:46:in `block in <top (required)>'
> /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/exe/bundle:34:in `<top (required)>'
> /usr/local/bin/bundle:23:in `load'
> /usr/local/bin/bundle:23:in `<main>'
> Tentativo di rollback...
> Rollback in corso...
> Pulizia dei file...
> Eliminazione delle funzioni dallo schema discourse_functions...
> Rimozione della directory tmp '/var/www/discourse/tmp/restores/default/2020-05-01-230400'...
> Ripresa di sidekiq...
> Segnalazione del completamento del ripristino...
> Notifica al 'system' della fine del ripristino...
> Finito!
> [FAILED]
> Ripristino completato.