cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
476
Views
0
Helpful
0
Replies

Resource Manager/ID Allocator and issues with excluded ranges.

Jason S.
Level 1
Level 1

I'm using the ID allocator from the resource manager package to assign service IDs for NSO provisioned Nokia services.  I have a bunch of brownfield services, so I've set a range of valid IDs and a large exclude range so that all greenfield services are being assigned to the upper portion of the valid range.  This is what the initial config looks like:

id-pool evi_id {
range {
start 1;
end 65534;
}
exclude 1 39999;

Greenfield services just take the next available ID in the pool, starting at 40000, and this works fine.  Now I'm working on trying to integrate the brownfield services, by requesting a specific ID and altering the exclude ranges to poke holes for those IDs.  The problem is that when I modify the exclude ranges, the id-allocator doesn't seem to respect those exclusions, and if I ask for the next available ID, I'm getting IDs that should be in an excluded range.  Below shows an example of what I'm getting:

run show id-allocator | display xpath
/id-allocator/pool[name='evi_id']/exclude[start='1'][end='8000']
/id-allocator/pool[name='evi_id']/exclude[start='8002'][end='9999']
/id-allocator/pool[name='evi_id']/exclude[start='10001'][end='39999']
/id-allocator/pool[name='evi_id']/available[start='2'][end='8001']
/id-allocator/pool[name='evi_id']/available[start='40002'][end='65534']
/id-allocator/pool[name='evi_id']/allocation[id='1']
/id-allocator/pool[name='evi_id']/allocation[id='10000']
/id-allocator/pool[name='evi_id']/allocation[id='40000']
/id-allocator/pool[name='evi_id']/allocation[id='40001']

The available ranges don't align with the excluded ranges.  If I do a package reload, the id-allocator seems to figure itself out and the available ranges properly align, but obviously it's not practical or proper to do that every time we want to configure a brownfield service. 

Originally this was all being done programmatically via service packages, but when I noticed this in testing, I found the same behavior if I change the id pool exclude settings and make the allocation requests by hand.  This looks like a bug with the resource manager/id allocator, something isn't updating properly.  Based on the documentation, having multiple available/excluded blocks should be something within the package capability. 

Is there something I'm missing or not doing that I should be when I update the exclude ranges?

0 Replies 0