Commit d3edc13d authored by Yann Garcia's avatar Yann Garcia
Browse files

Update links to ETSI Labs; Add MEC Sandbox API entry

parent 06d47519
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ In addition to `.meepctl-repocfg.yaml` file, the following files will need to be

## _meepctl_ configuration for MEC Sandbox

[MEC Sandbox repository](https://forge.etsi.org/rep/mec/mec-sandbox) is used for configuring AdvantEDGE deployment specific to MEC Sandbox. Therefore, necessary changes in some configuration files are needed for the new service.
[MEC Sandbox repository](https://labs.etsi.org/rep/mec/etsi-mec-sandbox-frontend.git) is used for configuring AdvantEDGE deployment specific to MEC Sandbox. Therefore, necessary changes in some configuration files are needed for the new service.

The Sandbox is deployed using the configurations mentioned in the `mec-sandbox/config/.meepctl-repocfg.yaml` file as these configurations replace AdvantEDGE configurations for deploying core and dependency pods.

@@ -120,7 +120,7 @@ To make the new service be properly recognizable by the MEC Sandbox frontend, it

## Upgrade MEC Sandbox

After making all the necessary changes in the AdvantEDGE code and MEC Sandbox configuration files (preferably on their respective repositories), MEC Sandbox instance (whether production or testbed/staging area environment) can be upgraded with the new feature set using this [upgrade procedure](https://forge.etsi.org/rep/mec/mec-sandbox#upgrade-mec-sandbox).
After making all the necessary changes in the AdvantEDGE code and MEC Sandbox configuration files (preferably on their respective repositories), MEC Sandbox instance (whether production or testbed/staging area environment) can be upgraded with the new feature set using this [upgrade procedure](https://labs.etsi.org/rep/mec/etsi-mec-sandbox-frontend#upgrade-mec-sandbox).

## Validation Checks

+3 −3
Original line number Diff line number Diff line
@@ -17,14 +17,14 @@ This guide contains all frontend-related aspects that need to be enhanced for in
**NOTE**: These enhancements are applicable for adding a MEC service in the Sandbox as a new feature. Usually, slight changes in the UI are required for seamlessly integrating the new service in the MEC Sandbox. However, there may be some MEC services that require some more complicated enhancements. This guide will be modified accordingly to cater for such scenarios.

## Pull downs for the new service in the frontend
For adding the new service in the [MEC API dropdown](../Sandbox-User-Interface/README.md#sbox05a), the following file in the [MEC Sandbox repository](https://forge.etsi.org/rep/mec/mec-sandbox) needs to be modified.
For adding the new service in the [MEC API dropdown](../Sandbox-User-Interface/README.md#sbox05a), the following file in the [MEC Sandbox repository](https://labs.etsi.org/rep/mec/etsi-mec-sandbox-frontend.git) needs to be modified.

- `mec-sandbox/js-apps/frontend/src/js/util/scenario-utils.js`
  - In the `parseEdgeApps()` function, add an `else if` block for the new service and assign the variables such as _path_, _url_, _dropDownName_ etc. with appropriate values<br>**NOTE:** _See the information for existing MEC services in the if-else blocks for reference._

This will display the new MEC service in the dropdown list if that service is supported by the selected network scenario upon next Sandbox upgrade.

To properly integrate the new service with the MEC Sandbox frontend, e.g. to make the service appear in the [API console](../Sandbox-User-Interface/README.md#sbox05b), following changes in [MEC Sandbox repository](https://forge.etsi.org/rep/mec/mec-sandbox) will need to be made:
To properly integrate the new service with the MEC Sandbox frontend, e.g. to make the service appear in the [API console](../Sandbox-User-Interface/README.md#sbox05b), following changes in [MEC Sandbox repository](https://labs.etsi.org/rep/mec/etsi-mec-sandbox-frontend.git) will need to be made:

- `mec-sandbox/js-apps/frontend/src/js/containers/sandbox/api-table.js`
  - In the `mapService()` function, add the new service name (`meep-<mec-identifier>`) in the `prefixes` variable.
@@ -41,7 +41,7 @@ A correct MEC Service base path for the new service is also displayed in the _Tr

## Grafana dashboard for monitoring service-related metrics

The 'MEC Sandbox' Grafana dashboard is provisioned using the `mec-sandbox/config/dashboards/mec-sandbox.json` file which is hosted in the [MEC Sandbox repository](https://forge.etsi.org/rep/mec/mec-sandbox).
The 'MEC Sandbox' Grafana dashboard is provisioned using the `mec-sandbox/config/dashboards/mec-sandbox.json` file which is hosted in the [MEC Sandbox repository](https://labs.etsi.org/rep/mec/etsi-mec-sandbox-frontend.git).

In order to display metrics related to the new service in the dashboard, the JSON file will need to be modified. All the necessary steps that need to taken are mentioned below.

+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ The following steps can be used to export a network scenario which is already sa

## Uploading an Existing Network Scenario

To upload an existing network scenario (from YAML file), follow the instructions [here](https://forge.etsi.org/rep/mec/mec-sandbox#configure-scenarios).
To upload an existing network scenario (from YAML file), follow the instructions [here](https://labs.etsi.org/rep/mec/etsi-mec-sandbox-frontend#configure-scenarios).

## Adding a new service in an existing network scenario

+1 −1
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ This aspect requires careful deliberation as the automated code generation tools

MEC Sandbox offers its users an option to make API calls to a MEC service using the Swagger UI from the browser. This browser client uses the OAS file of a specific MEC service for rendering its UI. 

This file is hosted in the [MEC Sandbox frontend repository](https://forge.etsi.org/rep/mec/mec-sandbox) on Forge and needs to be updated according to the latest changes in the OAS for the desired version to which the service is being upgraded to.
This file is hosted in the [MEC Sandbox frontend repository](https://labs.etsi.org/rep/mec/etsi-mec-sandbox-frontend.git) on Forge and needs to be updated according to the latest changes in the OAS for the desired version to which the service is being upgraded to.

Consult the [Swagger UI generation](backend-integration.md#swagger-ui-generation
) clause of the backend integration guide for further information.
+37 −0
Original line number Diff line number Diff line
# The basics of developing a MEC application

The developement of a MEC application follows a strict process in order to access the ETSI MEC services and provides valuable services to the customers.
Mainly, this process can be split in several steps:
1. Global initializations (constant, variables...)
2. Create a new instance of a MEC Sandbox (Note that using an existing one could be a solution too (see Annex A))
3. Activate a network scenario in order to access the ETSI MEC services
4. Create a new application identifier
5. Register our MEC application and subscribe to service termination (see MEC 011)
6. Use MEC services in order to provide valuable services to the customers
    6.1. Apply MEC services required subscriptions (e.g. MEC 013 location subscription)
7. Terminate the MEC application
    7.1. Remove MEC services subscriptions
    7.2. Deactivate the current network scenario
    7.3. Delete the instance of the MEC Sandbox
8. Release all the MEC application resources

**Note:** Several application identifier can be created to address several MEC application.

# The demo6 application

The [demo6](https://labs.etsi.org/rep/mec/etsi-mec-sandbox/-/tree/STF678_Task1_2_3_4/examples/demo6/golang) illustrates how to use the MEC Sandbox API. 

<div class="alert alert-block alert-danger">
    <b>Note:</b> These source code examples are simplified and ignore return codes and error checks to a large extent. We do this to highlight how to use the MEC Sandbox API and the different MEC satndards and reduce unrelated code.
A real-world application will of course properly check every return value and exit correctly at the first serious error.
</div>

# The MEC Application development tutorial

This [tutorial](https://labs.etsi.org/rep/mec/etsi-mec-sandbox/-/tree/STF678_Task1_2_3_4/examples/demo6/python) introduces the step by step procedure to create a basic MEC appcation following ETSI MEC standards.
It uses the ETSI MEC Sandbox simulator.

<div class="alert alert-block alert-danger">
    <b>Note:</b> These source code examples are simplified and ignore return codes and error checks to a large extent. We do this to highlight how to use the MEC Sandbox API and the different MEC satndards and reduce unrelated code.
A real-world application will of course properly check every return value and exit correctly at the first serious error.
</div>
 No newline at end of file
Loading