launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #08870
[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