-
Notifications
You must be signed in to change notification settings - Fork 15
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
[SDFAB-985] Verify the presence of slice ID via slicing manager when installing UPF entities #493
Conversation
Codecov Report
@@ Coverage Diff @@
## main #493 +/- ##
============================================
+ Coverage 69.82% 69.86% +0.04%
- Complexity 725 727 +2
============================================
Files 63 63
Lines 4755 4762 +7
Branches 527 527
============================================
+ Hits 3320 3327 +7
Misses 1159 1159
Partials 276 276
Continue to review full report at Codecov.
|
@@ -975,4 +981,13 @@ private boolean isHereToStay(Meter meter) { | |||
return meter.state().equals(MeterState.PENDING_ADD) || | |||
meter.state().equals(MeterState.ADDED); | |||
} | |||
|
|||
private void assertSliceId(int sliceId) throws UpfProgrammableException { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we make any attempt to fix this ? Like the lazy initialization we did some time ago for the init of the programmables.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure I got your point. Slice IDs are provided in the netcfg to the slicing manager.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
well we have the config loader that eventually will fix the issue after a reconciliation cycle. What happens in this timeframe ? Is it ok to just fail ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With some assumptions it should be OK to fail:
- slice ID 0 (DEFAULT) is always available, since is provided at activation time. So DBUF interface can always be installed by UP4 (as long as we use the default slice ID)
- PFCP-agent will always install first entries in the interfaces table, and then will insert other entries. In case of failure in inserting interfaces entries, it will retry later (cc. @osinstom)
- The slice ID use in the applications table (another table, whose insert may fail due to this assert) will always be one of the slice IDs used in the interfaces table
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If instead N3 and N6 interfaces are provided in the UP4 netcfg, we have the lazy setup in place in UP4 that should recover from this failure if it happens.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If instead N3 and N6 interfaces are provided in the UP4 netcfg, we have the lazy setup in place in UP4 that should recover from this failure if it happens.
And we support config update as well in UP4 - so the reconcile of the config loader can fix this as well beforehand
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ccascone @charlesmcchan @osinstom are we good ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Carmelo already approved. Feel free to merge it, unless you want to hear from @osinstom
No description provided.