Opened 12 years ago

Closed 6 years ago

#7 closed enhancement (fixed)

Block munging - "split this block" and "shrink this block"

Reported by: Kris Deugau Owned by:
Priority: minor Milestone: 3.0
Version: Keywords:
Cc:

Description (last modified by Kris Deugau)

Allow an existing allocation to be split or shrunk instead of having to deallocate and reallocate

Change History (9)

comment:1 Changed 7 years ago by Kris Deugau

Milestone: 3.0

comment:2 Changed 7 years ago by Kris Deugau

(In [702]) /trunk

Add "split block" feature. See #7. May still need a little tweaking
("List IPs" link for pools, refiddle rDNS template records?)

Also stubbed out "shrink block" (branch for "split block"), and added
a placeholder for "merge blocks".

comment:3 Changed 7 years ago by Kris Deugau

(In [705]) /trunk

  • Complete internal handling for "shrink block". See #7 (more or less).
  • Add "breadcrumb" navigation fragments to split/shrink prep and do pages
  • Add link to pool IP list on edit and split/shrink prep pages
  • Shave off some useless code showing the split results
  • Catch the theoretically impossible case of "no subact value" on submitting split/shrink form

Still need to add calls to monkey rDNS on split/shrink changes

comment:4 Changed 7 years ago by Kris Deugau

(In [707]) /trunk

Add rDNS update call for splitBlock(). Requires dnsadmin:trunk/@r680
for new RPC sub splitTemplate. See #7.
IPDB::splitBlock() required a change in argument handling to make sure
all the necessary bits got through where needed for the RPC call.

comment:5 Changed 7 years ago by Kris Deugau

Description: modified (diff)
Summary: Block munging - "split this block"Block munging - "split this block" and "shrink this block"

comment:6 Changed 7 years ago by Kris Deugau

(In [713]) /trunk

Review and revise splitBlock() and shrinkBlock() to properly handle
n-depth nested allocation structures, as well as making sure master
blocks can be shrunk or split without leaving dangling data. See #7.

comment:7 Changed 7 years ago by Kris Deugau

(In [739]) /dev

Fix a lurking bug before I forget; splitting a largish container with
mostly free space would result in mangled free blocks. Any block larger
than the split size needs to be split as well and distributed between the
appropriate containers. See #7.

comment:8 Changed 6 years ago by Kris Deugau

(In [775]) /trunk

Further tweak splitBlock() to handle a contained block the same size as
its container - may be a common case in legacy data. Still leaves more
deeply nested same-sized container trees hanging but those should be
rare enough than manual intervention can patch it up well enough. See #7.

comment:9 Changed 6 years ago by Kris Deugau

Resolution: fixed
Status: newclosed

Resolving this ticket as "Feature implemented"

Note: See TracTickets for help on using tickets.