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
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. Anche la modalità sicura è la stessa…
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?
@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.
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.
Grazie per la rapida correzione! Sono di nuovo operativo.
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
nat
(Natalie T)
Ha separato questo argomento il
16
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?