#8 closed enhancement (fixed)
Block munging - "merge blocks"
Reported by: | Kris Deugau | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | 3.0 |
Version: | Keywords: | ||
Cc: |
Description (last modified by )
Allow merging arbitrary sets of contiguous allocations plus free blocks to create new allocations or allocation trees. The most common use case will likely be extending an allocation into adjacent free space, or merging adjacent allocations given to the same customer, but several other actions are supported:
- Extend a container so that previously adjacent leaf or container allocations are now children
- Extend a container across adjacent allocations, deleting only immediate peer allocations but keeping all suballocations
- Extend a container across adjacent allocations, deleting all allocations involved except those within the original allocation
- Extend a container across adjacent allocations, deleting all suballocations within the new allocation
- Merge a group of leaf allocations into a single leaf allocation
Also supports type conversion, preserving data or deleting it much as above depending on the original and target types. Keeping existing data when converting to IP pools will result in all IPs in the existing allocations being flagged as "used" and filled with the information from the original allocation. Converting from an IP pool to a container type creates /32 allocations for each IP.
Change History (28)
comment:1 by , 10 years ago
Milestone: | → 3.0 |
---|
comment:2 by , 10 years ago
Description: | modified (diff) |
---|
comment:3 by , 10 years ago
comment:4 by , 10 years ago
comment:5 by , 10 years ago
comment:6 by , 10 years ago
comment:7 by , 10 years ago
comment:8 by , 10 years ago
comment:9 by , 10 years ago
comment:10 by , 10 years ago
comment:11 by , 10 years ago
comment:12 by , 10 years ago
comment:13 by , 10 years ago
(In [733]) /trunk
Cleanup while rechecking merge-to-container in UI:
- Move descriptive strings for merge scopes into a hash in IPDB.pm, so we don't have to update them everywhere every time they might change... now that most of the changes are done, of course.
- Refiddle listForMerge's freeblock branch to show only direct children, or all free blocks depending on another optional argument.
- Render previous point pointless due to dropping freeblocks from the return list of merged blocks anyway, because Confusion.
- Force scope as well as type when merging a master block. Merging any other type in a way that happens to intersect a master remains undefined.
- Make sure to capture the blocks merged/deleted for return.
- Fix up some variable names for consistency.
- Fix stupid typo missed in r732.
See #8.
comment:14 by , 10 years ago
comment:15 by , 10 years ago
comment:18 by , 10 years ago
comment:19 by , 10 years ago
comment:20 by , 10 years ago
(In [745]) /trunk
Add a flag to _toPool() to indicate whether to return all of the
allocations converted. Defaults to "off", but required so that rDNS
deletes can be called with the complete list of leaf blocks converted.
Also return type code of merged/returned blocks for further internal
processing.
See #8.
comment:21 by , 10 years ago
comment:22 by , 10 years ago
comment:23 by , 10 years ago
comment:24 by , 10 years ago
comment:25 by , 10 years ago
comment:26 by , 9 years ago
comment:27 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Resolving this ticket as "Feature implemented"
(In [717]) /trunk