Currently, if the cartridge migration times out after the version of a cartridge is updated (or anything else goes wrong that fails the migration), re-entrancy is broken. What the means is that although the migration hasn't finished, the need to continue migrating will not be detected.
Fix available in master now.
Verified on devenv_3580 Steps: 1. Create a diy application, edit its 'start' action hook, add 'sleep 600'. 2. Migrate all gears on node oo-admin-upgrade --version 2.0.31 --ignore-cartridge-version During migration, noticed that the target app failed to migrate due to timeout problem. 3. Fix the app and migrate with --rerun option oo-admin-upgrade --version 2.0.31 --ignore-cartridge-version --rerun The migrator only pick up the failed gear and migrated it successfully. Mark as verified.