Skip to content
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

Merged
merged 6 commits into from
Feb 23, 2022

Conversation

daniele-moro
Copy link
Collaborator

No description provided.

@daniele-moro daniele-moro changed the title Verify the presence of slice ID via slicing manager when installing UPF entities [SDFAB-985] Verify the presence of slice ID via slicing manager when installing UPF entities Feb 17, 2022
@codecov
Copy link

codecov bot commented Feb 17, 2022

Codecov Report

Merging #493 (a085fb6) into main (16efdb0) will increase coverage by 0.04%.
The diff coverage is 100.00%.

Impacted file tree graph

@@             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              
Impacted Files Coverage Δ
...abric/tna/behaviour/upf/FabricUpfProgrammable.java 60.72% <100.00%> (+0.55%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 16efdb0...a085fb6. Read the comment docs.

@@ -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 {
Copy link
Collaborator

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.

Copy link
Collaborator Author

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.

Copy link
Collaborator

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 ?

Copy link
Collaborator Author

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

Copy link
Collaborator Author

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.

Copy link
Collaborator

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

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

@pierventre pierventre left a 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

@daniele-moro daniele-moro merged commit 694e7d0 into main Feb 23, 2022
@daniele-moro daniele-moro deleted the config_slice_id branch February 23, 2022 10:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants