← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~jtv/maas/migrate-node into lp:maas

 

The proposal to merge lp:~jtv/maas/migrate-node into lp:maas has been updated.

Description changed to:

As per the migration plan.  But, this is the odd one out: to minimize spurious painful conflicts from code being removed in one place and identical code being added in another — what the plan calls “airstrikes” — I renamed src/maasserver/models/__init__.py to src/maasserver/models/node.py and then moved everything that doesn't belong there into a new src/maasserver/models/__init__.py.  That way most of the code in Node and NodeManager, which is some of our most intense code maintenance-wise, sees only minimal changes.

Since this is a long diff, let me run you through the changes and especially the non-changes that you don't need to pore over in detail!

 * now() was only used in one non-test module: timestampedmodel.  Yes it _could_ be used more generically but we always assumed there are probably more performance-effective alternatives out there.  For now I just encapsulated it in with TimestampedModel.  It's not exported.  In flagrant violation of my no-other-changes policy for these branches, I added a docstring — but the code has not changed.

 * get_db_state() is now in maasserver.utils.  Arguably this belongs in a separate maasserver.models.utils, but I didn't feel that would carry its weight right now.  The code has not changed.

 * Some imports moved into methods, from the module level.  This is as per the migration plan.  I may have done more of it than is strictly needed right now, but circular imports are costly to diagnose and resolve so prevention is valuable.

 * All the other boilerplate from __init__.py is just moved, but not changed.  There are no changes in MAASAuthorizationBackend, for instance.

 * There's no need to import NODE_TRANSITIONS into, and then re-export from, __init__.py just to appease South.  So I kept it in node.py.  Code that imports it must import it from maasserver.models.node.

 * Pretty much everything else is imports.  Boring, but probably easily reviewed!

Jeroen

For more details, see:
https://code.launchpad.net/~jtv/maas/migrate-node/+merge/110455
-- 
https://code.launchpad.net/~jtv/maas/migrate-node/+merge/110455
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~jtv/maas/migrate-node into lp:maas.


References