Estaba intentando actualizar mi instancia de Discourse, pero falló en algún punto.
Registro
$ bundle install --deployment --jobs 4 --without test development
[DEPRECATED] La bandera `--deployment` está obsoleta porque depende de que se recuerde entre invocaciones de bundler, lo cual bundler ya no hará en futuras versiones. En su lugar, use `bundle config set --local deployment 'true'` y deje de usar esta bandera.
[DEPRECATED] La bandera `--without` está obsoleta porque depende de que se recuerde entre invocaciones de bundler, lo cual bundler ya no hará en futuras versiones. En su lugar, use `bundle config set --local without 'test development'` y deje de usar esta bandera.
Advertencia: la versión actual de Bundler (2.2.4) es más antigua que la versión que creó el archivo de bloqueo (2.2.6). Le sugerimos actualizar a la versión que creó el archivo de bloqueo ejecutando `gem install bundler:2.2.6`.
Obteniendo índice de fuentes desde https://rubygems.org/
Reintentando el obtentor debido al error (2/4): Bundler::HTTPError No se pudieron obtener especificaciones desde https://rubygems.org/ debido a un error subyacente <tiempo agotado (https://rubygems.org/specs.4.8.gz)>
Reintentando el obtentor debido al error (3/4): Bundler::HTTPError No se pudieron obtener especificaciones desde https://rubygems.org/ debido a un error subyacente <tiempo agotado (https://rubygems.org/specs.4.8.gz)>
Reintentando el obtentor debido al error (4/4): Bundler::HTTPError No se pudieron obtener especificaciones desde https://rubygems.org/ debido a un error subyacente <tiempo agotado (https://rubygems.org/specs.4.8.gz)>
No se pudieron obtener especificaciones desde https://rubygems.org/ debido a un error subyacente <tiempo agotado (https://rubygems.org/specs.4.8.gz)>
Gestor de Docker: FALLO AL ACTUALIZAR
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:196:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:93:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:59:in `load'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:59:in `load'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.3/lib/rails/commands/runner/runner_command.rb:42:in `perform'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.3/lib/rails/command/base.rb:69:in `perform'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.3/lib/rails/command.rb:46:in `invoke'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.3/lib/rails/commands.rb:18:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `block in require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:291:in `load_dependency'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `require'
bin/rails:17:in `<main>'
Iniciando 7 trabajador(es) de Unicorn que se detuvieron inicialmente
Cuando intento reconstruir el contenedor manualmente usando ./launcher rebuild app, también falla al intentar actualizar las gemas:
Registro
I, [2021-02-26T12:23:11.223827 #1] INFO -- : > cd /var/www/discourse && gem update bundler
ERROR: Mientras se ejecuta gem ... (Gem::RemoteFetcher::UnknownHostError)
tiempo agotado (https://rubygems.org/specs.4.8.gz)
I, [2021-02-26T12:24:11.735359 #1] INFO -- :
I, [2021-02-26T12:24:11.736230 #1] INFO -- : Terminando procesos asíncronos
I, [2021-02-26T12:24:11.736294 #1] INFO -- : Enviando INT a HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 51
I, [2021-02-26T12:24:11.736371 #1] INFO -- : Enviando TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 168
2021-02-26 12:24:11.736 UTC [51] LOG: solicitud de cierre rápido recibida
168:signal-handler (1614342251) Received SIGTERM programando cierre...
2021-02-26 12:24:11.741 UTC [51] LOG: abortando cualquier transacción activa
2021-02-26 12:24:11.744 UTC [51] LOG: trabajador en segundo plano "lanzador de replicación lógica" (PID 60) salió con código de salida 1
2021-02-26 12:24:11.747 UTC [55] LOG: apagando
2021-02-26 12:24:11.789 UTC [51] LOG: el sistema de base de datos se ha apagado
168:M 26 Feb 2021 12:24:11.810 # Cierre solicitado por el usuario...
168:M 26 Feb 2021 12:24:11.810 * Guardando la instantánea RDB final antes de salir.
168:M 26 Feb 2021 12:24:11.865 * DB guardado en disco
168:M 26 Feb 2021 12:24:11.865 # Redis ahora está listo para salir, adiós...
FALLÓ
--------------------
Pups::ExecError: cd /var/www/discourse && gem update bundler falló con retorno #<Process::Status: pid 305 exit 1>
Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'
Ejecución fallida con los parámetros {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem update bundler", "find $home ! -user discourse -exec chown discourse {} \\+"]}
7e5c5abe3bf7402b1f3464d4675df48d306251160de17810bc0ebba248e8b6fe
** FALLO AL INICIALIZAR ** por favor, haga scroll hacia arriba y busque mensajes de error anteriores; puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.
El error sugiere que no puede resolver el nombre de host, pero cuando entro manualmente en un contenedor (debian:buster-slim), todo funciona bien (puedo hacer curl a rubygems.org). ¿La imagen de Discourse está haciendo algo extraño con DNS que podría causar esto?