Hi,
upgraded my puppet server from short before mysql->mariadb switch, running on
i386,, and there I have to run:
I'm having puppet-dashboard running on that host, which uses mysql database.
cd /var/www/puppet-dashboard && sudo -u _puppet-dashboard rake18
RAILS_ENV=production db:migrate --trace
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
uninitialized constant MysqlCompat::MysqlRes
/var/www/puppet-dashboard/vendor/rails/activesupport/lib/active_support/dependencies.rb:466:in
`load_missing_constant'
/var/www/puppet-dashboard/vendor/rails/activesupport/lib/active_support/dependencies.rb:106:in
`const_missing'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:9:in
`define_all_hashes_method!'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:68:in
`mysql_connection'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in
`send'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in
`new_connection'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:245:in
`checkout_new_connection'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:188:in
`checkout'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in
`loop'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in
`checkout'
/usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:183:in
`checkout'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:98:in
`connection'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:326:in
`retrieve_connection'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:123:in
`retrieve_connection'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:115:in
`connection'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/migration.rb:440:in
`initialize'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/migration.rb:401:in
`new'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/migration.rb:401:in
`up'
/var/www/puppet-dashboard/vendor/rails/activerecord/lib/active_record/migration.rb:383:in
`migrate'
/var/www/puppet-dashboard/vendor/rails/railties/lib/tasks/databases.rake:112
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `execute'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:158:in
`invoke_with_call_chain'
/usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:151:in
`invoke_with_call_chain'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:116:in
`invoke_task'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in
`top_level'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in
`each'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in
`top_level'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in
`standard_exception_handling'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:88:in
`top_level'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:66:in
`run'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in
`standard_exception_handling'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63:in
`run'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/bin/rake:33
/usr/local/bin/rake18:23:in `load'
/usr/local/bin/rake18:23
Tasks: TOP => db:migrate
ldd at least seems to be fine, linking against the mariadb libmysqlclient:
ldd /usr/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/lib/mysql_api.so
/usr/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/lib/mysql_api.so:
Start End Type Open Ref GrpRef Name
0061b000 20626000 dlib 1 0 0
/usr/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/lib/mysql_api.so
04244000 24271000 rlib 0 1 0 /usr/local/lib/libruby18.so.0.0
07698000 27961000 rlib 0 1 0
/usr/local/lib/libmysqlclient.so.25.0
0199c000 219a1000 rlib 0 3 0 /usr/lib/libpthread.so.18.1
000a7000 200af000 rlib 0 2 0 /usr/lib/libz.so.5.0
03053000 2305c000 rlib 0 4 0 /usr/lib/libm.so.9.0
043a9000 243b6000 rlib 0 2 0 /usr/lib/libssl.so.27.0
0d3ce000 2d410000 rlib 0 2 0 /usr/lib/libcrypto.so.30.0
0ca58000 2ca88000 rlib 0 1 0 /usr/lib/libstdc++.so.57.0
I installed ruby19-mysql, and reran the command like this:
cd /var/www/puppet-dashboard && sudo -u _puppet-dashboard rake19
RAILS_ENV=production db:migrate --trace
There I don't get the error, and it runs through.
However, that doesn't really help, since puppet-dashboard itself and the
workers use ruby18, so
starting those, they still fail :( Upgrading puppet-dashboard to ruby19 is not
really an option, since
it brings all sorts of problems in the webinterface, due to incompatibilities
with the newer version.
Any idea?
Sebastian