Description of problem: Tested the MIQ_STOP and MIQ_ABORT method return code for both relationships and state machines. The relationship tests worked as expected: MIQ_STOP class A instance relationship rel1 calls --> class B instance(instance calls a method that sets MIQ_STOP) relationship rel2 - proceeds normally because stop only stopped class B instance MIQ_ABORT class A instance relationship rel1 calls --> class B instance(instance calls a method that sets MIQ_ABORT) relationship rel2 - does not get called because entire resolution aborted -------------------------------------------------------------------------- The state machine tests did not work as expected: MIQ_STOP state machine class A instance state relationship state1 calls --> state machine class B instance(instance calls a method that sets MIQ_STOP) state relationship state2 - does not get called because entire resolution aborted MIQ_ABORT state machine class A instance state relationship state1 calls --> state machine class B instance(instance calls a method that sets MIQ_ABORT) state relationship state2 - does not get called because entire resolution aborted Actual results: The state machine aborted when MIQ_STOP was set Expected results: The calling state machine should have continued after the MIQ_STOP
Madhu created the following PR for this issue: https://github.com/ManageIQ/manageiq-automation_engine/pull/208
Results are different based on how the method is called. I tested State MachineA calling State MachineB. In one of the State MachineB steps, a method with "exit MIQ_STOP" is called. I am getting different results based on how the method is called. 1. If you use an instance that connects to the method like : /Service/Provisioning/StateMachines/Methods/miq_stop It will continue to the next step in State MachineB. Not expected 2. If you use METHOD::miq_stop syntax, It will stop and return to State MachineA. It will NOT run any more steps in State MachineB and return to the next step in State MachineA. This is expected. Billy
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2019:0212