Commit a8875517 authored by Robert Gazda's avatar Robert Gazda
Browse files
Update to Macro Network Scenario
parents 1c347629 647e10c5
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -30,21 +30,21 @@ It is expected that user manually configures its ME App with MEC Service endpoin

| Operation | User Story(s) | Notes |
|---------- | --------------------------------------- | ----- |
| Access | As a Sandbox User...<br><br>...I can **learn** about ETSI MEC Services and the MEC Sandbox without having to sign in my "ETSI Forge Dev"<br><br>... I can **sign-in** with my "ETSI Forge Dev" account from the sandbox portal to start my user sandbox instance<br><br> ... I can **access** my user sandbox instance in isolation from other users after I have signed in to my "ETSI Forge Dev" account<br><br>... I can **sign out** from my "ETSI Forge Dev" account to terminate my sandbox instance| **OPEN --> "ETSI Forge Dev" account integration information needed.** <br><br>STF assumes that Forge will provide:<li>HTTPS certificate<li>Global DNS MEC Sandbox registration<li>user signup & authentication code/integration instructions<li>authentication token (TBD - required?)
| Access | As a Sandbox User...<br><br>...I can **learn** about ETSI MEC Services and the MEC Sandbox without having to sign in my "ETSI Forge Dev"<br><br>... I can **sign-in** with my "ETSI Forge Dev" account from the sandbox portal to start my user sandbox instance<br><br> ... I can **access** my user sandbox instance in isolation from other users after I have signed in to my "ETSI Forge Dev" account<br><br>... I can **sign out** from my "ETSI Forge Dev" account to terminate my sandbox instance| **OPEN --> "ETSI Forge Dev" account integration information needed.** <br><br>STF assumes that Forge will provide:<br>- HTTPS certificate<br>- Global DNS MEC Sandbox registration<br>- user signup & authentication code/integration instructions<br>- authentication token (TBD - required?)
| Configuration | As a Sandbox User...<br><br>... I can **select** the scenario that is executed in my sandbox instance<br><br>... I can **configure** execution parameters for the selected scenario | See [MEC Sandbox Wireframe](#mec-sandbox-wireframe) for configuration points|
| Control | As a Sandbox User...<br><br>... I can **start** my sandbox scenario<li>emulated terminals start moving<li>MEC Service APIs endpoints return valid data<li>etc.<br><br>... I can **observe** execution state of my scenario in real-time<li>UE location on the map<li>PoA location on the map<li>etc.<br><br>... I can **pause** scenario execution at any moment to statically observe MEC Service API endpoint results<li>UEs stop moving<li>MEC Service endpoints return valid data<br><br>... I can **resume** scenario execution<li>terminals start moving from their current position<br><br>... I can **restart** scenario execution<li>UEs return to their initial position<li>no state is retained & scenario starts"fresh"<br><br>... I can **terminate** scenario execution<li>no state is retained<li>selecting another scenario terminates current| See [MEC Sandbox Wireframe](#mec-sandbox-wireframe) for more information. |
| External MEC Client application | As a Sandbox User... <br><br>... I can **configure** my ME App using sandbox specific endpoint information presented to me<br><br>... I can **observe**, in my ME App, valid response & notifications received from MEC Services<li>reflecting state of selected scenario<br><br>... I can **observe**, in the browser, all requests/responses/notifications exchanged between my ME App and the MEC Services<li>REST request/responses/notifications<li>facilitate debugging/observability<li>useful if user cannot provide callback URL<br><br>... I can **compare** API response/notifications shown in the browser or in my ME App with the current state of my scenario| Questions:  <br><br> <li>Should sandbox API endpoints stay consistent across sandbox access (i.e. log-in sessions)?<li>We want to differentiate sandbox endpoints using a path parameter (UUID/access token) and an Ingress Controller for L7 HTTP request routing - any issue with this?<li>Subscription Notifications will require user to provide callback URLs that the Sandbox can call (e.g. users may be behind firewalls, NAT's, etc.)<br><br>  **OPEN -->  Support for External MEC Clients and requirements to put on Sandbox Users.**    |
| Browser MEC Client application | As a Sandbox User...<br><br>... I can **exercise** MEC Service API endpoints without having to create my own environment (i.e. ME App)<br><br>... I can **observe**, in the browser, all requests/responses/notifications exchanged between the browser client and MEC Services<li>REST request/responses/notifications<li>facilitate observability<br><br>... I can **compare** API response/notifications shown in the browser with the current state of my scenario|<li>Swagger UI client (same as Forge) to trigger requests & responses<li>SwaggerUI client configured to communicate with user sandbox<li>Notification callbacks can be observed in UI Notifications window|
| Control | As a Sandbox User...<br><br>... I can **start** my sandbox scenario<br>- emulated terminals start moving<br>- MEC Service APIs endpoints return valid data<br>- etc.<br><br>... I can **observe** execution state of my scenario in real-time<br>- UE location on the map<br>- PoA location on the map<br>- etc.<br><br>... I can **pause** scenario execution at any moment to statically observe MEC Service API endpoint results<br>- UEs stop moving<br>- MEC Service endpoints return valid data<br><br>... I can **resume** scenario execution<br>- terminals start moving from their current position<br><br>... I can **restart** scenario execution<br>- UEs return to their initial position<br>- no state is retained & scenario starts"fresh"<br><br>... I can **terminate** scenario execution<br>- no state is retained<br>- selecting another scenario terminates current| See [MEC Sandbox Wireframe](#mec-sandbox-wireframe) for more information. |
| External MEC Client application | As a Sandbox User... <br><br>... I can **configure** my ME App using sandbox specific endpoint information presented to me<br><br>... I can **observe**, in my ME App, valid response & notifications received from MEC Services<br>- reflecting state of selected scenario<br><br>... I can **observe**, in the browser, all requests/responses/notifications exchanged between my ME App and the MEC Services<br>- REST request/responses/notifications<br>- facilitate debugging/observability<br>- useful if user cannot provide callback URL<br><br>... I can **compare** API response/notifications shown in the browser or in my ME App with the current state of my scenario| Questions:  <br><br> <br>- Should sandbox API endpoints stay consistent across sandbox access (i.e. log-in sessions)?<br>- We want to differentiate sandbox endpoints using a path parameter (UUID/access token) and an Ingress Controller for L7 HTTP request routing - any issue with this?<br>- Subscription Notifications will require user to provide callback URLs that the Sandbox can call (e.g. users may be behind firewalls, NAT's, etc.)<br><br>  **OPEN -->  Support for External MEC Clients and requirements to put on Sandbox Users.**    |
| Browser MEC Client application | As a Sandbox User...<br><br>... I can **exercise** MEC Service API endpoints without having to create my own environment (i.e. ME App)<br><br>... I can **observe**, in the browser, all requests/responses/notifications exchanged between the browser client and MEC Services<br>- REST request/responses/notifications<br>- facilitate observability<br><br>... I can **compare** API response/notifications shown in the browser with the current state of my scenario|<br>- Swagger UI client (same as Forge) to trigger requests & responses<br>- SwaggerUI client configured to communicate with user sandbox<br>- Notification callbacks can be observed in UI Notifications window|

## MEC Sandbox Wireframe
| Id | Notes | Wireframe|
| Id | Description | Wireframe|
|---------- | --------------------------------------- | ----- |
| SBox01 | MEC Sandbox landing page<li>Presents information about the MEC sandbox & opportunity to sign in<li>User Sandbox is disabled on the sidebar<li>Clicking on ETSI logo: redirects to `https://forge.etsi.org/`<li>Clicking on sign in:  user is redirected to the "ETSI Forge Dev" sign in page -- TBD<li>Footer is the same as the one seen on `https://forge.etsi.org/`  |![SBox01](SBox01.png)
| SBox02 | Post sign in<li>Sign in button changes to sign out<li>User sandbox link in the sidebar becomes activated | ![SBox02](SBox02.png)
| SBox03 | User selects the “User Sandbox” in the sidebar<li>Sandbox is shown in main area - with a Map, Configuration and API Console area<li>Map Area: shows a default location (Monaco / ETSI headquarters - TBD)<li>Configuration area: Network drop-down is enabled (no network selected), all other controls disabled<li>API Console: MEC API dropdown is enabled, selecting another API updates the "Try-It from your MEC Application" URL |![SBox03](SBox03.png)
| SBox04 | Configuration Area<li>Selecting a scenario starts the execution & enables other controls<li>**Pause** - Dinamically start/stop UE movement<li>**Stationary UE selector** - Dynamically pick number of UEs (camera,sensor,etc.)- Default 1, Max TBD<li>**Low Velocity UE**-  Dynamically pick number UEs (pedestrian) - Default 1, Max TBD<li>**High Velocity UE**- Pick number UEs (car) - Default 1, Max TBD|![SBox04](SBox04.png)
| SBox05a | API Console - Try-It portion<li>**MEC API dropdown** select a supported MEC API - influence both Try-it links<li>**Try-It in the browser** - Link opens a Swagger UI window configured for the current user sandbox<li>**Try-It in your MEC Application** - Shows the link to use from the ME App t reach the selected service in the user sandbox| ![SBox05a](SBox05a.png)
| SBox05b | API Console - Monitoring portion<li>**Query/Response area** - shows query/responses of the selected MEC Service<li>**Notification Area** - shows notification callbacks sent by the selected MEC Service<li>**View Data** -  Pop-up window shows the message body in JSON format (can be copied)| ![SBox05b](SBox05b.png)
| SBox01 | **Landing page**<br>- Presents information about the MEC sandbox & opportunity to sign in<br>- User Sandbox is disabled on the sidebar<br>- Clicking on ETSI logo: redirects to `https://forge.etsi.org/`<br>- Clicking on sign in:  user is redirected to the "ETSI Forge Dev" sign in page -- TBD<br>- Footer is the same as the one seen on `https://forge.etsi.org/`  |Click to enlarge<br>![SBox01](SBox01.png)
| SBox02 | **Landing Page - Post sign in**<br>- Sign in button changes to sign out<br>- User sandbox link in the sidebar becomes activated<br>- User Sandbox is automatically selected & transitions to SBox03 |Click to enlarge<br>![SBox02](SBox02.png)
| SBox03 | **User Sandbox**<br>- Sandbox is shown in main area - with a Map, Configuration and API Console area<br>- Map Area: shows a default location (Monaco / ETSI headquarters - TBD)<br>- Configuration area: Network drop-down is enabled (no network selected), all other controls disabled<br>- API Console: MEC API dropdown is enabled, selecting another API updates the "Try-It from your MEC Application" URL |Click to enlarge<br>![SBox03](SBox03.png)
| SBox04 | **User Sandbox - Configuration Area**<br>- Selecting a scenario starts the execution & enables other controls<br>- _Pause_ - Dinamically start/stop UE movement<br>- _Stationary UE selector_ - Dynamically pick number of UEs (camera,sensor,etc.)- Default 1, Max TBD<br>- _Low Velocity UE_-  Dynamically pick number UEs (pedestrian) - Default 1, Max TBD<br>- _High Velocity UE_- Pick number UEs (car) - Default 1, Max TBD|Click to enlarge<br>![SBox04](SBox04.png)
| SBox05a | **User Sandbox - API Console - Try-It portion**<br>- _MEC API dropdown_ select a supported MEC API - influence both Try-it links<br>- _Try-It in the browser_ - Link opens a Swagger UI window configured for the current user sandbox<br>- _Try-It in your MEC Application_ - Shows the link to use from the ME App to reach the selected service in the user sandbox|Click to enlarge<br>![SBox05a](SBox05a.png)
| SBox05b | **User Sandbox - API Console - Monitoring portion**<br>- _Query/Response area_ - shows query/responses of the selected MEC Service<br>- _Notification Area_ - shows notification callbacks sent by the selected MEC Service<br>- _View Data_ -  Pop-up window shows the message body in JSON format (can be copied)|Click to enlarge<br>![SBox05b](SBox05b.png)


## THIS NEEDS UPDATE -- Concept - MEC "Try-It" Browser-based Client