-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draining contexts by criteria #253
Comments
I think we should include filters beyond the context record. A very useful one would be the UPF where the context is active (e.g. when upgrading a UPF). |
Most of the context information is totally unsuitable for a draining selection. Only the version, APN and maybe the MCC/MNC of the IMSI would make sense. There are also things missing that are not part of the context, e.g. UPF instance, IP pool, SGW and/or PGW, things from the ULI (RAI, TAU, ...) Collecting this as idea might make sense. A implementation has IMHO be delayed after the stateless work has made some progress. The move to an external storage for the session state will have a major impact on how sessions can be selected. |
apn, imsi(range), gtp-version, mccmnc √ use-case: to phase out one of n attached upfs one must be able to pick the sessions associated with it. yes, that information is not directly in the @vkatsuba please clean out the table from the attributes are not that much relevant right now. @RoadRunnr why not have a first implementation which traverses over the sessions, find a match in the context-data for the attributes and kill it? it does not have to be the optimal algorithm in the first place … and yes, if the session state is stored externally there wont be the need to traverse all session contexts. but i see this as an optimisation step. |
@mgumz, @RoadRunnr the table was updated. |
because the data will be in the UDSF and the only way to traverse that data will be a full load of all data in there into the process. I'm certain that will work well with > 100k sessions. |
No sure but looks like we do the same when try use |
With the move to USDF storage, that function has to be rewritten. And I'm not sure that we can retain that functionality at all. |
@RoadRunnr, @mgumz, @fholzhauser how we should go with this ticket and what main plan should be? |
Indeed doing this atomically is really difficult (local or UDSF). Also not practical, as draining should normally be controlled/slow(ish) to avoid excessive signalling load. To iterate through the contexts "slowly" we'd need to stop the node from accepting new requests with the same draining conditions before we start the iteration (e.g. mark an UPF or PGW to be skipped in node selection if that's a condition). In that case I think the mechanism could also be implemented with UDSF. Also I believe we might actually need this with UDSF too as long as the connectivity (SGW/PGW/UPF/AAA) is bound to particular ERGW nodes. |
During of current discussion it looks like for implementation f current task we need first of all have implementation of USDF storage and then pick up draining contexts by criteria. |
Actually, in my opinion the implementation could be started already as outlined above, and adopted to the UDSF solution later. |
I don't want this API stuff to get in the way of stateless changes. So while you could start with it, it can not be merge until the Nusdf and cluster solution is in place. |
That is a valid argument indeed. |
Ticket of |
Feature Request
criteria
:/api/v1/contexts/count?apn=xyw&imsi=some_data
/api/v1/contexts?apn=xyw&imsi=some_data
URI
is not included in the pathThe text was updated successfully, but these errors were encountered: