Bug #22837

Dynflow's startup validation is running too early, leading to error messages regarding readynes of the dynflow runtime in the tasks

Added by Ivan Necas 3 months ago. Updated 24 days ago.

Status:Closed
Priority:Normal
Assigned To:Ivan Necas
Category:Dynflow
Target version:Foreman - Team Ivan Iteration 29
Difficulty: Bugzilla link:
Found in release: Pull request:https://github.com/Dynflow/dynflow/pull/278
Story points-
Velocity based estimate-

Description

How to reproduce:

1. install katello nightly
2. echo > /var/log/foreman/production.log; pkill -f -9 '\bdynflow_executor\b'; service dynflowd restart
3. watch /var/log/foreman/production.log

2018-03-09T19:18:32  [foreman-tasks] [W] Could not load execution plan 9a4d528b-4064-4999-9ffa-0dd6a40a7d7d for task 46cc3e20-0960-444f-9cb4-57e8ba5809c3
 | RuntimeError: The Dynflow world was not initialized yet. If your plugin uses it, make sure to call Rails.application.dynflow.require! in some initializer
 | /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.36/lib/dynflow/rails.rb:74:in `world'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.12.0/app/models/foreman_tasks/task/dynflow_task.rb:54:in `execution_plan'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.12.0/app/models/foreman_tasks/task/dynflow_task.rb:101:in `main_action'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.12.0/app/models/foreman_tasks/task/dynflow_task.rb:18:in `update_from_dynflow'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.12.0/lib/foreman_tasks/dynflow/persistence.rb:50:in `on_execution_plan_save'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.12.0/lib/foreman_tasks/dynflow/persistence.rb:12:in `block in save_execution_plan'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.12.0/lib/foreman_tasks/dynflow/persistence.rb:10:in `tap'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.12.0/lib/foreman_tasks/dynflow/persistence.rb:10:in `save_execution_plan'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.36/lib/dynflow/persistence.rb:73:in `save_execution_plan'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.36/lib/dynflow/execution_plan.rb:423:in `save'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.36/lib/dynflow/execution_plan.rb:132:in `update_state'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.36/lib/dynflow/world.rb:325:in `invalidate_execution_lock'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.36/lib/dynflow/world.rb:287:in `block (2 levels) in invalidate'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.36/lib/dynflow/world.rb:286:in `each'

History

#1 Updated by Ivan Necas 3 months ago

  • Category set to Dynflow
  • Project changed from Foreman to foreman-tasks

#2 Updated by Ivan Necas 3 months ago

  • Target version set to Team Ivan Iteration 29
  • Assigned To set to Ivan Necas
  • Status changed from New to Assigned

#3 Updated by Ivan Necas 3 months ago

  • Pull request https://github.com/Dynflow/dynflow/pull/278 added

#4 Updated by Ivan Necas 3 months ago

  • Status changed from Assigned to Ready For Testing

#5 Updated by Adam Ruzicka 24 days ago

  • Status changed from Ready For Testing to Closed

Also available in: Atom PDF