While it's been mentioned a number of times before (ref: #1182884: Platform comparisons may be stale, result in broken migration & #956998: rename (and perhaps clone) should not invoke provision-deploy (or avoid invoking drush updatedb)), we sometimes see modules de-activated (almost) silently when a site is migrated to a platform that's missing an active module. I believe this behaviour is in Drupal core itself, and no doubt for good reasons.

However, when mass migrating sites from one platform to another, there is little indication that such a thing has occurred. You basically need to go through the migration task logs one at a time looking for warnings. Aegir will flag these as warnings before-hand, when migrating an individual site, and in platform comparisons. Note that this requires a verification of the site, to ensure its list of active modules is up-to-date.

After some discussion at Koumbit, we've come up with several alternatives. Most would be complementary, rather then mutually exclusive, but any one would help solve this problem.

  1. Implement a "strict mode" (on sites), that would flag active modules that are missing in the target platform as errors, rather than warnings. This should, in turn, block migration until the problem is resolved, or strict mode is disabled for the site.
  2. On completion of any migration that disables modules, have the task show up as a warning (yellow) in the task queue, indicating that it needs attention (implemented in: #1929372: Flag tasks with logged warnings)
  3. Provide a 'compare platforms' feature for mass migrations. Instead of just listing potential target platforms, also list how many sites would potentially have errors and warnings. Then, present a list of sites, presented similarly to 'compare platforms', showing which sites would have errors or warnings. One could then choose which sites to migrate from that list.

We'd welcome feedback from others on this topic, whether it be preferences or implementation suggestions regarding the above options, or other alternatives.


ergonlogic’s picture

omega8cc’s picture

Our solution in BOA is to automatically run extra verify tasks for both source and target platform and the site itself as a part of migration task, so before it effectively proceeds with migration, Aegir internal database related to both platforms and the site gets updated. It also solves other issues.

See for reference: http://drupalcode.org/project/barracuda.git/blob/HEAD:/CHANGELOG.txt#l417

The patch: http://drupal.org/node/1004526#comment-5843080

ergonlogic’s picture

Version: 6.x-2.x-dev » 7.x-3.x-dev
Component: User interface » Code
Status: Active » Postponed (maintainer needs more info)

The essential problem from the initial feature request was resolved by #1929372: Flag tasks with logged warnings. That is, modules silently disabled during migrations now flag the migration task with a warning. (1) and (3) remain interesting, but neither will make it into Aegir 2.

ergonlogic’s picture

Issue summary: View changes