Newer
Older

Yann Garcia
committed
# Demo4
Demo4 scenario showcases the _Edge Platform Application Enablement_ and _Application Mobility_ edge services.
For more details, check out the [Demo4 Documentation](https://interdigitalinc.github.io/AdvantEDGE/docs/usage/usage-demo4/)
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
Demo4 scenario showcases the _Edge Platform Application Enablement_ and _Application Mobility_ edge services.
Demo4 includes:
- A Terminal application, named [demo4-ue](#demo4-ue), 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.
- An onboarded MEC application, named [onboarded-demo4](#onboarded-demo4) , that is deploy on the MEC platform. It can be instantiated using MEC-016 Service APIs
Demo4 Terminal application does not provide a dashboard GUI, tools such as cUrl or Postman can be used (see clause [demo4-ue](#demo4-ue))
## Demo4 Scenario Overview
The Demo4 scenario consists of one or more instances of a single Terminal application running one or more fixed or mobile terminal equipment.
MEC-016 Service APIs "/dev_app/v1/context" and "/dev_app/v1/context/{instance}" provide the capability to instante one or more MEC applications.
By default, there is one onboarded MEC application named onboarded-demo4, described below (see file ~/AdvantDEGE/examples/demo4-ue/src/onboarded-demo4.yaml):
```yaml
{
"appList":
[
{
"appInfoList":
[
{
"appDId": "onboarded-demo4",
"appName": "onboarded-demo4",
"appProvider": "ETSI",
"appSoftVersion": "v0.1.0",
"appDVersion": "v0.1.0",
"appDescription": "Basic HTTP Ping Pong",
"appLocation":
[
{
"area": null,
"civicAddressElement": null,
"countryCode": "33"
}
],
"appCharcs":
[
{
"memory": 1024,
"storage": 1024,
"latency": 1024,
"bandwidth": 1024,
"serviceCont": 0
}
],
"cmd": "/onboardedapp/onboarded-demo/onboarded-demo4",
"args":null
}
],
"vendorSpecificExt": {
"vendorId": "ETSI"
}
}
]
}
```
### demo4-ue
The Terminal application demo4-ue provide a simply HHTP REST APIs for MEC-016 in order to validate quickly MEC-016 support.
#### Check that the demo4-ue is up
The requets `GET /info/application` provides a description of the demo4-ue application.
```sh
$ curl "http://mec-platform.etsi.org:31111/info/application" -H "accept: application/json"
{"config":"app_instance.yaml","ip":"http://demo4-ue1:80","id":"ce454f4c-16f8-4542-83d8-c8afd45bcfea","mecReady":true,"subscriptions":{"AppTerminationSubscription":{"subId":"sub-LzNr62ED50GbZL_S"},"SerAvailabilitySubscription:":{"subId":"sub-Ec2tT-tKAe_qLxI7"}},"offeredService":{"serName":"demo4","id":"2ad0e566-2054-4550-ba97-1fe1f100fff0","state":"ACTIVE","scopeOfLocality":"MEC_SYSTEM","consumedLocalOnly":true},"discoveredServices":[{"serName":"meep-dai","serInstanceId":"70bb83a5-7ec7-4ab4-b889-ca7033a5be2b","consumedLocalOnly":true,"link":"http://mec-platform.etsi.org/yannsb/dev_app/v1/","version":"2.0"},{"serName":"meep-rnis","serInstanceId":"3e72aa67-ff20-4e7e-bf21-aea928a1743b","consumedLocalOnly":true,"link":"http://mec-platform.etsi.org/yannsb/rni/v2/","version":"2.0"},{"serName":"meep-ams","serInstanceId":"99e8a85d-5f87-48ed-be5e-1302c18e4664","consumedLocalOnly":true,"link":"http://mec-platform.etsi.org/yannsb/amsi/v1/","version":"2.0"},{"serName":"meep-loc-serv","serInstanceId":"85ddf74d-d5e7-4d6f-beb5-25e97f8b57c9","consumedLocalOnly":true,"link":"http://mec-platform.etsi.org/yannsb/location/v2/","version":"2.0"},{"serName":"meep-vis","serInstanceId":"3e23a210-8b1a-4a01-bc0c-1df7d1ad6be3","consumedLocalOnly":true,"link":"http://mec-platform.etsi.org/yannsb/vis/v2/","version":"2.0"},{"serName":"meep-wais","serInstanceId":"a22f614e-a5c1-4902-84d3-4361ac9e3425","consumedLocalOnly":true,"link":"http://mec-platform.etsi.org/yannsb/wai/v2/","version":"2.0"}]}
```
The requets `GET /info/logs` provides some executon logs for the demo4-ue application.
```sh
$ curl "http://mec-platform.etsi.org:31111/info/logs" -H "accept: application/json"
["5. demo4DaiAppListGET: applicationList succeed, len= 1","4. daiClient instance created","3. Subscribe to service-availability notification [201]","2. Subscribe to app-termination notification [201]","1. === Register Demo4 MEC Application [200]","0. Send confirm ready [204]"]
```
#### Retrieve the list of existing onboarded MEC applications
The requets `GET /dai/apps` provides the list of the onboarded MEC application.
```sh
$ curl "http://mec-platform.etsi.org:31111/dai/apps" -H "accept: application/json"
{"appList":[{"appInfo":{"appCharcs":{"bandwidth":1024,"latency":1024,"memory":1024,"storage":1024},"appDId":"onboarded-demo4","appDVersion":"v0.1.0","appDescription":"Basic HTTP Ping Pong","appLocation":[{"countryCode":"33"}],"appName":"onboarded-demo4","appProvider":"ETSI","appSoftVersion":"v0.1.0"}}]}
```
#### Instantiate an onboarded MEC application
The requets `POST /dai/instantiate` is used to create a new AppContext and instantiate the specified onboarded MEC application.
```sh
$ curl -X POST "http://mec-platform.etsi.org:31111/dai/instantiate" -H "accept: application/json"
{"appAutoInstantiation":true,"appInfo":{"appDId":"onboarded-demo4","appDVersion":"v0.1.0","appDescription":"Basic HTTP Ping Pong","appName":"onboarded-demo4","appProvider":"ETSI","appSoftVersion":"v0.1.0","appPackageSource":"appPackageSource1","userAppInstanceInfo":[{"appInstanceId":"20","appLocation":{"countryCode":"33"},"referenceURI":"https://mec-platform.etsi.org/yannsb/onboarded-demo4"}]},"appLocationUpdates":true,"associateDevAppId":"04e71585-87c7-4d2e-b913-538cf1ef","callbackReference":"http://demo4-ue1:80","contextId":"20"}
```
Note that, in the response, the field "contextId" indicate the identifier to be used to [terminate the instance](#terminate-an-existing-instance-of-onboarded-mec-application).
#### Ping request
TODO
#### Terminate an existing instance of onboarded MEC application
TODO
### onboarded-demo4
The MEC application onboarded-demo4 is a basic HTTP REST API "Ping/Pong" application. When it recieves an HTTP GET /ping request, it replies with 200 OK "pong".
The goal of thos application is just to validate the support of MEC-016 Service APIs.
## Using Demo4
### Preamble
Before to use Demo4, you have to copy the file ~/AdvantDEGE/examples/demo4-ue/src/onboarded-demo4.yaml into the folder /var/lib/docker/volumes/meep-dai/_data/ (required to use sudo command)
### Using Demo4 with AdvantEDGE
To use Demo4 as an AdvantEDGE scenario container:
- Build & dockerize Demo4 server & frontend
- Import the provided scenario demo4-scenario.yaml
- Create a sandbox & deploy Demo4 scenario
- Start Demo4 application frontend in browser
## Using Demo4 with ETSI MEC Sandbox
TODO