Demo3 scenario showcases the Edge Platform Application Enablement and Application Mobility edge services.
Demo3 includes a user MEC application that can be deployed either as a container using the provided AdvantEDGE scenario, or as an external application that interacts with private or public AdvantEDGE deployments such as the ETSI MEC Sandbox.
Demo3 MEC Application provides a dashboard GUI for visualizing MEC Service interactions such as:
- MEC011: Application Support & Service Enablement
- MEC Application registration/deregistration
- MEC Service discovery & offering
- Event notifications for service and application availability
- MEC021: Application Mobility Service
- User context relocation request registration
- MEC Assisted state transfer subscriptions & notifications
The Demo3 scenario consists of two instances of a single MEC application running on two different mec platforms
- MEC Application instance 1 on MEC Platform mep1 with coverage area: zone1
- MEC Application instance 2 on MEC Platform mep2 with coverage area: zone2
The scenario includes:
- 2 instance of the same edge application: demo3-mep1 and demo3-mep2
- 1 MNO that has 2 Zones
- Zone1 has 1 Edge node
- Zone2 has 2 Edge node
- 3 terminals with pre-defined routes to move interchangeably from mep1 to mep2
NOTE: To view terminal movement on a map, you must first provision maps in AdvantEDGE as described here
Demo server is a web server that interacts with the Application Enablement & Application Mobility services and maintains MEC Application instance state such as:
- Application readiness
- Edge service availability
- Mobility & termination subscriptions
- Terminal device contexts (counters that continue to increment even with MEC application mobility)
The frontend is an instance-specific dashboard that provides MEC application information.
It provides controls to:
- Register/Deregister the MEC application instance
- Add/Remove terminal devices to track for Edge application mobility
To use Demo3 as an AdvantEDGE scenario container:
- Build & dockerize Demo3 server & frontend
- Import the provided scenario demo3-scenario.yaml
- Create a sandbox & deploy Demo3 scenario
- Start Demo3 application frontend in browser
To build demo-frontend & demo-server from source code:
cd ~/AdvantEDGE/examples/demo3 ./build-demo3.sh
NOTE: Binary files are created in ./bin/ folder
# Get bin folder tarball from desired release cd ~/AdvantEDGE/examples/demo3 tar -zxvf demo3.<version>.linux-amd64.tar.gz
Demo Application binaries must be dockerized (containerized) as container images in the Docker registry. This step is necessary every time the demo binaries are updated.
NOTE: Make sure you have deployed the AdvantEDGE dependencies (e.g. docker registry) before dockerizing the demo binaries.
To generate docker images from demo binary files:
cd ~/AdvantEDGE/examples/demo3 ./dockerize.sh
After building & dockerizing the Demo3 application, the Demo3 scenario must be imported in AdvantEDGE and deployed within a sandbox.
IMPORTANT NOTE: For the API calls to work correctly, the platform IP address or domain name must be properly configured in the AdvantEDGE deployment configuration file.
After deploying the Demo3 scenario, the Demo3 application frontend can be accessed as follows:
http://<AdvantEDGE IP address>:31111
http://<AdvantEDGE IP address>:31112
Each Demo3 application instance provides a pre-configured frontend with controls to register/deregister the application instance to MEC011 and to track terminal devices using MEC021.
To use Demo3 as an external application that interacts with the ETSI MEC Sandbox
- Build Demo3 server & frontend
- Log in to the ETSI MEC Sandbox
- Deploy either of the dual-mep scenarios
- Configure Demo3 application instances
- Start Demo3 application instances
Demo3 does not have prior knowledge or configuration information of the MEC services offered by the MEC platform.
Therefore, the following steps need to be done prior to running Demo3 application instances.
Use the same procedure described above for Demo3 with AdvantEDGE.
Create work directories of your choice on the system of your choosing; we’ll use
~/demo3-mep2 for this example and create a folder named
static inside each one of the folders.
The structure should look like this:
├── demo3-mep1 ├── static ├── demo3-mep2 ├── static
IMPORTANT: For this demo to work, the system running demo applications must be at a public IP address so that notifications sent by the ETSI MEC Sandbox can be received by demo applications. If the system is behind a firewall, ports will need to be opened.
For each application instance, copy the following files to the working directories:
- Server executable (
- Template configuration file (
- Frontend bundle
/AdvantEDGE/example/demo3/bin/demo-frontend/*to the static folder
The resulting structure should look like this:
├── demo3-mep1 ├── demo-server ├── demo3-config.yaml ├── static ├── bundle.css ├── bundle.js ├── img ├── index.html ├── demo3-mep2 ├── demo-server ├── demo3-config.yaml ├── static ├── bundle.css ├── bundle.js ├── img ├── index.html
Login via the ETSI MEC Sandbox frontend.
Deploy either of teh dual-MEP scenarios. Note that the dual-mep-short-path network scenario will trigger AMS mobility procedure notifications much quicker that the dual-mep-4g-5g-wifi-macro network scenario.
Create two Application Instance IDs called
demo3, one on mep1 and one on mep2 respectively.
For each application instance, edit the copied template configuration file with instance-specific configuration values.
The resulting configuration should look like this:
mode: 'sandbox' # demo3 runs against ETSI MEC Sandbox https: true # ETSI MEC sandbox uses https sandbox: 'https://try-mec.testfqdn.dev/mep1' # URL to your sandbox, this info is available in the ETSI MEC Sandbox frontend mecplatform: 'mep1' # the MEP where the instance is running, one of your application should be mep1 and the other mep2 appid: '' # these are created in the ETSI MEC Sandbox frontend localurl: 'http://' # the public IP address where demo3 instance is running port: '' # the port number that demo3 is listening on for incoming traffic
Start the demo3 instances
After starting the servers, the frontend can be accessed at
From the frontend, Demo3 can register to MEC011 and then devices present in the scenario can be added.