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

Adding demo1 for emulated network

parent 19fde60c
Loading
Loading
Loading
Loading
+19 −0
Changes for examples/demo1_simu5g/README.md: 19 added lines, 0 removed lines.
Original line number Diff line number Diff line
# demo1_simu5g

Simu5G companion of the stock Demo1 application scenario (`examples/demo1`).
Import `demo1_simu5g-scenario.yaml` (name: `demo1_simu5g`).

Same platform capabilities as Demo1, with:
- `userMeta` `connectivityModel: simu5g`
- `ue1-iperf` pinned to the `zone1-edge1-iperf` PodIP (`EDGE_IPERF_POD_IP`)
- App image `meep-docker-registry:30001/demo_sim5g-server` (does not overwrite stock `demo-server`)
- Host-B mappings in `integration-config.json` (`ue1` → `Demo1.ue_car[0]`, `zone1-edge1` → `router`)

Build / dockerize from this folder:

```
./build-demo1_simu5g.sh
./dockerize.sh
```

For stock Demo1 docs, see [Demo1 Documentation](https://interdigitalinc.github.io/AdvantEDGE/docs/usage/usage-demo1/).
+51 −0
Changes for examples/demo1_simu5g/build-demo1_simu5g.sh: 51 added lines, 0 removed lines.
Original line number Diff line number Diff line
#!/bin/bash
set -euo pipefail

# Get full path to script directory
SCRIPT=$(readlink -f "$0")
BASEDIR=$(dirname "$SCRIPT")

DEMOBIN=$BASEDIR/bin/demo_sim5g-server
PROXYBIN=$BASEDIR/bin/iperf-proxy

echo ""
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ">> Building Iperf Proxy JS Client"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ""
$BASEDIR/src/iperf-proxy-client/js/build.sh

echo ""
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ">>> Building Iperf Proxy Go Server"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ""
$BASEDIR/src/iperf-proxy/build.sh $PROXYBIN

echo ""
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ">>> Building demo1_simu5g JS Client"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ""
$BASEDIR/src/demo-client/js/build.sh

echo ""
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ">>> Building demo1_simu5g Frontend"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ""
$BASEDIR/src/demo-frontend/build.sh

echo ""
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ">>> Building demo1_simu5g Go Server"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ""
$BASEDIR/src/demo_sim5g-server/build.sh $DEMOBIN

echo ""
echo ">>> demo1_simu5g build completed"



+928 −0

File added.

Preview size limit exceeded, changes collapsed.

+38 −0
Changes for examples/demo1_simu5g/dockerize.sh: 38 added lines, 0 removed lines.
Original line number Diff line number Diff line
#!/bin/bash

# Get full path to script directory
SCRIPT=$(readlink -f "$0")
BASEDIR=$(dirname "$SCRIPT")

DEMOBIN=$BASEDIR/bin/demo_sim5g-server

echo ""
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ">>> Dockerizing demo1_simu5g Demo Server"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo ""

# Copy frontend to bin folder
rm -rf $DEMOBIN/static
mkdir -p $DEMOBIN/static
cp -Rf $BASEDIR/bin/demo-frontend/* $DEMOBIN/static

# Copy Dockerfile to bin folder
cp $BASEDIR/src/demo_sim5g-server/Dockerfile $DEMOBIN

# Dockerize demo 
cd $DEMOBIN
docker build --no-cache --rm -t meep-docker-registry:30001/demo_sim5g-server .
docker push meep-docker-registry:30001/demo_sim5g-server

# Scenario pods use meep-docker-registry:30001/iperf3 only.
docker pull networkstatic/iperf3
docker tag networkstatic/iperf3 meep-docker-registry:30001/iperf3
docker push meep-docker-registry:30001/iperf3

echo ""
echo ">>> demo1_simu5g dockerize completed"



+57 −0
Changes for examples/demo1_simu5g/integration-config.json: 57 added lines, 0 removed lines.
Original line number Diff line number Diff line
{
  "deployment": {
    "scenarioId": "demo1_simu5g",
    "sandboxHost": "172.29.10.53",
    "simHost": "172.29.10.20"
  },
  "bridge": {
    "listenAddress": "0.0.0.0",
    "listenPort": 5555,
    "connectAddress": "172.29.10.20",
    "connectPort": 5555,
    "tunName": "simu5g-br0"
  },
  "telemetry": {
    "listenAddress": "0.0.0.0",
    "listenPort": 9100,
    "sceneLatDeg": 43.734042,
    "sceneLonDeg": 7.416587,
    "sceneAltM": 0,
    "metersPerDeg": 111320,
    "jsonOut": false
  },
  "gis": {
    "sandboxName": "sbx4lesbpo"
  },
  "rni": {
    "simPort": 9201,
    "pollIntervalMs": 1000,
    "meAppInst": "demo1_simu5g"
  },
  "ueMappings": [
    {
      "ueId": "ue1",
      "sandboxIpCidr": "",
      "simu5gModulePath": "Demo1.ue_car[0]"
    }
  ],
  "mecEndpoints": [
    {
      "endpointId": "zone1-edge1",
      "sandboxIpCidr": "",
      "simu5gModulePath": "router"
    }
  ],
  "cells": [
    {
      "poaId": "zone1-poa1",
      "cellId": 100,
      "simu5gModulePath": "enb"
    }
  ],
  "options": {
    "mtu": 1400,
    "maxPendingPackets": 10000,
    "realTimeToleranceMs": 50
  }
}
Loading