Comment 1 for bug 1581655

Revision history for this message
Sean McGinnis (sean-mcginnis) wrote :

Some notes from IRC discussion:

14:53 < jimbobhickville> so, revert and execute have always required the same argument list, it was just never enforced
                         during compilation previously. this code:
https://github.com/openstack/cinder/blob/9567844f0e180a7278767fdcd4378b19913933be/cinder/volume/flows/api/manage_existing.py#L86
14:53 < jimbobhickville> `optional_args` will never have a value because it isn't required by the `execute` method
14:54 < jimbobhickville> we fixed it so that `revert` *can* take additional arguments, so long as the flow provides them
                         somehow, so we verify that all the required arguments *are* provided as part of the flow
                         compilation
14:57 < jimbobhickville> so, basically, this was a bug in cinder that taskflow just let slide previously, but if this task
                         *was* reverted, the revert would have failed because it wouldn't pass in anything for
                         `optional_args`. and if a revert of a task blows up, taskflow stops processing reverts, so any
                         tasks prior to this task would not be reverted, which is generally undesirable (and fun to debug)