Opened 11 years ago

Last modified 8 years ago

#41 new enhancement

Add flag table for deciding which blocks have rDNS RPC actions done

Reported by: Kris Deugau Owned by:
Priority: major Milestone: 3.0
Version: Keywords:


Rather than hope and pray that all netblocks can and will have rDNS trackable and manageable in the IPDB, add a table recording which ranges/blocks should show the rDNS field and make the necessary RPC calls. This allows a more gradual transition from other management of rDNS to IPDB-propagated changes.

Change History (6)

comment:1 by Kris Deugau, 9 years ago

(In [753]) /trunk

Start fine-tuning flag storage for deciding if we can/should do an RPC
call for rDNS. See #41.

  • Tweak getBlockData with an additional JOIN to fill in the revavailable and revpartial fields. The dnsavail table maps various larger-than-/24 parents to sets of actual /24 reverse zones (should work fine with /16 too) to let eg suitable sets of /29 blocks in a /22 make RPC calls or not, depending on which /24 the allocation is in.
  • Add bypass return in mergeBlocks() based on revavailable or revpartial being set on the allocation. For now this is just a simple yes/no; future changes could do more complex things depending on which one was set how.

comment:2 by Kris Deugau, 9 years ago

(In [754]) /trunk

rDNS call management wrapup. See #41, #1.

Wrap almost all existing RPC calls in suitable barriers so we don't try
to make changes for IP blocks not in dnsadmin:

  • Add new allocation (any type - note, may not handle edge case of a multizone block well or at all)
  • Allocation update
  • Split block
  • Shrink block
  • Delete allocation (arguably this could be done unconditionally)

Note an exception to skipping rDNS changes when deleting a master block.

Fix a minor logic bug in getBlockRDNS; return the cached value and leave
the cached flag set if nothing was retrieved. This seems marginally less
wrong than retrieving nothing and unsetting the flag.

comment:3 by Kris Deugau, 9 years ago

(In [756]) /trunk

Update addMaster() to insert reference records in dnsavail table. See #41.

comment:4 by Kris Deugau, 9 years ago

(In [757]) /trunk

Refine "rDNS-is-available?" flags and how they're generated in
getBlockData(). See #41.

comment:5 by Kris Deugau, 9 years ago

(In [758]) /trunk

Refine calls to getBlockData() in allocateBlock() and updateBlock() for
proper sourcing and handling of rDNS-is-available flags. See #1, #41.

comment:6 by Kris Deugau, 8 years ago

(In [865]) /trunk

Further refine new install and 2.7-3.0 upgrade SQL to support multiple
copies of the same reverse zone in different VRFs that use different
DNS views. See #41.

Note: See TracTickets for help on using tickets.