Problema di ricostruzione: [Impossibile impostare dual-stack in combinazione con un endpoint personalizzato.]

Ciao :wave:

Impossibile ricompilare con il seguente problema.

I, [2024-11-07T08:00:56.758061 #1]  INFO -- : cd /var/www/discourse & sudo -E -u discourse bundle exec rake s3:upload_assets
rake aborted!
ArgumentError: Cannot set dual-stack in combination with a custom endpoint. (ArgumentError)

          raise ArgumentError, "Cannot set dual-stack in combination with a custom endpoint."
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FAILED

--------------------

Pups::ExecError: cd /var/www/discourse & sudo -E -u discourse bundle exec rake s3:upload_assets failed with return #<Process::Status: pid 3349 exit 1>

Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'

exec failed with the params {"cd"=>"$home", "cmd"=>["sudo -E -u discourse bundle exec rake s3:upload_assets", "sudo -E -u discourse bundle exec rake s3:expire_missing_assets"]}

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.

567dc9e1f9a4e662de6024b8504915d8b6ef1ee2d9b4303af75323ba478679e4

Probabilmente correlato al commit: FIX: Use dualstack S3 endpoint for direct uploads (#29611) · discourse/discourse@0568d36 · GitHub

Utilizzo S3 object storage per caricare su DO Spaces. Il problema è probabilmente correlato a questo.

Grazie :slight_smile:

1 Mi Piace

Ho commentato queste righe che fanno sì che la ricompilazione venga eseguita con successo, ma il sito si blocca sulla schermata iniziale, penso perché non riesce a caricare gli asset. :thinking: Anche la modalità sicura è la stessa…

  after_assets_precompile:
    - exec:
        cd: $home
        cmd:
          - sudo -E -u discourse bundle exec rake s3:upload_assets
          - sudo -E -u discourse bundle exec rake s3:expire_missing_assets

Qualche idea? So che è un brutto momento… :confused:

1 Mi Piace

Ciao Don, ci daremo un’occhiata. Grazie per la segnalazione.

1 Mi Piace

Grazie Natalie :hugs:

Per una correzione rapida ho ricostruito con la versione cc01555fce59e116b76c912b4c5195e111a652b2, che è un commit dietro questo FIX: Use dualstack S3 endpoint for direct uploads (#29611) · discourse/discourse@0568d36 · GitHub

2 Mi Piace

La mia ricostruzione con una configurazione Digital Ocean Spaces S3 ha iniziato a fallire con questo errore:

, [2024-11-07T19:09:38.615466 #1]  INFO -- : cd /var/www/discourse & sudo -E -u discourse bundle exec rake s3:upload_assets
rake aborted!
ArgumentError: Cannot set dual-stack in combination with a custom endpoint. (ArgumentError)
          raise ArgumentError, "Cannot set dual-stack in combination with a custom endpoint."
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.143.0/lib/aws-sdk-s3/endpoint_provider.rb:34:in `resolve_endpoint'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.143.0/lib/aws-sdk-s3/plugins/endpoints.rb:37:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.191.3/lib/seahorse/client/plugins/endpoint.rb:47:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.191.3/lib/aws-sdk-core/plugins/param_validator.rb:26:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.143.0/lib/aws-sdk-s3/plugins/sse_cpk.rb:24:in `call'

Ma omettendo l’impostazione su whatever fa fallire la build in questo modo:

I, [2024-11-07T19:15:31.060936 #1]  INFO -- : cd /var/www/discourse & sudo -E -u discourse bundle exec rake s3:upload_assets
ERROR: Ensure S3 is configured in config/discourse.conf or environment vars
I, [2024-11-07T19:15:36.056204 #1]  INFO -- :


Ho trovato questo:

e questo:

Forse S3_REGION dovrebbe essere cancellato se viene impostato un endpoint qui?

EDIT: Ops. Pensavo di aver cercato. Scusa Falco.

1 Mi Piace

Stranamente, questo mi dà questo errore:

Gem::LoadError: can't activate webrick-1.9.0, already activated webrick-1.8.2 (Gem::LoadError)

che avevo appena visto su un’istanza che stavo usando per eseguire un’importazione, che ho “risolto” aggiornando.

Suppongo che non possa aggiornare questo server in questo momento. :frowning:

Non sono sicuro, ma forse vale la pena provare. Ho già eseguito una ricostruzione con successo prima di questo.

E subito dopo ho provato a ricostruire selezionando il commit. La seconda volta l’esecuzione della ricostruzione è andata a buon fine.

1 Mi Piace

@martin di solito quello che facciamo qui è fornire un GlobalSetting per disabilitare il comportamento che le persone che eseguono cloni S3 incompatibili possono quindi scegliere di abilitarlo per farlo funzionare.

Secondo me, il comportamento attuale dovrebbe rimanere come impostazione predefinita, ma fornire interruttori per aumentare la compatibilità.

Vedi arte precedente in DISCOURSE_S3_HTTP_CONTINUE_TIMEOUT, DISCOURSE_S3_INSTALL_CORS_RULE, ecc.

3 Mi Piace

Ah scusate, colpa mia. Questi cloni S3 mi sfuggono sempre. Ieri ho dovuto correggere questo problema dell’endpoint personalizzato con Minio. Penso che la soluzione qui possa essere semplicemente non usare mai dualstack se è stato impostato DISCOURSE_S3_ENDPOINT poiché sono incompatibili, e tutti qui lo stanno apparentemente usando.

3 Mi Piace

Ho unito una correzione per questo ora:

4 Mi Piace

Grazie per la rapida correzione! Sono di nuovo operativo. :tada:

Grazie per la chiara spiegazione, Rafael!

Questo perché c’è un sacco di roba da tenere a mente! E i test di specifica, penso, richiederebbero quei fastidiosi stub_request che so che odio scrivere.

Per la cronaca, mi sembra giusto. E probabilmente potresti scrivere test per quello che non richiedono stub per stub_request.

1 Mi Piace

10 messaggi sono stati spostati in un nuovo argomento: Impossibile eseguire il backup o navigare nei backup

Non credo che questo debba essere contrassegnato come fixed.

Questa modifica ha molto probabilmente causato un’interruzione dei backup su diverse istanze (con altri che presumibilmente non sanno ancora che le loro istanze non vengono sottoposte a backup).

Ciò suggerisce che le specifiche non sono abbastanza ampie da catturare tutti i casi d’uso reali e che le modifiche stanno passando quando non dovrebbero?

4 Mi Piace

Mi sembra che sia stato corretto solo per i siti che hanno use_s3 attivato, ma non per quelli che usano S3 solo per i backup.

Anche se è di nuovo possibile ricostruire, è solo che i backup S3 sono rotti. :crying_cat_face:

3 Mi Piace

Il problema del backup è risolto qui Unable to backup or navigate to backups - #20 by martin

3 Mi Piace

Questo argomento è stato chiuso automaticamente 3 giorni dopo l’ultima risposta. Non sono più consentite nuove risposte.