>_NOTE: This repository contains the MEC Sandbox Frontend; the backend portion of the MEC Sandbox is realized using the open source project [AdvantEDGE](https://github.com/InterDigitalInc/AdvantEDGE)_
>_**NOTE: This repository contains the MEC Sandbox Frontend; the backend portion of the MEC Sandbox is realized
> using the open source project [AdvantEDGE](https://github.com/InterDigitalInc/AdvantEDGE)**_
MEC Sandbox is an interactive environment that enables users to learn & experiment with ETSI MEC Service APIs.
These standardised RESTful APIs are targeted towards MEC application developers to expose the value added services
@@ -11,8 +12,9 @@ presented via OpenAPI compliant descriptions.
MEC Sandbox provides the user with a choice of scenarios combining different network technologies (4G, 5G, Wi-Fi) and
terminal types. Combining these assets in a geolocated environment, a user can gain hands-on experience on the behaviour
and capabilities of the Location (MEC013), Radio Network Information (MEC012) and WLAN Information (MEC028) service APIs.
Such contextual information can offer significant differential performance for edge based MEC applications.
and capabilities of the Location (MEC013), Radio Network Information (MEC012), WLAN Information (MEC028), Edge Platform
Application Enablement (MEC011) and Application Mobility (MEC021) service APIs. Such contextual information can offer
significant differential performance for edge based MEC applications.
MEC Sandbox deploys the [AdvantEDGE edge emulation platform](https://github.com/InterDigitalInc/AdvantEDGE) to provide
real-time access to ETSI MEC service implementations.
@@ -28,9 +30,10 @@ To use the MEC Sandbox, check out the [live deployment](https://try-mec.etsi.org
To learn more about the MEC Sandbox, have a look at the [wiki page](https://mecwiki.etsi.org/index.php?title=MEC_Sandbox_Help).
To install the MEC Sandbox, follow the installation instructions below.
To install or upgrade the MEC Sandbox, follow the instructions below.
## Install MEC Sandbox
The following procedure should be used to install a new MEC Sandbox deployment.
### Prerequisites
MEC Sandbox has the following prerequisites:
@@ -61,6 +64,14 @@ MEC Sandbox has the following prerequisites:
- _Scopes:_ read_user
-**NOTES:**
- Once created, keep note of the OAuth App Client ID & Secret
- Open AdvantEDGE frontend @ https://try-mec.etsi.org/alt
- Go to Exec Page and delete user sandboxes
- Manually:
-`helm ls -A --short | grep <sandbox-name> | xargs -L1 helm delete`
- Delete core & dependency microservices:
-`meepctl delete core`
-`meepctl delete dep`
-**NOTE:** This will clear all sessions in Redis DB
1. Clone MEC Sandbox & AdvantEDGE repositories:
- Fetch required MEC Sandbox baseline:
- Clone this repo to the MEC Sandbox deployment VM
@@ -143,13 +143,13 @@ MEC Sandbox has the following prerequisites:
1. Configure MEC Sandbox:
- Configure object store:
-`vi ~/mec-sandbox/config/objstore-thanos.yaml` and `vi ~/mec-sandbox/config/objstore-thanos-archive.yaml`
- Set endpoint to long-term storage VM FQDN
- Set _endpoint_ to long-term storage VM FQDN
-**NOTE:** Make sure _/etc/hosts_ file contains entry for VM FQDN that points to VM private IP address (if on same local network)
- Set access_key to object store access key value
- Set secret_key to object store secret key value
- Set _access\_key_ to object store access key value
- Set _secret\_key_ to object store secret key value
-`vi ~/mec-sandbox/config/objstore-influx.cfg`
- Set aws_access_key_id to object store access key value
- Set aws_secret_access_key to object store secret key value
- Set _aws\_access\_key\_id_ to object store access key value
- Set _aws\_secret\_access\_key_ to object store secret key value
- Configure session & OAuth secrets:
-`vi ~/mec-sandbox/config/secrets.yaml`
- Set a unique session encryption key
@@ -184,14 +184,13 @@ MEC Sandbox has the following prerequisites:
-**NOTE:** This also copies the AdvantEDGE configuration files to their respective locations in your local AdvantEDGE clone `~/AdvantEDGE/`. Running `git status` in your AdvantEDGE clone will list the updated (or new) files.
- Set `slack_api_url` to your slack channel webhook url
- Set `channel` to your slack channel
1. Build & Deploy STF Frontend:
- SSH to MEC Sandbox deployment VM
- Build STF Frontend:
-`cd ~/mec-sandbox`
-`./build.sh`
- Deploy STF Frontend & Configuration files:
-`./deploy.sh`
-**NOTE:** This updates the `~/.meep/user/` folder with the user frontend, sandbox swagger UI, and user chart values.yaml overrides
-**NOTE:** This also copies the AdvantEDGE configuration files to their respective locations in your local AdvantEDGE clone `~/AdvantEDGE/`. Running `git status` in your AdvantEDGE clone will list the updated (or new) files.
1. Build & Deploy AdvantEDGE:
- Build meepctl:
-`~/AdvantEDGE/go-apps/meepctl/install.sh`
- Deploy dependency pods:
-`meepctl deploy dep`
- Build & Dockerize:
-`meepctl build all`
-`meepctl dockerize all`
- Prune old docker images:
-`docker image prune`
- Deploy Core pods:
-`meepctl deploy core`
-**NOTE:** Wait for dep pods to be successfully deployed before deploying core
1. Update network scenarios (if necessary)
## Licensing
MEC Sandbox is a private repo with all rights reserved to ETSI.