Loading ci/lab/EXPLAINED.md +13 −2 Changes for ci/lab/EXPLAINED.md: 13 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -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] ``` Loading @@ -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 Loading ci/lab/README.md +4 −1 Changes for ci/lab/README.md: 4 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -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] Loading ci/platform_lab.py +1 −1 Changes for ci/platform_lab.py: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -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"] Loading Loading
ci/lab/EXPLAINED.md +13 −2 Changes for ci/lab/EXPLAINED.md: 13 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -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] ``` Loading @@ -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 Loading
ci/lab/README.md +4 −1 Changes for ci/lab/README.md: 4 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -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] Loading
ci/platform_lab.py +1 −1 Changes for ci/platform_lab.py: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -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"] Loading