Wiederherstellungsproblem: [Kann Dual-Stack nicht in Kombination mit einem benutzerdefinierten Endpunkt festlegen.]

Hallo :wave:

Kann mit folgendem Problem nicht neu erstellen.

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

Wahrscheinlich damit verbundener Commit: FIX: Use dualstack S3 endpoint for direct uploads (#29611) · discourse/discourse@0568d36 · GitHub

Ich verwende S3-Objektspeicher zum Hochladen auf DO Spaces. Das Problem liegt wahrscheinlich hier.

Danke :slight_smile:

1 „Gefällt mir“

Ich habe diese Zeilen auskommentiert, was dazu führt, dass der Rebuild erfolgreich durchläuft, die Seite aber beim Splash hängen bleibt, wahrscheinlich weil die Assets nicht geladen werden können. :thinking: Sicherer Modus dasselbe…

  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

Irgendwelche Ideen? Ich weiß, es ist ein schlechter Zeitpunkt… :confused:

1 „Gefällt mir“

Hallo Don, wir werden uns das ansehen. Danke für die Meldung.

1 „Gefällt mir“

Danke Natalie :hugs:

Als schnelle Lösung habe ich mit der Version cc01555fce59e116b76c912b4c5195e111a652b2 neu erstellt, die einen Commit hinter diesem liegt: FIX: Use dualstack S3 endpoint for direct uploads (#29611) · discourse/discourse@0568d36 · GitHub

2 „Gefällt mir“

Mein Rebuild mit einem Digital Ocean Spaces S3-Setup schlug mit diesem Fehler fehl:

, [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'

Aber wenn ich es weglasse und auf whatever setze, schlägt der Build wie folgt fehl:


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 -- :


Ich habe das hier gefunden:

und das:

Vielleicht sollte S3_REGION gelöscht werden, wenn hier ein Endpunkt gesetzt ist?

EDIT: Ups. Ich dachte, ich hätte gesucht. Entschuldige, Falco.

1 „Gefällt mir“

Seltsamerweise erhalte ich dadurch diese Fehlermeldung:

Gem::LoadError: kann webrick-1.9.0 nicht aktivieren, webrick-1.8.2 wurde bereits aktiviert (Gem::LoadError)

die ich gerade auf einer Instanz gesehen habe, die ich zum Ausführen eines Imports verwendet habe, die ich durch ein Upgrade „repariert“ habe.

Ich schätze, ich kann diesen Server im Moment einfach nicht upgraden. :pensive_face:

Ich bin mir nicht sicher, aber es ist vielleicht einen Versuch wert. Ich habe zuvor erfolgreich einen Rebuild durchgeführt, bevor ich dies tat.

Und direkt danach versuche ich, mit der Auswahl des Commits einen Rebuild durchzuführen. Beim zweiten Mal lief der Rebuild erfolgreich.

1 „Gefällt mir“

@martin Normalerweise bieten wir hier eine globale Einstellung an, um das Verhalten zu deaktivieren, das es Personen, die inkompatible S3-Klone ausführen, ermöglicht, sich dafür zu entscheiden, damit es funktioniert.

Meiner Meinung nach sollte das aktuelle Verhalten der Standard bleiben, aber Schalter zur Erhöhung der Kompatibilität bereitgestellt werden.

Siehe frühere Beispiele in DISCOURSE_S3_HTTP_CONTINUE_TIMEOUT, DISCOURSE_S3_INSTALL_CORS_RULE usw.

3 „Gefällt mir“

Ah, Entschuldigung, mein Fehler, Leute. Diese S3-Klone entfallen mir immer. Ich musste gestern dieses benutzerdefinierte Endpunktproblem mit Minio beheben. Ich denke, die Lösung hier besteht einfach darin, niemals dualstack zu verwenden, wenn DISCOURSE_S3_ENDPOINT gesetzt wurde, da diese inkompatibel sind, und alle hier scheinen das zu verwenden.

3 „Gefällt mir“

Ich habe hierfür jetzt einen Fix zusammengeführt:

4 „Gefällt mir“

Danke für den schnellen Fix! Ich bin wieder im Geschäft. :tada:

Danke für die klare Erklärung, Rafael!

Das liegt daran, dass es viel zu bedenken gibt! Und die Spec-Tests, denke ich, würden diese nervigen stub_requests erfordern, von denen ich weiß, dass ich sie hasse zu schreiben.

Nur zur Info, das klingt für mich richtig. Und Sie könnten wahrscheinlich Tests dafür schreiben, die keine Stubs für stub_requests erfordern.

1 „Gefällt mir“

10 Beiträge wurden in ein neues Thema aufgeteilt: Unable to backup or navigate to backups

Ich glaube nicht, dass dies als fixed markiert werden sollte.

Diese Änderung hat höchstwahrscheinlich Backups auf mehreren Instanzen unterbrochen (wobei andere vermutlich noch nicht wissen, dass ihre Instanzen nicht mehr gesichert werden).

Das deutet für mich darauf hin, dass die Spezifikationen nicht breit genug sind, um alle realen Anwendungsfälle zu erfassen, und dass Änderungen durchgehen, die nicht hätten durchgehen sollen?

4 „Gefällt mir“

Es scheint mir, als ob es nur für Websites behoben ist, auf denen use_s3 aktiviert ist, aber nicht für diejenigen, die S3 nur für Backups verwenden.

Obwohl es wieder möglich ist, neu zu erstellen, sind die S3-Backups einfach kaputt. :crying_cat_face:

3 „Gefällt mir“

Das Backup-Problem wurde hier behoben: Unable to backup or navigate to backups - #20 by martin

3 „Gefällt mir“

Dieses Thema wurde 3 Tage nach der letzten Antwort automatisch geschlossen. Neue Antworten sind nicht mehr möglich.