Upgrade to zammad 3.4.0-4 in docker based UCS environment

  • Used Zammad version: 3.4.0-4
  • Used Zammad installation source: (source, package, …)
  • Operating system: Univention Corporate Server: UCS: 4.4-5 errata710
  • Browser + version: Chrome 84.0.4147.125

Expected behavior:

  • during release Upgrade UCS offered an upgrade of the zammad app
  • I used UCS standard commands to upgrade (e.g. univention-app upgrade zammad)
  • AFAIK the zammad integration is based on docker-compose

Actual behavior:

  • The upgrade routine hangs in a loop, waiting for the zammad-init container to finish.

waiting for init container to finish install or update...

  • I figured out that maybe postgres is involved. The script zammad_20200703152551.configure_host tries to add a zammad user:
... Checking if our PostgreSQL needs some love
... => We need to adjust settings on PostgreSQL
...    [Adjusting your PostgreSQL container]
...    => Adding Zammad user [PSQL]
psql: FATAL:  role "postgres" does not exist
...    => Adding superuser with createdb to Zammad user [PSQL]
psql: FATAL:  role "postgres" does not exist
...    => Providing password to Zammad user [PSQL]
psql: FATAL:  role "postgres" does not exist
...    [Okay - enough love for PostgreSQL on this regard]

In the logs of zammad-init container I also see a hint concerning postgres:

/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/model_schema.rb:346:in `attribute_types'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/model_schema.rb:370:in `type_for_attribute'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/table_metadata.rb:33:in `type'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/relation/predicate_builder.rb:51:in `build'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/relation/predicate_builder.rb:112:in `block in expand_from_hash'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/relation/predicate_builder.rb:71:in `each'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/relation/predicate_builder.rb:71:in `flat_map'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/relation/predicate_builder.rb:71:in `expand_from_hash'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/relation/predicate_builder.rb:21:in `build_from_hash'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/relation/where_clause_factory.rb:19:in `build'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/relation/query_methods.rb:588:in `where!'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/relation/finder_methods.rb:370:in `construct_relation_for_exists'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/relation/finder_methods.rb:320:in `exists?'
/usr/local/bundle/gems/activerecord-5.2.4.3/lib/active_record/querying.rb:5:in `exists?'
/opt/zammad/config/initializers/models_searchable.rb:4:in `<main>'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load'
/usr/local/bundle/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:285:in `block in load'
/usr/local/bundle/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bundle/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:285:in `load'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/engine.rb:663:in `block in load_config_initializer'
/usr/local/bundle/gems/activesupport-5.2.4.3/lib/active_support/notifications.rb:170:in `instrument'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/engine.rb:662:in `load_config_initializer'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/engine.rb:619:in `each'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/engine.rb:619:in `block in <class:Engine>'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/initializable.rb:32:in `instance_exec'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/initializable.rb:32:in `run'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/initializable.rb:61:in `block in run_initializers'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/initializable.rb:50:in `each'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/initializable.rb:50:in `tsort_each_child'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/initializable.rb:60:in `run_initializers'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/application.rb:361:in `initialize!'
/opt/zammad/config/environment.rb:5:in `<main>'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
/usr/local/bundle/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
/usr/local/bundle/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/bundle/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/bundle/gems/activesupport-5.2.4.3/lib/active_support/dependencies.rb:291:in `require'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/application.rb:337:in `require_environment!'
/usr/local/bundle/gems/railties-5.2.4.3/lib/rails/application.rb:520:in `block in run_tasks_blocks'
/usr/local/bundle/gems/rake-12.3.3/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => db:create => db:load_config => environment
(See full trace by running task with --trace)
cannot delete non-empty directory: storage/fs
cannot delete non-empty directory: storage/fs
cannot delete non-empty directory: storage
initialising / updating database...
rake aborted!
PG::ConnectionBad: FATAL:  password authentication failed for user "zammad"

Of course, login is not possible, due to unfinished upgrade.
I could not login with psql -U postgres CONTAINER as well.

Steps to reproduce the behavior:

  • univention-app upgrade zammad

That’s odd. The first postgresql container that doesn’t know the user postgres…?

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