Bug #20050
closedruby-sequel-pg DEB pollutes Foreman ruby gem environment
Description
I had a running foreman install, but needed to run the foreman-installer again to change some settings. Upon doing so, the installer failed on this :
/Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]: Failed to call refresh: '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0]
/Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]: '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0]
Apparently the issue is at :
Sequel::DatabaseError: PG::DuplicateColumn: ERROR: column "version" of relation "dynflow_schema_info" already exists
Any idea if this is a bug or something I did wrong ?
I tried dropping the database, then restarting, but that didn't change anything.
Files
Updated by Marek Hulán over 7 years ago
- Status changed from New to Need more information
Could you please try running "foreman-rake db:migrate" and upload the whole output? It seems like the DB was manually manipulated. Also it would be great if you could provide the exact command, you're using for the installer. Dynflow is only used when some plugins are enabled.
Updated by Marek Hulán over 7 years ago
Seems like a duplicit of #17372, waiting for confirmation that foreman-tasks is involved.
Updated by Marek Hulán over 7 years ago
- Related to Bug #17372: Installation of foreman_tasks fails on Debian jessie added
Updated by Wim Godden over 7 years ago
- foreman-rake db:migrate
The PGconn, PGresult, and PGError constants are deprecated, and will be
removed as of version 1.0.
You should use PG::Connection, PG::Result, and PG::Error instead, respectively.
Called from /usr/share/foreman/vendor/ruby/2.1.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:44:in `new'
rake aborted!
Sequel::DatabaseError: PG::DuplicateColumn: ERROR: column "version" of relation "dynflow_schema_info" already exists
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:187:in `async_exec'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:187:in `block in execute_query'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/logging.rb:44:in `log_connection_yield'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:187:in `execute_query'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:174:in `block in execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:150:in `check_disconnect_errors'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:174:in `execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:526:in `_execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:342:in `block (2 levels) in execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:547:in `check_database_errors'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:342:in `block in execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/connecting.rb:251:in `block in synchronize'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/connection_pool/threaded.rb:107:in `hold'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/connecting.rb:251:in `synchronize'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:342:in `execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/query.rb:52:in `execute_dui'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/query.rb:45:in `execute_ddl'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/schema_methods.rb:420:in `block in apply_alter_table'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/schema_methods.rb:420:in `each'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/schema_methods.rb:420:in `apply_alter_table'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/schema_methods.rb:425:in `apply_alter_table_generator'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/schema_methods.rb:81:in `alter_table'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/extensions/migration.rb:602:in `schema_dataset'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/extensions/migration.rb:452:in `initialize'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/extensions/migration.rb:522:in `initialize'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/extensions/migration.rb:399:in `new'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/extensions/migration.rb:399:in `run'
/usr/share/foreman/vendor/ruby/2.1.0/gems/dynflow-0.8.24/lib/dynflow/persistence_adapters/sequel.rb:221:in `migrate_db'
/usr/share/foreman/vendor/ruby/2.1.0/gems/dynflow-0.8.24/lib/dynflow/persistence_adapters/sequel.rb:44:in `initialize'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:145:in `new'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:145:in `initialize_persistence'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:102:in `block in world_config'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:98:in `tap'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:98:in `world_config'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:61:in `initialize_world'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow.rb:128:in `init_world'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow.rb:41:in `initialize!'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/engine.rb:156:in `block in <class:Engine>'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:36:in `call'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:44:in `each'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/application/finisher.rb:62:in `block in <module:Finisher>'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/initializable.rb:30:in `instance_exec'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/initializable.rb:30:in `run'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/initializable.rb:54:in `run_initializers'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/application.rb:352:in `initialize!'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/railtie.rb:194:in `public_send'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/railtie.rb:194:in `method_missing'
/usr/share/foreman/config/environment.rb:5:in `<top (required)>'
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `block in require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/application.rb:328:in `require_environment!'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/application.rb:457:in `block in run_tasks_blocks'
PG::DuplicateColumn: ERROR: column "version" of relation "dynflow_schema_info" already exists
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:187:in `async_exec'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:187:in `block in execute_query'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/logging.rb:44:in `log_connection_yield'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:187:in `execute_query'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:174:in `block in execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:150:in `check_disconnect_errors'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:174:in `execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:526:in `_execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:342:in `block (2 levels) in execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:547:in `check_database_errors'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:342:in `block in execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/connecting.rb:251:in `block in synchronize'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/connection_pool/threaded.rb:107:in `hold'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/connecting.rb:251:in `synchronize'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb:342:in `execute'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/query.rb:52:in `execute_dui'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/query.rb:45:in `execute_ddl'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/schema_methods.rb:420:in `block in apply_alter_table'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/schema_methods.rb:420:in `each'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/schema_methods.rb:420:in `apply_alter_table'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/schema_methods.rb:425:in `apply_alter_table_generator'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/database/schema_methods.rb:81:in `alter_table'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/extensions/migration.rb:602:in `schema_dataset'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/extensions/migration.rb:452:in `initialize'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/extensions/migration.rb:522:in `initialize'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/extensions/migration.rb:399:in `new'
/usr/share/foreman/vendor/ruby/2.1.0/gems/sequel-4.37.0/lib/sequel/extensions/migration.rb:399:in `run'
/usr/share/foreman/vendor/ruby/2.1.0/gems/dynflow-0.8.24/lib/dynflow/persistence_adapters/sequel.rb:221:in `migrate_db'
/usr/share/foreman/vendor/ruby/2.1.0/gems/dynflow-0.8.24/lib/dynflow/persistence_adapters/sequel.rb:44:in `initialize'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:145:in `new'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:145:in `initialize_persistence'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:102:in `block in world_config'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:98:in `tap'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:98:in `world_config'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow/configuration.rb:61:in `initialize_world'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow.rb:128:in `init_world'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/dynflow.rb:41:in `initialize!'
/usr/share/foreman/vendor/ruby/2.1.0/gems/foreman-tasks-0.9.2/lib/foreman_tasks/engine.rb:156:in `block in <class:Engine>'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:36:in `call'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:44:in `each'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/application/finisher.rb:62:in `block in <module:Finisher>'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/initializable.rb:30:in `instance_exec'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/initializable.rb:30:in `run'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/initializable.rb:54:in `run_initializers'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/application.rb:352:in `initialize!'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/railtie.rb:194:in `public_send'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/railtie.rb:194:in `method_missing'
/usr/share/foreman/config/environment.rb:5:in `<top (required)>'
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `block in require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/application.rb:328:in `require_environment!'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-4.2.8/lib/rails/application.rb:457:in `block in run_tasks_blocks'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)
Updated by Anonymous almost 7 years ago
- Related to Bug #12993: PostgreSQL DuplicateColumn Error added
Updated by Anonymous almost 7 years ago
- Related to Bug #17875: ruby-foreman-tasks fails to intsall on debian/ubuntu added
Updated by Anonymous almost 7 years ago
- Related to Bug #22135: Installation of foreman-proxy-plugin-ansible always fails added
Updated by yannick N almost 7 years ago
Debian 9.3 stretch
Hi,
Wim Godden, I think yout problem is the pg version
show your /usr/share/foreman/bundler.d/postgresql.rb
After a fresh install, i have the same Error.
Actives plugins¶
1. [✓] Configure foreman
2. [✓] Configure foreman_cli
4. [✓] Configure foreman_proxy
5. [✓] Configure puppet
10. [✓] Configure foreman_plugin_cockpit
14. [✓] Configure foreman_plugin_discovery
17. [✓] Configure foreman_plugin_hooks
19. [✓] Configure foreman_plugin_memcache
25. [✓] Configure foreman_plugin_remote_execution
27. [✓] Configure foreman_plugin_setup
28. [✓] Configure foreman_plugin_tasks
36. [✓] Configure foreman_compute_vmware
42. [✓] Configure foreman_proxy_plugin_discovery
45. [✓] Configure foreman_proxy_plugin_dynflow
50. [✓] Configure foreman_proxy_plugin_remote_execution_ssh
/usr/share/foreman/bundler.d/postgresql.rb¶
group :postgresql do # Matches gem requirement specified in ActiveRecord connection adapter gem 'pg', (SETTINGS[:rails] == '4.2' ? '0.15.0' : '0.18.0') #gem 'pg', '0.21.0' end #gem 'pg', '0.19.0'
Output foreman-rake db:migrate¶
foreman-rake db:migrate --trace ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environment API controllers newer than Apipie cache! Run apipie:cache rake task to regenerate cache. rake aborted! Sequel::DatabaseError: PG::Error: ERREUR: la colonne « version » de la relation « dynflow_schema_info » existe déjà /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:145:in `exec' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:145:in `block in execute_query' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/logging.rb:38:in `log_connection_yield' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:145:in `execute_query' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:133:in `block in execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:109:in `check_disconnect_errors' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:133:in `execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:449:in `_execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:273:in `block (2 levels) in execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:471:in `check_database_errors' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:273:in `block in execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/connecting.rb:264:in `block in synchronize' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/connection_pool/threaded.rb:91:in `hold' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/connecting.rb:264:in `synchronize' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:273:in `execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/query.rb:50:in `execute_dui' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/query.rb:43:in `execute_ddl' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/schema_methods.rb:411:in `block in apply_alter_table' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/schema_methods.rb:411:in `each' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/schema_methods.rb:411:in `apply_alter_table' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/schema_methods.rb:424:in `apply_alter_table_generator' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/schema_methods.rb:70:in `alter_table' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/extensions/migration.rb:622:in `schema_dataset' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/extensions/migration.rb:450:in `initialize' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/extensions/migration.rb:517:in `initialize' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/extensions/migration.rb:398:in `new' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/extensions/migration.rb:398:in `run' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/persistence_adapters/sequel.rb:238:in `migrate_db' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/persistence_adapters/sequel.rb:46:in `initialize' /usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.10.6/lib/foreman_tasks/dynflow/configuration.rb:39:in `new' /usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.10.6/lib/foreman_tasks/dynflow/configuration.rb:39:in `initialize_persistence' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails/configuration.rb:107:in `block in world_config' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails/configuration.rb:103:in `tap' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails/configuration.rb:103:in `world_config' /usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.10.6/lib/foreman_tasks/dynflow/configuration.rb:8:in `world_config' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails/configuration.rb:66:in `initialize_world' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails.rb:100:in `init_world' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails.rb:37:in `initialize!' /usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.10.6/lib/foreman_tasks/engine.rb:156:in `block in <class:Engine>' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:44:in `each' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application/finisher.rb:62:in `block in <module:Finisher>' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:30:in `instance_exec' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:30:in `run' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:55:in `block in run_initializers' /usr/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each' /usr/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component' /usr/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from' /usr/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component' /usr/lib/ruby/2.3.0/tsort.rb:347:in `each' /usr/lib/ruby/2.3.0/tsort.rb:347:in `call' /usr/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component' /usr/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each' /usr/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:54:in `run_initializers' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application.rb:352:in `initialize!' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/railtie.rb:194:in `public_send' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/railtie.rb:194:in `method_missing' /usr/share/foreman/config/environment.rb:5:in `<top (required)>' /usr/share/foreman/vendor/ruby/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require' /usr/share/foreman/vendor/ruby/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:274:in `block in require' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:240:in `load_dependency' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:274:in `require' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application.rb:328:in `require_environment!' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application.rb:457:in `block in run_tasks_blocks' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `block in execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `each' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:195:in `block in invoke_with_call_chain' /usr/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:188:in `invoke_with_call_chain' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:217:in `block in invoke_prerequisites' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:215:in `each' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:215:in `invoke_prerequisites' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain' /usr/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:188:in `invoke_with_call_chain' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:181:in `invoke' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:160:in `invoke_task' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `block (2 levels) in top_level' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `each' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `block in top_level' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:125:in `run_with_threads' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:110:in `top_level' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:83:in `block in run' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:186:in `standard_exception_handling' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:80:in `run' /usr/bin/rake:27:in `<main>' Caused by: PG::Error: ERREUR: la colonne « version » de la relation « dynflow_schema_info » existe déjà /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:145:in `exec' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:145:in `block in execute_query' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/logging.rb:38:in `log_connection_yield' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:145:in `execute_query' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:133:in `block in execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:109:in `check_disconnect_errors' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:133:in `execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:449:in `_execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:273:in `block (2 levels) in execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:471:in `check_database_errors' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:273:in `block in execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/connecting.rb:264:in `block in synchronize' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/connection_pool/threaded.rb:91:in `hold' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/connecting.rb:264:in `synchronize' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/adapters/postgres.rb:273:in `execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/query.rb:50:in `execute_dui' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/query.rb:43:in `execute_ddl' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/schema_methods.rb:411:in `block in apply_alter_table' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/schema_methods.rb:411:in `each' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/schema_methods.rb:411:in `apply_alter_table' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/schema_methods.rb:424:in `apply_alter_table_generator' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/database/schema_methods.rb:70:in `alter_table' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/extensions/migration.rb:622:in `schema_dataset' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/extensions/migration.rb:450:in `initialize' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/extensions/migration.rb:517:in `initialize' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/extensions/migration.rb:398:in `new' /usr/share/foreman/vendor/ruby/2.3.0/gems/sequel-5.2.0/lib/sequel/extensions/migration.rb:398:in `run' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/persistence_adapters/sequel.rb:238:in `migrate_db' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/persistence_adapters/sequel.rb:46:in `initialize' /usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.10.6/lib/foreman_tasks/dynflow/configuration.rb:39:in `new' /usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.10.6/lib/foreman_tasks/dynflow/configuration.rb:39:in `initialize_persistence' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails/configuration.rb:107:in `block in world_config' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails/configuration.rb:103:in `tap' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails/configuration.rb:103:in `world_config' /usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.10.6/lib/foreman_tasks/dynflow/configuration.rb:8:in `world_config' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails/configuration.rb:66:in `initialize_world' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails.rb:100:in `init_world' /usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-0.8.33/lib/dynflow/rails.rb:37:in `initialize!' /usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.10.6/lib/foreman_tasks/engine.rb:156:in `block in <class:Engine>' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:44:in `each' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application/finisher.rb:62:in `block in <module:Finisher>' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:30:in `instance_exec' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:30:in `run' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:55:in `block in run_initializers' /usr/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each' /usr/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component' /usr/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from' /usr/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component' /usr/lib/ruby/2.3.0/tsort.rb:347:in `each' /usr/lib/ruby/2.3.0/tsort.rb:347:in `call' /usr/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component' /usr/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each' /usr/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:54:in `run_initializers' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application.rb:352:in `initialize!' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/railtie.rb:194:in `public_send' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/railtie.rb:194:in `method_missing' /usr/share/foreman/config/environment.rb:5:in `<top (required)>' /usr/share/foreman/vendor/ruby/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require' /usr/share/foreman/vendor/ruby/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:274:in `block in require' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:240:in `load_dependency' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:274:in `require' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application.rb:328:in `require_environment!' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application.rb:457:in `block in run_tasks_blocks' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `block in execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `each' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `execute' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:195:in `block in invoke_with_call_chain' /usr/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:188:in `invoke_with_call_chain' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:217:in `block in invoke_prerequisites' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:215:in `each' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:215:in `invoke_prerequisites' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain' /usr/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:188:in `invoke_with_call_chain' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/task.rb:181:in `invoke' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:160:in `invoke_task' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `block (2 levels) in top_level' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `each' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `block in top_level' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:125:in `run_with_threads' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:110:in `top_level' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:83:in `block in run' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:186:in `standard_exception_handling' /usr/share/foreman/vendor/ruby/2.3.0/gems/rake-12.3.0/lib/rake/application.rb:80:in `run' /usr/bin/rake:27:in `<main>' Tasks: TOP => db:migrate => environment
Updated by Luke Alexander almost 7 years ago
I run into this issue while upgrading from 1.15.6 to 1.16, I am running Debian Jessie with Postgresql 9.6/9.5, the 'workaround' that seems to help is downgrading the sequel gem from 5.2.0 to 4.15.0:
/usr/share/foreman # grep sequel Gemfile
gem 'sequel', '4.15.0'
Then as the foreman user running:
bundle update sequel
Then as the root user running:
foreman-rake db:migrate
Updated by Luke Alexander almost 7 years ago
Luke Alexander wrote:
I run into this issue while upgrading from 1.15.6 to 1.16, I am running Debian Jessie with Postgresql 9.6/9.5, the 'workaround' that seems to help is downgrading the sequel gem from 5.2.0 to 4.15.0:
/usr/share/foreman # grep sequel Gemfile
gem 'sequel', '4.15.0'
I forgot to add another bit:
/usr/share/foreman # cat bundler.d/postgresql.rb group :postgresql do # Matches gem requirement specified in ActiveRecord connection adapter #gem 'pg', (SETTINGS[:rails] == '4.2' ? '~> 0.15' : '~> 0.18') gem 'pg', '0.17.1' end
Then as the foreman user running:
bundle update sequel
Then as the root user running:
foreman-rake db:migrate
Updated by Luke Alexander almost 7 years ago
Luke Alexander wrote:
Luke Alexander wrote:
I run into this issue while upgrading from 1.15.6 to 1.16, I am running Debian Jessie with Postgresql 9.6/9.5, the 'workaround' that seems to help is downgrading the sequel gem from 5.2.0 to 4.15.0:
/usr/share/foreman # grep sequel Gemfile
gem 'sequel', '4.15.0'I forgot to add another bit:
[...]Then as the foreman user running:
bundle update
Then as the root user running:
foreman-rake db:migrate
Updated by yannick N almost 7 years ago
OMG it's Work For Me !!! Luke Alexander can you give more explain ? please
I run into this issue while upgrading from 1.15.6 to 1.16, I am running Debian Jessie with Postgresql 9.6/9.5, the 'workaround' that seems to help is downgrading the sequel gem from >>5.2.0 to 4.15.0:
usr/share/foreman # nano Gemfile
add gem 'sequel', '4.15.0'
/usr/share/foreman # cat bundler.d/postgresql.rb
group :postgresql do
- Matches gem requirement specified in ActiveRecord connection adapter
#gem 'pg', (SETTINGS[:rails] == '4.2' ? '~> 0.15' : '~> 0.18')
gem 'pg', '0.17.1'
end
if you do not have pg 0.17.1' install it like this
cd usr/share/foreman gem install pg -v '0.17.1' bundle install
Then as the foreman user running:
bundle update sequel
Then as the root user running:
foreman-rake db:migrate
Updated by Anonymous almost 7 years ago
- Project changed from Installer to foreman-tasks
- Status changed from Need more information to New
- Assignee set to Ivan Necas
- Priority changed from Urgent to Normal
Ivan, if you have time, could you have a look there, again?
In the past it looks like it was only related to pg versions, but now it seems, sequel 5.x is the culprit.
Updated by Ivan Necas almost 7 years ago
Interesting, I had limited way to debug this in the past, as I could not reproduce this locally. I can guve it a try again, can't promise it will be tomorrow though
Updated by yannick N almost 7 years ago
Now, i have another problem when i run /usr/sbin/foreman-rake db:migrate (no implicit conversion of nil into String)
Michael Moll if u want i can create another redmine
issue¶
/usr/sbin/foreman-rake db:migrate API controllers newer than Apipie cache! Run apipie:cache rake task to regenerate cache. rake aborted! TypeError: no implicit conversion of nil into String /usr/share/foreman/config/initializers/assets.rb:73:in `join' /usr/share/foreman/config/initializers/assets.rb:73:in `block (4 levels) in <top (required)>' /usr/share/foreman/config/initializers/assets.rb:72:in `map' /usr/share/foreman/config/initializers/assets.rb:72:in `block (3 levels) in <top (required)>' /usr/share/foreman/config/initializers/assets.rb:69:in `each' /usr/share/foreman/config/initializers/assets.rb:69:in `block (2 levels) in <top (required)>' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:44:in `each' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application/finisher.rb:62:in `block in <module:Finisher>' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:30:in `instance_exec' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:30:in `run' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:55:in `block in run_initializers' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:54:in `run_initializers' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application.rb:352:in `initialize!' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/railtie.rb:194:in `public_send' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/railtie.rb:194:in `method_missing' /usr/share/foreman/config/environment.rb:5:in `<top (required)>' /usr/share/foreman/vendor/ruby/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require' /usr/share/foreman/vendor/ruby/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:274:in `block in require' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:240:in `load_dependency' /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:274:in `require' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application.rb:328:in `require_environment!' /usr/share/foreman/vendor/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application.rb:457:in `block in run_tasks_blocks' Tasks: TOP => db:migrate => environment (See full trace by running task with --trace)
Updated by yannick N almost 7 years ago
after installing a plugin (I do not know which one) : i have no implicit conversion of nil into String
Updated by Ewoud Kohl van Wijngaarden almost 7 years ago
- Related to Bug #22266: Fresh installation of Foreman with Ansible plugin and proxy is broken after host restart added
Updated by Ben Howell almost 7 years ago
Is there a fix for this in Ubuntu/Debian for users who installed via the .deb files? I didn't use foreman-installer, or if we did, the settings for foreman-installer aren't saved anywhere. Is there a solution to this?
Updated by Anonymous almost 7 years ago
- Related to Support #22429: Jobs page fails to open with error message "PG::UndefinedTable: ERROR: relation "job_invocations" does not exist" added
Updated by Anonymous over 6 years ago
- Related to Bug #22745: After Upgrade from 1.15.6 to 1.16.0 we can't access foreman added
Updated by Maximilian Stinsky over 6 years ago
I have the same issue on a foreman 1.17.0~rc1-1 installation and the workaround can't be applied here because activerecord is depended on pg gem version 0.18+ if I am not mistaking.
Updated by Michael Brown over 6 years ago
Maximilian Stinsky wrote:
I have the same issue on a foreman 1.17.0~rc1-1 installation and the workaround can't be applied here because activerecord is depended on pg gem version 0.18+ if I am not mistaking.
I can also confirm the same issue on CentOS 7.4, Puppet 5, Foreman 17-rc1, Katello 3.6-rc1 using a scripted install on a custom ISO.
[root@linux-test hammer_cli]# /usr/sbin/foreman-rake db:migrate
/opt/theforeman/tfm/root/usr/share/gems/gems/sequel-4.20.0/lib/sequel/database/schema_generator.rb:19: warning: constant ::Fixnum is deprecated
/opt/theforeman/tfm/root/usr/share/gems/gems/sequel-4.20.0/lib/sequel/database/schema_generator.rb:19: warning: constant ::Bignum is deprecated
/usr/share/foreman/lib/foreman.rb:8: warning: already initialized constant Foreman::UUID_REGEXP
/usr/share/foreman/lib/foreman.rb:8: warning: previous definition of UUID_REGEXP was here
/usr/share/foreman/lib/core_extensions.rb:183: warning: already initialized constant ActiveSupport::MessageEncryptor::DEFAULT_CIPHER
/opt/rh/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.4/lib/active_support/message_encryptor.rb:22: warning: previous definition of DEFAULT_CIPHER was here
/opt/theforeman/tfm/root/usr/share/gems/gems/logging-1.8.2/lib/logging/appender.rb:139: warning: constant ::Fixnum is deprecated
/opt/theforeman/tfm/root/usr/share/gems/gems/logging-1.8.2/lib/logging/logger.rb:295: warning: constant ::Fixnum is deprecated
The PGconn, PGresult, and PGError constants are deprecated, and will be
removed as of version 1.0.
You should use PG::Connection, PG::Result, and PG::Error instead, respectively.
Called from /opt/theforeman/tfm/root/usr/share/gems/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
Updated by Julio Barreto over 6 years ago
- Category set to Foreman plugin
- Translation missing: en.field_release set to 296
- Difficulty set to hard
[deleted. unrelated issue.]
Updated by Anonymous over 6 years ago
- Priority changed from Urgent to Normal
- Translation missing: en.field_release deleted (
296) - Difficulty deleted (
hard)
Updated by Anonymous over 6 years ago
Julio, your problem is unrelated. Update your foreman_openscap to 0.9.x
Updated by Alexander Olofsson over 6 years ago
Ran right into this issue again when updating Foreman to 1.16.1 on a Jessie host.
Had to downgrade the sequel and pg gems to get db:migrate/db:seed to run.
Updated by Anonymous over 6 years ago
- Has duplicate Bug #23299: Sequel::DatabaseError: PG::DuplicateColumn: ERROR: column "version" of relation "dynflow_schema_info" already exists added
Updated by Johannes Black over 6 years ago
Any news how to circumvent it or when it will be fixed? It also occurs in Foreman 17.0 and I have no extra Ruby version installed.
Updated by Ivan Necas over 6 years ago
- Status changed from New to Need more information
I tried with jessie and xenial and I was not able to reproduce with neither of them. Would anyone with a reproducer mind trying Forklift's (https://github.com/theforeman/forklift) vagrant up debian9-foreman-1.17
or vagrant up ubuntu1604-foreman-1.17
, see if that works for them and compare the box to the one that reproduces the issue? Without a solid reproducer, I'm afraid I can't help much with solving it :/
Updated by Johannes Black over 6 years ago
It worked after I uninstalled ruby on Debian Stretch AMD64 with
apt-get remove ruby*
and
reinstalled everything with foreman-installer.
If you don't save your data it's probably wiped.
I will investigate further but it's still a strange mystery.
Updated by Johannes Black over 6 years ago
Okay now it is not working for some other reason. :)
Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install ruby-foreman-ansible' returned 100: Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: ruby-foreman-deface The following NEW packages will be installed: ruby-foreman-ansible ruby-foreman-deface 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/301 kB of archives. After this operation, 11.7 MB of additional disk space will be used. Selecting previously unselected package ruby-foreman-deface. (Reading database ... 88838 files and directories currently installed.) Preparing to unpack .../ruby-foreman-deface_1.2.0-1_all.deb ... Unpacking ruby-foreman-deface (1.2.0-1) ... Selecting previously unselected package ruby-foreman-ansible. Preparing to unpack .../ruby-foreman-ansible_2.0.1-1_all.deb ... Unpacking ruby-foreman-ansible (2.0.1-1) ... Setting up ruby-foreman-deface (1.2.0-1) ... dpkg: error processing package ruby-foreman-deface (--configure): subprocess installed post-installation script returned error exit status 6 dpkg: dependency problems prevent configuration of ruby-foreman-ansible: ruby-foreman-ansible depends on ruby-foreman-deface (<< 2.0.0); however: Package ruby-foreman-deface is not configured yet. dpkg: error processing package ruby-foreman-ansible (--configure): dependency problems - leaving unconfigured Errors were encountered while processing: ruby-foreman-deface ruby-foreman-ansible E: Sub-process /usr/bin/dpkg returned an error code (1) /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/execution.rb:285:in `execute' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/command.rb:23:in `execute' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider.rb:223:in `block in has_command' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider.rb:434:in `block in create_class_and_instance_method' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/package/apt.rb:73:in `install' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/package.rb:88:in `block (3 levels) in <module:Puppet>' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:491:in `set' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:568:in `sync' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:236:in `sync' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:134:in `sync_if_needed' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:80:in `perform_changes' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:21:in `evaluate' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:257:in `apply'
For some other reason the installer tries to install the package
ruby-foreman-tasks
but I haven't selected it (see screenshot).
I have only selected
Main Config Menu
1. [✓] Configure foreman
2. [✓] Configure foreman_cli
3. [✗] Configure foreman_cli_openscap
4. [✓] Configure foreman_proxy
5. [✓] Configure puppet
6. [✓] Configure foreman_plugin_ansible
7. [✗] Configure foreman_plugin_azure
with the default value.
Updated by Johannes Black over 6 years ago
Okay, I have to backpaddle. The problem is still there.
[ WARN 2018-04-18T15:10:40 main] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: from /usr/lib/ruby/vendor_ruby/bundler.rb:99:in `setup' [ WARN 2018-04-18T15:10:40 main] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: from /usr/lib/ruby/vendor_ruby/bundler/setup.rb:20:in `<top (required)>' [ WARN 2018-04-18T15:10:40 main] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require ' [ WARN 2018-04-18T15:10:40 main] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require ' [ERROR 2018-04-18T15:10:40 main] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]: Failed to call refresh: '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0] [ERROR 2018-04-18T15:10:40 main] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]: '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0] [ERROR 2018-04-18T15:10:40 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/errors.rb:157:in `fail' [ERROR 2018-04-18T15:10:40 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/exec.rb:164:in `sync'
Thanks for trying to help but I think I will pause trying to 'fix' Foreman for a few weeks. Unfortunately it still seems to be too unstable to use in production.
Updated by Tatsuya Hamamoto over 6 years ago
I also got stuck with the same error trying to upgrade from 1.16.1 to 1.17.0.
And as someone previously stated, it looks like the previous fix for downgrading 'pg' and 'sequel' gems does not work for 1.17.0 due to compatibility issues.
I'm not sure on what I should compare between the forklift version and my live system, so I'll try to list what I may have done outside the default setup.
My environment is running on ESXi 6.5 host with the latest patches.
The OS is Ubuntu 16.04 64-bit (initially 14.04 but upgraded to 16.04 later). 2 virtual CPU (Intel E5-2640) and 4GB RAM.
Foreman was setup with the below command:
sudo foreman-installer --enable-foreman-plugin-remote-execution --enable-foreman-plugin-tasks --enable-foreman-proxy-plugin-remote-execution-ssh
When I ran the above command (back in October 2014), I received an error regarding ruby-concurrent-ruby-edge for version conflict, so I ran the following to fix the error.
sudo dpkg -i --force-overwrite /var/cache/apt/archives/ruby-concurrent-ruby-edge_0.2.0-2_all.deb
sudo apt -f install
The ruby-concurrent-ruby-edge package was getting errors when I ran the next foreman upgrade, so I ran the above again.
This error didn't come back after that so I think this is already fixed and unrelated, but just to make note.
Another change I've done will be that puppet was upgraded from 3 to 4 and then 4 to 5 by following the instructions on the foreman website.
Upgrading puppet version 3 to 4 was a requirement so that should not be a problem I suppose. puppetserver is running and working fine.
The last change I've done was to supply my own SSL Certificate for the Web login, which is separate from the puppet cert.
This started getting errors when performing Remote Executions from Foreman 1.16, but I've already submitted a ticket for this so I won't write the details here.
I think that's all I did regarding customization; if you would like me to test something, please let me know.
Thank you.
Updated by Ivan Necas over 6 years ago
I have finally a working (or rather not working) reproducer at my end. Seems like some issue with the sequel gem loading the columns information from the server: will update with more details, once I figure out what's going on.
Updated by Ivan Necas over 6 years ago
- Project changed from foreman-tasks to Packaging
- Category deleted (
Foreman plugin) - Status changed from Need more information to New
So, the issue I've finally found is that in debian support. The issue is caused by /usr/lib/ruby/vendor_ruby/sequel_pg/sequel_pg.rb
, that's being loaded into the runtime, while it's not compatible with the sequel we have vendored in /usr/share/foreman/vendor
This get's pulled in ruby-sequel-db
that's recommanded by ruby-sequel
that is pulled in by smart_proxy_dynflow_core
and dynflow
. The short-term solution is to do:
apt remove ruby-sequel-pg
As it's optional dependency, it doesn't really matter.
However, the long-term fix should be on debian packaging to prevent the foreman gems to use the system-level ones, as there is always a risk of something from the system ruby to conflict with the vendored ones.
Switching over to packaging project.
Updated by Tatsuya Hamamoto over 6 years ago
Just wanted to report that the short-term solution worked for me. No errors what-so-ever.
Thank you very much!
Updated by Anonymous over 6 years ago
Johannes, that problem with foreman_azure is unrelated. alias_method_chain was removed from Rails 5.x and Foreman 1.17 is using Rails 5.1, so foreman_zure is not compatible with 1.17+ at the moment.
Updated by Johannes Black over 6 years ago
Michael thanks for the information.
- Is there a documentation about which plugins won't work with Foreman 1.17 so the users don't have to try and error the plugins?
- Maybe it would be even more informative to hide options that won't work at the moment in foreman-installer so that there is no misunderstanding?
Updated by Anonymous over 6 years ago
There's an ongoing discussion at https://community.theforeman.org/t/unmaintaned-incompatible-plugins-in-1-17-repos
Updated by Maximilian Stinsky over 6 years ago
Great, I implemented the deletion of ruby-sequel-pg in my puppet class and everything works under 1.17.
Thank you.
Updated by Ivan Necas over 6 years ago
- Has duplicate Bug #23061: remote execution tasks stuck in status planned added
Updated by Anonymous over 6 years ago
- Related to Bug #23595: ruby-sequel-pg DEB pollutes Foreman ruby gem environment added
Updated by Anonymous over 6 years ago
- Subject changed from Installer crashes on db:migrate to ruby-sequel-pg DEB pollutes Foreman ruby gem environment
- Status changed from New to Ready For Testing
- Pull request https://github.com/theforeman/foreman-packaging/pull/2484 added
Updated by Anonymous over 6 years ago
Eric, your stuff is unrelated. Please open a new issue, preferrably under the Katello category/project.
Updated by Anonymous over 6 years ago
- Translation missing: en.field_release set to 297
Updated by Anonymous over 6 years ago
- Related to deleted (Bug #22266: Fresh installation of Foreman with Ansible plugin and proxy is broken after host restart)
Updated by Anonymous over 6 years ago
- Has duplicate Bug #22266: Fresh installation of Foreman with Ansible plugin and proxy is broken after host restart added
Updated by Anonymous over 6 years ago
- Related to deleted (Support #22429: Jobs page fails to open with error message "PG::UndefinedTable: ERROR: relation "job_invocations" does not exist")
Updated by Anonymous over 6 years ago
- Has duplicate Support #22429: Jobs page fails to open with error message "PG::UndefinedTable: ERROR: relation "job_invocations" does not exist" added
Updated by Anonymous over 6 years ago
- Status changed from Ready For Testing to Closed
4a55d8c4d33b926dccb4ffb288d408a01a52d628 went in and got cherry-picked 1.17 and 1.16
Updated by Anonymous over 6 years ago
- Has duplicate Bug #22785: [Foreman 1.17] New install : unknown error (response 500) added