مشكلة في إعادة البناء: [لا يمكن تعيين dual-stack مع استخدام نقطة نهاية مخصصة.]

مرحباً :wave:

لا يمكن إعادة البناء مع المشكلة التالية.

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

ربما يتعلق بالالتزام: FIX: Use dualstack S3 endpoint for direct uploads (#29611) · discourse/discourse@0568d36 · GitHub

أستخدم تخزين الكائنات S3 للتحميل إلى DO Spaces. المشكلة ربما تكون في هذا.

شكراً :slight_smile:

إعجاب واحد (1)

لقد علقت هذه الأسطر مما يجعل إعادة البناء تعمل بنجاح ولكن الموقع عالق على الشاشة الافتتاحية أعتقد لأنه لا يمكن تحميل الأصول. :thinking: الوضع الآمن نفس الشيء…

  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

أي فكرة؟ أعرف أن هذا توقيت سيء… :confused:

إعجاب واحد (1)

مرحباً دون، سنلقي نظرة. شكراً للإبلاغ.

إعجاب واحد (1)

شكرا ناتالي :hugs:

لـ إصلاح سريع، قمت بإعادة البناء باستخدام الإصدار cc01555fce59e116b76c912b4c5195e111a652b2، وهو التزام واحد خلف هذا FIX: Use dualstack S3 endpoint for direct uploads (#29611) · discourse/discourse@0568d36 · GitHub

إعجابَين (2)

بدأ إعادة البناء الخاصة بي بإعداد Digital Ocean Spaces S3 بالفشل مع هذا الخطأ:

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

ولكن إغفال تعيينه إلى whatever يتسبب في فشل البناء على هذا النحو:


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


وجدت هذا:

وهذا:

ربما يجب مسح S3_REGION إذا تم تعيين نقطة نهاية هنا؟

تعديل: عفوًا. اعتقدت أنني بحثت. آسف فالكو.

إعجاب واحد (1)

بشكل غريب ، هذا يعطيني هذا الخطأ:

Gem::LoadError: لا يمكن تنشيط webrick-1.9.0 ، تم تنشيط webrick-1.8.2 بالفعل (Gem::LoadError)

والذي رأيته للتو في مثيل كنت أستخدمه لتشغيل استيراد ، والذي “أصلحته” عن طريق الترقية.

أعتقد أنني ببساطة لا أستطيع ترقية هذا الخادم الآن. :frowning:

لست متأكدًا ولكن ربما يستحق المحاولة. لقد قمت بإعادة بناء ناجحة من قبل للقيام بذلك.

وبعد ذلك مباشرة، حاولت إعادة البناء مع اختيار الالتزام. في المرة الثانية، تم تشغيل إعادة البناء بنجاح.

إعجاب واحد (1)

@martin عادةً ما نقوم هنا بتوفير إعداد عام لتعطيل السلوك الذي يمكن للأشخاص الذين يشغلون استنساخ S3 غير المتوافقين تمكينه للعمل.\n\nفي رأيي، يجب أن يظل السلوك الحالي هو الافتراضي، ولكن يجب توفير تبديلات لزيادة التوافق.\n\nانظر الأعمال السابقة في DISCOURSE_S3_HTTP_CONTINUE_TIMEOUT و DISCOURSE_S3_INSTALL_CORS_RULE وما إلى ذلك.

3 إعجابات

آه، آسف، خطئي يا جماعة، هذه النسخ المتماثلة لـ S3 دائمًا ما تفلت من ذاكرتي. لقد اضطررت بالفعل إلى إصلاح مشكلة نقطة النهاية المخصصة هذه مع Minio بالأمس. أعتقد أن الإصلاح هنا يمكن أن يكون ببساطة عدم استخدام dualstack أبدًا إذا تم تعيين DISCOURSE_S3_ENDPOINT نظرًا لأنها غير متوافقة، ويبدو أن الجميع هنا يستخدمونها.

3 إعجابات

لقد قمت بدمج إصلاح لهذه المشكلة الآن:

4 إعجابات

شكرًا على الإصلاح السريع! لقد عدت للعمل. :tada:

شكرًا على الشرح الواضح، رافائيل!

هذا لأنه هناك الكثير من الأشياء التي يجب تذكرها! واختبارات المواصفات، أعتقد، ستتطلب تلك stub_request المزعجة التي أعرف أنني أكره كتابتها.

للعلم، هذا يبدو صحيحًا بالنسبة لي. وربما يمكنك كتابة اختبارات لذلك لا تتطلب استبدالات لـ stub_requests.

إعجاب واحد (1)

تم تقسيم 10 مشاركات إلى موضوع جديد: تعذر النسخ الاحتياطي أو الانتقال إلى النسخ الاحتياطية

لا أعتقد أنه يجب تمييز هذا على أنه fixed.

من المحتمل جدًا أن يكون هذا التغيير قد تسبب في تعطل النسخ الاحتياطي على عدة مثيلات (مع عدم معرفة الآخرين بأن مثيلاتهم لا يتم نسخها احتياطيًا بعد على الأرجح).

هذا يشير لي إلى أن المواصفات ليست واسعة بما يكفي لالتقاط جميع حالات الاستخدام الحقيقية وأن التغييرات تمر دون أن كان يجب أن تمر؟

4 إعجابات

يبدو لي أنه تم إصلاحه فقط للمواقع التي تم فيها تشغيل use_s3 ولكن ليس تلك التي تستخدم S3 للنسخ الاحتياطي فقط.

على الرغم من أنه من الممكن إعادة البناء مرة أخرى، إلا أن النسخ الاحتياطي لـ S3 معطل. :crying_cat_face:

3 إعجابات

تم إصلاح مشكلة النسخ الاحتياطي هنا Unable to backup or navigate to backups - #20 by martin

3 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد 3 أيام من آخر رد. لم تعد الردود الجديدة مسموح بها.