Commit ec883c4f authored by Mike Roy's avatar Mike Roy
Browse files

Added use-case5 & fixed other issues

parent 4d13efa1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ The following tables list supported Endpoints for each API.
| Yes | `/applications/{appInstanceId}/services`   |     |
| Yes | `/applications/{appInstanceId}/subscriptions`   |     |
| Yes | `/transports` | |
| Yes | `<dynamic-liveness-uri>` | _Liveness URI is dynamic_ |
| No  | `<dynamic-liveness-uri>` | _- URI is dynamic_ <br> _- Not supported to avoid timeout conflicts while testing with Swagger)_ |

### Application Support API
|Supported | Endpoint |  Notes:   |
+5 −5
Original line number Diff line number Diff line
@@ -14,15 +14,15 @@ Objective:

| Operation: | Notes: |
| ---------  | ------ |
| 1a. Login via the frontend & select Sandbox tab |  |
| 1. Login via the frontend & select Sandbox tab |  |
| 2. Select a network to deploy in the user sandbox |  |
| 3a. Pre-configure ME Application with the MEC Sandbox URI (e.g. `https://try-mec.etsi.org/<my-sandbox-key>/`) <br><br> _Note: for readability, URI is replaced by `.../` in next steps_ | |
| 3b. Pre-configure ME Application with an Application Instance ID <br> (e.g. `appInstanceId`) | In order to create subscriptions at step 6, an `appInstanceId` is required <br><br> MEC Platform Manager (MEPM) usually assigns `appInstanceId` to running applications<br><br> To support external user applications, the `appInstanceId` has to be generated from the frontend |
| 3a. Pre-configure ME Application with Application Enablement service endpoints | Endpoints: <li>`https://try-mec.etsi.org/<my-sandbox-key>/mec_app_support/v1`<li>`https://try-mec.etsi.org/<my-sandbox-key>/mec_service_mgmt/v1` <br><br>_Note: for readability, endpoint URIs are replaced by `.../`_|
| 3b. Pre-configure ME Application with an Application Instance ID (e.g. `appInstanceId`) | MEC Platform Manager (MEPM) usually assigns `appInstanceId` to running applications <br><br> To support external user applications, the `appInstanceId` has to be generated from the frontend |
| 4. Start ME App or environment |  ME App knows nothing about available MEC services <br><br> In the following steps, ME App will learn MEC services availability via Mp1 interface |
| 5. `GET .../services` | ME App discovers there are 3 services available (Location/RNIS/WAIS) with their respective URIs <br><br> ME App decides to start using discovered Location service. |
| 5. `GET .../services` | ME App discovers there are 3 services available (Location/RNIS/WAIS) with their respective URIs <br><br> ME App starts using discovered Location service. |
| 6. `POST .../applications/{appInstanceId}/subscriptions` | ME App wants to learn about service availability changes for Location service <br><br> ME App stores the returned subscription id for future subscription management
| 7. Disable Location service from the frontend | ME App is notified of Location service un-availability and stops using it |
| 8. Enable Location service from the frontend | ME App is notified of Location service availability and starts using it
| 9. Stop my ME App | |
| 9. Stop ME App | |
| 10. Terminate scenario | |
| 11. Logout of  MEC Sandbox |  |
+6 −6
Original line number Diff line number Diff line
@@ -13,16 +13,16 @@ Objective:

| Operation: | Notes: |
| ---------  | ------ |
| 1a. Login via the frontend & select Sandbox tab |  |
| 1. Login via the frontend & select Sandbox tab |  |
| 2. Select a network to deploy in the user sandbox |  |
| 3a. Pre-configure ME Application with the MEC Sandbox URI (e.g. `https://try-mec.etsi.org/<my-sandbox-key>/`) <br><br> _Note: for readability, URI is replaced by `.../` in next steps_ | |
| 3b. Pre-configure ME Application with an Application Instance ID <br> (e.g. `appInstanceId`) | In order to offer a service, an `appInstanceId` is required <br><br> MEC Platform Manager (MEPM) usually assigns `appInstanceId` to running applications<br><br> To support external user applications, the `appInstanceId` has to be generated from the frontend |
| 3a. Pre-configure ME Application with Application Enablement service endpoints | Endpoints: <li>`https://try-mec.etsi.org/<my-sandbox-key>/mec_app_support/v1`<li>`https://try-mec.etsi.org/<my-sandbox-key>/mec_service_mgmt/v1` <br><br>_Note: for readability, endpoint URIs are replaced by `.../`_|
| 3b. Pre-configure ME Application with an Application Instance ID (e.g. `appInstanceId`) | MEC Platform Manager (MEPM) usually assigns `appInstanceId` to running applications <br><br> To support external user applications, the `appInstanceId` has to be generated from the frontend |
| 4. Start ME App or environment |  In the following steps, ME App will register a service via Mp1 interface |
| 5. `POST .../applications/{appInstanceId}/confirm_ready` | ME App indicates readiness to the MEC platform |
| 6. `POST .../applications/{appInstanceId}/services` | ME App creates its service on the MEC platform <br><br> From this point, other ME Apps can discover the  newly offered service and can start using it <br><br> _Note: the URI provided needs to be reachable by other ME Apps to allow usage_|
| 7. `PATCH .../<dynamic-liveness-uri>` | ME App sends periodic keep alive to MEC platform |
| 6. `POST .../applications/{appInstanceId}/services` | ME App creates its service resource on the MEC platform |
| 7. Use newly exposed service | From this point, other ME Apps can discover, use, subscribe to the  newly offered service <br><br> _Note: at the network level, the URI provided needs to be reachable by other ME Apps to allow usage_  |
| 8. `DELETE .../applications/{appInstanceId}/services` | ME App terminates its service, application is still running |
| 9. `POST .../applications/{appInstanceId}/confirm_termination` | ME App indicates termination to the MEC platform
| 9. Stop my ME App | |
| 9. Stop ME App | |
| 10. Terminate scenario | |
| 11. Logout of  MEC Sandbox |  |
+35 −0
Original line number Diff line number Diff line
# Use case for MEC application using "scope of locality"

This section describes a use case that the user can accomplish using the MEC Sandbox APIs from a MEC application

Objective:
  * As a MEC Sandbox User, I have an ME App that can execute in different MEC platforms with different localities.
    * `mep1` locality is Zone 1 & 2
    * `mep2` locality is Zone 3 & 4
  * ME App can register in one of the MEC platform to discover available MEC services
  * ME App learns that
    * Location service is available at the _ZONE_GROUP_ level
      * total of 2 instances; 1 instance per MEC platform
    * RNIS, WAIS are available at the _MEC_SYSTEM_ level
      * total of 1 instance of each; available in all zones
  * ME App use the discovered services

>_Note: The dataset available from Location service varies depending on its locality - each instance has a dataset covering its own locality only_

*See [user interface wireframes](../Sandbox-User-Interface#mec-sandbox-wireframe) for frontend details*

| Operation: | Notes: |
| ---------  | ------ |
| 1. Login via the frontend & select Sandbox tab |  |
| 2. Select the `dual-mec-nodes` network to deploy in the user sandbox | `dual-mec-nodes` scenario has `mep1` for Zone 1 & 2 locality and `mep2` for Zone 3 & 4 locality <br><br> Each node runs an instance of Location service with its own dataset; RNIS & WAIS are MEC system wide services.
| 3a. Pre-configure ME Application with Application Enablement service endpoints | Endpoints: <li>`https://try-mec.etsi.org/<my-sandbox-key>/mec_app_support/v1`<li>`https://try-mec.etsi.org/<my-sandbox-key>/mec_service_mgmt/v1` <br><br>_Note: for readability, endpoint URIs are replaced by `.../`_|
| 3b. Pre-configure ME Application with an Application Instance ID (e.g. `appInstanceId`) | MEC Platform Manager (MEPM) usually assigns `appInstanceId` to running applications <br><br> To support external user applications, the `appInstanceId` has to be generated from the frontend <br><br> Generating the `appInstanceId` asks for the locality of the ME App (e.g. `mep1` or `mep2`)|
| 4. Start ME App or environment |  ME App knows nothing about available MEC services <br><br> In the following steps, ME App will learn MEC available services via Mp1 interface |
| 5. `GET .../services` | ME App discovers there are 3 services available (Location/RNIS/WAIS) with their respective URIs <br><br> Location service URI corresponds to the locality of the ME App<br><br> ME App starts using discovered Location service. |
| 6. `POST .../applications/{appInstanceId}/subscriptions` | ME App wants to learn about service availability changes for Location service <br><br> ME App stores the returned subscription id for future subscription management
| 7a. Disable Location (same locality as ME App) from the frontend | ME App is notified of Location service un-availability and stops using it |
| 7b. Disable Location (different locality as ME App) from the frontend | ME App is not notified of Location service un-availability |
| 8. Enable Location service (same locality as ME App) from the frontend | ME App is notified of Location service availability and starts using it
| 9. Stop ME App | |
| 10. Terminate scenario | |
| 11. Logout of  MEC Sandbox |  |