Problem beim Upgrade einer Multi-Site/Multi-Container-Discourse-Instanz

Hallo,

Ich versuche, eine Discourse-Instanz von 2.8.0.beta8 (0ededb1454) auf 2.9.0.beta4 zu aktualisieren.

Bisher hat das gut funktioniert, aber dieses Mal erhalte ich einen Fehler, wenn ich versuche, meinen neuen web_only-Container zu starten.

Es handelt sich um eine Multi-Site-Installation und Multi-Container (web_only und data).

Es hängt hier:

I, [2022-05-13T05:52:47.051709 #1]  INFO -- : > cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate
bundler: failed to load command: rake (/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/rake)
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/runtime.rb:309:in `check_for_activated_spec!': You have already activated uri 0.10.0, but your Gemfile requires uri 0.11.0. Since uri is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports uri as a default gem. (Gem::LoadError)
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/runtime.rb:25:in `block in setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/spec_set.rb:136:in `each'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/spec_set.rb:136:in `each'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/runtime.rb:24:in `map'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/runtime.rb:24:in `setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler.rb:151:in `setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/setup.rb:20:in `block in <top (required)>'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/ui/shell.rb:136:in `with_level'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/ui/shell.rb:88:in `silence'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/setup.rb:20:in `<top (required)>'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli/exec.rb:56:in `require_relative'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli/exec.rb:56:in `kernel_load'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli/exec.rb:23:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli.rb:483:in `exec'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli.rb:31:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/cli.rb:25:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/exe/bundle:48:in `block in <top (required)>'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/exe/bundle:36:in `<top (required)>'
	from /usr/local/bin/bundle:23:in `load'
	from /usr/local/bin/bundle:23:in `<main>'
I, [2022-05-13T05:52:47.425596 #1]  INFO -- : 

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; sudo -E -u discourse bundle exec rake multisite:migrate failed with return #&lt;Process::Status: pid 6089 exit 1&gt;
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params "cd /var/www/discourse &amp;&amp; sudo -E -u discourse bundle exec rake multisite:migrate"
df18312b372c1b6866b4219c5f8678dbcab50711a643f7ed8d627cae998d59e9
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

Auszug aus ./discourse-doctor bezüglich Plugins und Container:

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 19.03.13, build 4484c46d9d

DOCKER PROCESSES (docker ps -a)

CONTAINER ID        IMAGE                      COMMAND             CREATED             STATUS              PORTS                      NAMES
ef7f5c75b666        local_discourse/web_only   "/sbin/boot"        7 months ago        Up 2 months         127.0.0.1:8800->80/tcp     web_only
418c82bdeb7b        local_discourse/data       "/sbin/boot"        14 months ago       Up 2 months         127.0.0.1:5432->5432/tcp   data

ef7f5c75b666        local_discourse/web_only   "/sbin/boot"        7 months ago        Up 2 months         127.0.0.1:8800->80/tcp     web_only

Discourse container web_only is running


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-bbcode.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/discoursehosting/discourse-migratepassword.git
          - git clone https://github.com/discourse/discourse-github.git

No non-official plugins detected.

Irgendeine Idee, wie das zu lösen ist?

Danke!

1 „Gefällt mir“

Könnte zusammenhängen mit

https://github.com/rubygems/rubygems/issues/5016#issuecomment-951808558

1 „Gefällt mir“

Verwendest du pg13?

Du kannst wahrscheinlich das migrate password plugin entfernen.

Aber das andere vorgeschlagene Problem könnte die Ursache sein.

1 „Gefällt mir“

Hallo, danke für deine Antwort @pfaffman

Ja:

psql (13.2 (Debian 13.2-1.pgdg100+1))

Ich habe versucht, das Plugin migratepassword zu kommentieren, aber derselbe Fehler.

Irgendwelche Ideen, wie ich das lösen kann?

Mein Verständnis ist, dass alle Abhängigkeiten innerhalb des erstellten Containers erledigt werden, daher verstehe ich nicht, warum es hier hängt:

/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13/lib/bundler/runtime.rb:309:in
`check_for_activated_spec!': Du hast bereits uri 0.10.0 aktiviert, aber deine
Gemfile erfordert uri 0.11.0. Da uri ein Standardgem ist, kannst du entweder deine
Abhängigkeit davon entfernen oder versuchen, auf eine neuere Version von Bundler zu aktualisieren, die
uri als Standardgem unterstützt. (Gem::LoadError)

Und ich verstehe den Verweis auf uri nicht, da es nicht in der Gemfile ist

1 „Gefällt mir“

Am Anfang des Prozesses haben wir

I, [2022-05-13T18:22:51.511137 #1]  INFO -- : Running `bundle install --deployment --jobs 4 --retry 3 --verbose --without \"test\" \"development\"` with bundler 2.3.13
Frozen, using resolution from the lockfile
The definition is missing [\"bootsnap-1.11.1\", \"actionmailer-7.0.3\", \"actionpack-7.0.3\", \"actionview-7.0.3\", \"activemodel-7.0.3\", \"activerecord-7.0.3\", \"activesupport-7.0.3\", \"railties-7.0.3\", \"sprockets-rails-3.4.2\", \"json-2.6.1\", \"mail-2.8.0.rc1\", \"mini_mime-1.1.2\", \"mini_suffix-0.3.3\", \"redis-4.5.1\", \"redis-namespace-1.8.2\", \"discourse-fonts-0.0.9\", \"message_bus-4.2.0\", \"rails_multisite-4.0.1\", \"fastimage-2.2.6\", \"aws-sdk-s3-1.114.0\", \"aws-sdk-sns-1.53.0\", \"excon-0.92.3\", \"image_optim-0.31.1\", \"nokogiri-1.13.6-x86_64-linux\", \"loofah-2.17.0\", \"css_parser-1.11.0\", \"omniauth-facebook-9.0.0\", \"omniauth-oauth2-1.7.2\", \"oj-3.13.11\", \"pg-1.3.5\", \"mini_sql-1.4.0\", \"rake-13.0.6\", \"thor-1.2.1\", \"sidekiq-6.4.2\", \"mini_racer-0.6.2\", \"rack-protection-2.2.0\", \"addressable-2.8.0\", \"json_schemer-0.2.21\", \"fast_blank-1.0.1\", \"rack-mini-profiler-3.0.0\", \"unicorn-6.1.0\", \"puma-5.6.4\", \"rss-0.2.9\", \"stackprof-0.2.19\", \"cppjieba_rb-0.4.2\", \"lograge-0.12.0\", \"logster-2.11.2\", \"rqrcode-2.1.1\", \"rubyzip-2.3.2\", \"sanitize-6.0.0\", \"rails_failover-0.8.1\", \"net-http-0.2.2\", \"msgpack-1.5.1\", \"activejob-7.0.3\", \"net-imap-0.2.3\", \"net-pop-0.1.1\", \"net-smtp-0.3.1\", \"rails-html-sanitizer-1.4.2\", \"concurrent-ruby-1.1.10\", \"i18n-1.10.0\", \"minitest-5.15.0\", \"zeitwerk-2.5.4\", \"ffi-1.15.5\", \"aws-sdk-core-3.130.2\", \"aws-sdk-kms-1.56.0\", \"aws-sigv4-1.5.0\", \"unf_ext-0.0.8.1\", \"image_size-3.0.1\", \"in_threads-1.6.0\", \"racc-1.6.0\", \"hashie-5.0.0\", \"jwt-2.3.0\", \"libv8-node-16.10.0.0-x86_64-linux\", \"public_suffix-4.0.7\", \"ecma-re-validator-0.4.0\", \"regexp_parser-2.4.0\", \"raindrops-0.20.0\", \"nio4r-2.5.8\", \"rexml-3.2.5\", \"request_store-1.5.1\", \"rqrcode_core-1.2.0\", \"uri-0.11.0\", \"globalid-1.0.0\", \"digest-3.1.0\", \"net-protocol-0.1.3\", \"strscan-3.0.3\", \"timeout-0.2.0\", \"aws-eventstream-1.2.0\", \"aws-partitions-1.583.0\", \"jmespath-1.6.1\", \"oauth-0.5.10\", \"faraday-1.10.0\", \"openssl-2.2.1\", \"faraday-httpclient-1.0.1\", \"faraday-multipart-1.0.3\", \"faraday-net_http_persistent-1.2.0\", \"faraday-patron-1.0.0\", \"faraday-rack-1.0.0\", \"faraday-retry-1.0.3\", \"ruby2_keywords-0.0.5\", \"ipaddr-1.2.4\"]\n```
`\"uri-0.11.0\"`

Grumpf, das macht mich wahnsinnig :triumph:

Könnte es ein Versionskonflikt mit `bundler` sein?

/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.13


Und in der `Gemfile` von `2.9.0.beta4`

```ruby
BUNDLED WITH
   2.3.5
1 „Gefällt mir“

Hallo Jean,

er wurde hier eingeführt:

1 „Gefällt mir“

Hallo @Benjamin_D und danke für den Tipp,

Ich konnte auf 2.8.3 upgraden, indem ich den Commit-Ref a9a643bcdc5808802a5a0d73f107cc3a63e2e095 manuell in params: version: in meiner .yml geschrieben habe.

Ich werde versuchen, schrittweise zu upgraden.

2 „Gefällt mir“

Ich erhalte genau den gleichen Fehler, wenn ich versuche, auf 2.9.0.beta4 zu aktualisieren (nicht Multi-Site).

1 „Gefällt mir“

Ein Upgrade auf beta2 ist in Ordnung.


Ein Upgrade auf beta3 ist es nicht.


Nach der Untersuchung musste ich meinen data-Container neu erstellen, um Redis auf 6.2 zu aktualisieren.

4 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.