New dynflow breaking katello tests (msgpack issues)

It looks like a new version of dynflow landed which added msgpack support: https://github.com/Dynflow/dynflow/commit/a882170e7ef0f4e4af04da4deabf99d5c4ed5ac7

This seems to break katello tests:

NoMethodError: undefined method `to_msgpack' for Wed, 21 Jul 2021 13:35:03 +0000:DateTime
Did you mean?  to_matcher
    foreman-tasks (5.1.1) lib/foreman_tasks.rb:20:in `trigger'
    foreman-tasks (5.1.1) lib/foreman_tasks.rb:26:in `block in trigger_task'
    foreman-tasks (5.1.1) lib/foreman_tasks.rb:46:in `block in rails_safe_trigger_task'
    foreman-tasks (5.1.1) lib/foreman_tasks.rb:45:in `rails_safe_trigger_task'
    foreman-tasks (5.1.1) lib/foreman_tasks.rb:24:in `trigger_task'
    foreman-tasks (5.1.1) lib/foreman_tasks.rb:55:in `sync_task'
    /home/jenkins/workspace/katello-pr-test/test/support/pulp3_support.rb:70:in `create_repo'
    /home/jenkins/workspace/katello-pr-test/test/actions/pulp3/orchestration/generate_metadata_test.rb:13:in `setup'
    /home/jenkins/workspace/katello-pr-test/test/support/vcr.rb:26:in `block in run'
    /home/jenkins/workspace/katello-pr-test/test/support/vcr.rb:25:in `run' (NoMethodError)
/usr/local/rvm/gems/ruby-2.7.0@katello-pr-test-8538-2/gems/msgpack-1.3.3/lib/msgpack.rb:46

Reading this thread: https://github.com/msgpack/msgpack-ruby/issues/30 it looks like msagpack-ruby doesn’t support time objects by default, but another gem ‘msgpack-rails’ adds that support. I confirmed that it seems to resolve the issue.

My question is around what should hold that dependency? (dynflow doesn’t seem the right place since dynflow doesn’t require rails) Katello? foreman? foreman-tasks? I’m not sure if other plugins are affected or not, but it seems like they easily could be.

Imho that should be Foreman, since it directly depends on dynflow and rails. Tasks plugin is the UI on top of it (and devs API). cc @aruzicka

that was my thinking too, i’ll open a PR for now. We can move it if needed

opened: https://github.com/theforeman/foreman/pull/8787

Just curious, do we know in which table and column the dumped timestamp should land?