Current_hostname: costante non inizializzata

Ciao! Abbiamo una configurazione un po’ complessa qui perché dobbiamo usare k8s per ospitare il nostro forum, ma cercherò di mantenerla semplice.

Quando si utilizza questo file yml dell’applicazione, otteniamo il seguente errore durante l’avvio. Questo è nuovo da ieri sera: lo avevamo in esecuzione fino ad allora, ma un nuovo deploy lo ha improvvisamente interrotto.

Non preoccupatevi per le modifiche alle variabili d’ambiente email in quel file yml, stavamo debuggando qualcos’altro.

=> Avvio di Puma
=> L'applicazione Rails 7.0.2.4 si avvia in produzione
=> Esegui `bin/rails server --help` per altre opzioni di avvio
Uscita
/var/www/discourse/lib/discourse.rb:443:in `current_hostname': costante non inizializzata Discourse::SiteSetting (NameError)
Intendi? Discourse::SiteSettingMissing
        from /var/www/discourse/config/initializers/100-verify_config.rb:7:in `<main>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/engine.rb:667:in `block in load_config_initializer'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.2.4/lib/active_support/notifications.rb:208:in `instrument'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/engine.rb:666:in `load_config_initializer'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/engine.rb:619:in `each'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/engine.rb:619:in `block in <class:Engine>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:32:in `instance_exec'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:32:in `run'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:61:in `block in run_initializers'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:228:in `block in tsort_each'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:431:in `each_strongly_connected_component_from'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:415:in `block in each_strongly_connected_component_from'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:50:in `each'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:50:in `tsort_each_child'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:415:in `call'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:415:in `each_strongly_connected_component_from'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:349:in `block in each_strongly_connected_component'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:347:in `each'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:347:in `call'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:347:in `each_strongly_connected_component'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:226:in `tsort_each'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:205:in `tsort_each'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:60:in `run_initializers'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/application.rb:372:in `initialize!'
        from /var/www/discourse/config/environment.rb:7:in `<main>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
        from config.ru:6:in `block in <main>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/builder.rb:116:in `eval'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/builder.rb:116:in `new_from_string'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/builder.rb:105:in `load_file'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/builder.rb:66:in `parse_file'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:349:in `build_app_and_options_from_config'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:249:in `app'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:422:in `wrapped_app'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:312:in `block in start'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:379:in `handle_profiling'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:311:in `start'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/commands/server/server_command.rb:38:in `start'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/commands/server/server_command.rb:143:in `block in perform'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/commands/server/server_command.rb:134:in `tap'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/commands/server/server_command.rb:134:in `perform'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/command/base.rb:87:in `perform'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/command.rb:48:in `invoke'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/commands.rb:18:in `<main>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        from bin/rails:18:in `<main>'

Abbiamo dato una rapida occhiata al codice sorgente (anche se la maggior parte di noi non ha familiarità con Ruby), ma siamo piuttosto perplessi. Qualche idea?

Usa il launcher per creare l’immagine e avviala con le variabili d’ambiente necessarie per farla funzionare. Puoi ottenerle con un comando del launcher che mostra solo la chiamata di avvio (guarda il codice del launcher per ottenerla).

Puoi crearlo contro il database live e poi avviarlo, oppure crearlo contro un database temporaneo e poi migrare e precompilare gli asset dopo averlo avviato.

Tutto ciò va oltre l’ambito del supporto disponibile qui.

Oppure potresti usare bitnami (anch’esso non supportato qui).

Grazie per la risposta, la apprezzo molto, soprattutto considerando che k8s è un po’ fuori tema qui.

Non possiamo usare Bitnami direttamente perché dobbiamo aggiungere plugin all’istanza, ma sembra una raccomandazione utile in generale.

Stiamo ricontrollando tutto, grazie per il suggerimento sul launcher – speriamo di imbatterci in qualcosa.

1 Mi Piace

Sembrava effettivamente un problema relativo a variabili d’ambiente mancanti, non nei file di build, ma lato k8s. Grazie per l’aiuto.

2 Mi Piace

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