~andreserl/maas/lp1665143

Viewing all changes in revision 4411.2.9.

  • Committer: Mike Pontillo
  • Date: 2015-10-30 10:48:25 UTC
  • mto: This revision was merged to the branch mainline in revision 4445.
  • Revision ID: mike.pontillo@canonical.com-20151030104825-pn3cyus4ht55jgc0
Networking constraints refactoring (part 1).

 * Rename methods in NodeQueriesMixin to better match Django conventions.
 * Refactor Subnets to use a new SubnetQueriesMixin class.
 * Refactor common query mixin logic to a common superclass.
 * Rename get_subnets_with_ip() to raw_subnets_containing_ip() to make it more clear that it returns a raw query.
 * Add specifier-based Subnet queries (now used for networking constraint matching).
 * Remove legacy subnet specifier handling code
   * Disable legacy subnet specifier tests dealing with multiple constraint matching
     (this logic will be moved to the interfaces= constraint, since it is specific to individual interfaces)
 * Remove legacy 'networks' form fields
   * Add backward-compatibility handling to use 'subnets' for these fields
     (we may want to remove this completely, since it behaves slightly differently)
 * Add fabrics, not_fabrics, fabric_classes, and not_fabric_classes constraints.
   * Fabric name handling only works for user-specified names currently, and must be fixed in a follow-on commit.
   * No validators have been implemented yet for fabric and fabric class constraints; again, this will happen in a follow-on commit.
 * Add 'space' specifier to subnet constraints.
 * Add 'cidr' specifier to subnet constraints.
 * Change default behavior of subnet constraints to first match on CIDR, then try matching on name if no match is found.
 * Move generic hex/decimal integer parsing code into its own utility function.
 * Add PyCharm inspection profiles for Node and Subnet query mixins.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: