Commit 7d044d58 authored by Konstantinos Togias's avatar Konstantinos Togias
Browse files

docs: show NEF and simulated device setup explicitly

parent 1e25dd72
Loading
Loading
Loading
Loading
Loading
+13 −2
Changes for ci/lab/EXPLAINED.md: 13 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -40,10 +40,15 @@ The same command works on a developer's machine and in GitLab CI:
```mermaid
flowchart TD
  A[Developer or GitLab job] --> B[Create an isolated Kubernetes cluster]
  B --> C[Deploy OpenOP with the existing Ansible playbook]
  B --> H[Load the selected component images]
  H --> N{Network run?}
  N -->|Yes| P[Start EURECOM NEF and CoreSim containers]
  P --> U[Wait for the simulated device and discover its IP]
  U --> C[Deploy OpenOP with the existing Ansible playbook]
  N -->|No| C
  C --> D[Check the running component versions]
  D --> E[Run the selected public API tests]
  E --> F[Remove the owned applications, clients and lab]
  E --> F[Remove owned applications, clients, emulator containers and cluster]
  F --> G[Publish results, including cleanup]
```

@@ -51,6 +56,12 @@ The container run checks an application supplied as a container image. The Helm
run checks an application supplied as a chart archive. The network run adds
EURECOM NEF/CoreSim: real emulator services representing a mobile network and
one simulated device. All three reuse the same setup and application workflow.
In GitLab these emulator containers run inside the job's Docker environment,
alongside the Kubernetes cluster; they are not Kubernetes Pods or an external
NEF service. The provider checkpoint starts them before OpenOP deployment,
discovers the simulated device IP and supplies the NEF address to the generated
configuration. See the [actual setup call](../platform_lab.py#L190) and
[emulator startup](../eurecom_lab.py#L94).

## Login and access

+4 −1
Changes for ci/lab/README.md: 4 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -28,7 +28,10 @@ the existing deployment and E2E playbooks; it does not duplicate their setup.
```mermaid
flowchart TD
  A[ci/run_platform_lab.sh] --> B[ci/platform_lab.py in the controller]
  B --> C[r2_existing_cluster/deploy.yml]
  B --> P{Network run?}
  P -->|Yes| N[ci/eurecom_lab.py starts NEF/CoreSim and the simulated device]
  N --> C[r2_existing_cluster/deploy.yml]
  P -->|No| C
  C --> D[ci/platform_smoke.py]
  D --> E[r2_existing_cluster/e2e.yml]
  E --> F[pytest cases selected by checkpoints.py]
+1 −1
Changes for ci/platform_lab.py: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -137,7 +137,7 @@ def exercise(profile, output, name, chart, controller="", call=run):
    fixtures = ExitStack()
    loaded = {}
    report = LabReport(output, [(key, label) for key, label, _ in selected_phases(result["checkpoint"])],
                       setup_phases=[("provider", "EURECOM NEF and CoreSim ready")]
                       setup_phases=[("provider", "Start EURECOM NEF/CoreSim and prepare the simulated device")]
                       if profile.get("network_provider") else None)
    kubeconfig = output / "private/kubeconfig"
    kubectl = ["kubectl", "--kubeconfig", str(kubeconfig), "--request-timeout=10s"]