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

TI API: Resource modification #296

Merged
merged 3 commits into from
Oct 9, 2024

Conversation

FabrizioMoggio
Copy link
Collaborator

Resource modification while action is still in progress.

What type of PR is this?

  • enhancement/feature
  • documentation

What this PR does / why we need it:

The PR improves the error handling when the API Consumer invokes the TI API for the same Device-AppId if the previous requests are not completed yet.

Which issue(s) this PR fixes:

Resource modification while action is still in progress: #291

Resource modification while action is still in progress: camaraproject#291
@FabrizioMoggio
Copy link
Collaborator Author

It is used: GENERIC_409_DENIED_WAIT

traffic filter based on IP, Port and Protocol can be used. I this way it is
also possible to redirect different users to different interfaces.
Here are some possible intents:
1) activate the optimal routing for the closest EAS instance: the TI API
Copy link
Collaborator

Choose a reason for hiding this comment

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

A question on 1) when we say "activate the optimal routing for the closest EAS instance".

Does it mean that if the TI API (step 1) is triggered by a UE application and after that it may need to wait for the TI resource state to become "active". Once the state is "active" the UE application can assume that the UE may been moved to the optimal UPF near to the given EAS serving that location which is the job of the TI API.
Now in this active state the UE application can find endpoint of the EAS instance (i.e. appId) by using the Application Endpoint discovery API (step 2) which I presume that will deliver the EAS instance which is optimal or closest to UE as the earlier call to TI API was successful and hence due to right UPF assignment the traffic will be automatically optimally routed to EAS.

The above explanation is in relation to ongoing discussion #293 and written to clarify following points,

  1. The UE can only send traffic to an EAS whose IP is available to it before starting any traffic towards the EAS
  2. Once a packet has been generated with a given destination IP, this packet can only be processed by the host or an application (EAS) on that host
  3. There may be multiple routes between a given set of source and destination address with different traits in terms of QoS

My understanding is that TI API is mainly concerned with point 3 where it can attempt or influence network to reselect a UPF for a UE which can optimally serve a given UE trying to access an EAS in its current location.
Any traffic from UE via this UPF to an EAS which is hosted to an edge cloud accessible via this UPF is assumed to be on "optimal routed".
Hence once the TI API is successful then the UE needs to determine the EAS IP via other ways to as explained above but it is not the TI API task to deliver the EAS endpoints to UE.

I may be repeating the statements but only objective is to understand what actions are to be done in my API client application and what is to be taken care in the TI API implementation.

If require I may prepare few slides to explain and get your views.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Hi @gunjald @FabrizioMoggio , If you want, Deepak could prepare few slides and I can reserve some slot on our meeting and disscus about this topic. Maybe tomorrow is a lit bit hasty, next meeting on october first, could fit for you??

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

According to my understanding of the "story" described by @gunjald, his conclusion is correct.

  • The optimal routing is active only when the TI API invokes the callback to inform the API Consumer about the "active" status
  • From that moment the Service can instruct the App Client on which is the destination for the communication flow.
  • That destination must be the same used in the TI API invocation.
  • with: TI API: destination EAS IP address #294. The task for the Service will be easier
  • When the App Client generates a flow toward that destination the network had already setup the optimal routing.

@JoseMConde for sure we can discuss about this in the next Edge Cloud call

One note: is this discussion preventing to approve this PR? The text we are commenting was already in the YAML, just moved to improve readability. The actual value of this PR is in the new error introduced (GENERIC_409_DENIED_WAIT) that prevents the modification of a requested intent while it is still under implementation. I suggest to approve this PR and we can open a new issue related to this discussion if required.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Hi @FabrizioMoggio,
You are totally right, we can approve this PR and open a new issue with this topic. I also agree with you about the conclusions of the Deepak's explanation, but maybe It makes sense to open this issue to see what the rest of the group thinks about it.
Could you do it for me??
Thanks. :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done: #309

@FabrizioMoggio FabrizioMoggio changed the title Resource modification TI API: Resource modification Sep 26, 2024
code: CONFLICT
message: A specified resource duplicate entry found.
GENERIC_409_DENIED_WAIT:
description: Specific conflict situation that is relevant in
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This text must be updated and specialized for the TI API

@FabrizioMoggio
Copy link
Collaborator Author

Are you fine with the usage of error 409?

@FabrizioMoggio FabrizioMoggio merged commit 34cecc7 into camaraproject:main Oct 9, 2024
2 checks passed
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.

4 participants