Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions berlin_ran/sample_tnlcm_descriptor.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
title: "Sample TNLCM descriptor for Berlin RAN"
description: "Berlin RAN with Open5GCore VM"
trial_network:

tn_init:
type: "tn_init"
tn_vxlan:
type: "tn_vxlan"
dependencies: []
input: {}
tn_bastion:
type: "tn_bastion"
dependencies:
- "tn_vxlan"
input:
one_bastion_vpn_clients: 3
vnet-n2:
type: "vnet"
name: "n2"
dependencies: []
dependencies:
- "tn_bastion"
input:
one_vnet_first_ip: "10.10.11.1"
one_vnet_netmask: 24
Expand All @@ -18,7 +25,6 @@ trial_network:
type: "open5gcore_vm"
name: "core"
dependencies:
- "tn_init"
- "vnet-n2"
input:
one_open5gcore_vm_size: "small"
Expand Down
2 changes: 2 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@
- New component `monitoring` to deploy InfluxDB, Grafana and Prometheus stack together.
- New component `custom_gNB` to integrate user-provided gNBs with 5G Cores inside TNs
- New `component_type` terraform output added to all components.
- All descriptor files have two new optional fields which are `title` and `description` used by the TNLCM frontend.
### Changed
- Modified terraform outputs for all 5G Core components (`open5gcore_vm`, `open5gs_k8s`, `open5gs_vm` and `upf_p4_sw`).
- Modified terraform outputs for all gNB components (`berlin_ran`, `iswireless_radio`, `nokia_radio` and `ueransim`).
- Enhanced variable autocompletion on `ueransim`, gathering all UE-related metadata directly from the gNB's linked 5G Core
- Component `elcm` now can use external influxdb and grafana instances.
- All descriptor files use the `tn_vxlan` and `tn_bastion` components instead of `tn_init`.
- Component `iswireless_radio` now supports **DU-RU** mode, connecting to a virtualized CU instead of a 5G core.
### Fixed
- Component `ks8500_runner` updated to add firewall exceptions for `loadcore` and `ixchariot` middlewares.
Expand Down
6 changes: 3 additions & 3 deletions elcm/.tnlcm/public.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ metadata:

The experiments executed through ELCM allow storing collected metrics in an InfluxDB database, enabling efficient data storage and retrieval for further analysis.

The ELCM component supports linking Grafana and InfluxDB components or directly using the Monitoring component that includes Grafana, InfluxDB and Prometheus in a virtual machine.
The ELCM component supports linking Grafana and InfluxDB components in a virtual machine.
hypervisors: ["one"]
appliances: ["https://marketplace.mobilesandbox.cloud:9443/appliance/service_ELCM"]

Expand All @@ -42,11 +42,11 @@ site_variables:
input:
one_elcm_influxdb:
description: Name of the InfluxDB component used to store the metrics
type: "influxdb or monitoring"
type: "influxdb"
required_when: true
one_elcm_grafana:
description: Name of the Grafana component used to visualize the metrics
type: "grafana or monitoring"
type: "grafana"
required_when: true


Expand Down
2 changes: 1 addition & 1 deletion elcm/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ELCM (Experiment Lifecycle Management)

ELCM is a system designed to manage the complete lifecycle of experiments in research and development environments. Its goal is to streamline the planning, deployment, monitoring, and termination of experiments efficiently and automatically.
ELCM is a system designed to manage the complete lifecycle of experiments in research and development environments. Its goal is to streamline the planning, deployment, monitoring and termination of experiments efficiently and automatically.

## Key Features

Expand Down
21 changes: 17 additions & 4 deletions elcm/sample_tnlcm_descriptor.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
title: "Sample TNLCM descriptor for ELCM"
description: "ELCM with InfluxDB and Grafana to store and visualize data obtained from an experiment"
trial_network:
tn_init:
type: "tn_init"
tn_vxlan:
type: "tn_vxlan"
dependencies: []
input: {}
tn_bastion:
type: "tn_bastion"
dependencies:
- "tn_vxlan"
input: {}
influxdb-v2:
type: "influxdb"
name: "v2"
dependencies: ["tn_init"]
dependencies:
- "tn_vxlan"
- "tn_bastion"
input:
one_influxdb_version: "2.7.11"
one_influxdb_user: "admin"
Expand All @@ -17,14 +26,18 @@ trial_network:
grafana-v11:
type: "grafana"
name: "v11"
dependencies: ["tn_init"]
dependencies:
- "tn_vxlan"
- "tn_bastion"
input:
one_grafana_version: "11.6.0"
one_grafana_password: "adminadmin"
elcm-exp:
type: "elcm"
name: "exp"
dependencies:
- "tn_vxlan"
- "tn_bastion"
- "influxdb-v2"
- "grafana-v11"
input:
Expand Down
27 changes: 0 additions & 27 deletions elcm/sample_tnlcm_descriptor_monitoring.yaml

This file was deleted.

15 changes: 12 additions & 3 deletions grafana/sample_tnlcm_descriptor.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
title: "Sample TNLCM descriptor for Grafana"
description: "Grafana to visualize data obtained from an experiment"
trial_network:
tn_init:
type: "tn_init"
tn_vxlan:
type: "tn_vxlan"
dependencies: []
input: {}
tn_bastion:
type: "tn_bastion"
dependencies:
- "tn_vxlan"
input: {}
grafana-v11:
type: "grafana"
name: "v11"
dependencies: ["tn_init"]
dependencies:
- "tn_vxlan"
- "tn_bastion"
input:
one_grafana_version: "11.6.0"
one_grafana_password: "adminadmin"
6 changes: 3 additions & 3 deletions influxdb/sample_input_file_influxdb_v2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
#one_influxdb_networks:
# - tn_vxlan

one_influxdb_version: "2.7.11"
# one_influxdb_version: "2.7.11"
# one_influxdb_user: "admin"
# one_influxdb_password: "adminadmin"
one_influxdb_org: "dummyorg"
# one_influxdb_org: "dummyorg"
# one_influxdb_bucket: "dummybucket"
one_influxdb_token: "dummydummytoken"
# one_influxdb_token: "dummydummytoken"
15 changes: 12 additions & 3 deletions influxdb/sample_tnlcm_descriptor_v1.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
title: "Sample TNLCM descriptor for InfluxDB v1"
description: "InfluxDB v1 to store the data"
trial_network:
tn_init:
type: "tn_init"
tn_vxlan:
type: "tn_vxlan"
dependencies: []
input: {}
tn_bastion:
type: "tn_bastion"
dependencies:
- "tn_vxlan"
input: {}
influxdb-v1:
type: "influxdb"
name: "v1"
dependencies: ["tn_init"]
dependencies:
- "tn_vxlan"
- "tn_bastion"
input:
one_influxdb_version: "1.7.6"
one_influxdb_user: "admin"
Expand Down
15 changes: 12 additions & 3 deletions influxdb/sample_tnlcm_descriptor_v2.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
title: "Sample TNLCM descriptor for InfluxDB v2"
description: "Influxdb v2 to store the data"
trial_network:
tn_init:
type: "tn_init"
tn_vxlan:
type: "tn_vxlan"
dependencies: []
input: {}
tn_bastion:
type: "tn_bastion"
dependencies:
- "tn_vxlan"
input: {}
influxdb-v2:
type: "influxdb"
name: "v2"
dependencies: ["tn_init"]
dependencies:
- "tn_vxlan"
- "tn_bastion"
input:
one_influxdb_version: "2.7.11"
one_influxdb_user: "admin"
Expand Down
34 changes: 24 additions & 10 deletions int_p4_sw/sample_tnlcm_descriptor.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
# TODO
trial_network:
tn_init:
type: "tn_init"
tn_vxlan:
type: "tn_vxlan"
dependencies: []
input: {}
tn_bastion:
type: "tn_bastion"
dependencies:
- "tn_vxlan"
input: {}
vnet-1:
type: "vnet"
name: "1"
dependencies:
- "tn_init"
- "tn_vxlan"
- "tn_bastion"
input:
one_vnet_first_ip: "10.11.1.1"
one_vnet_netmask: 24
Expand All @@ -17,7 +24,8 @@ trial_network:
type: "vnet"
name: "2"
dependencies:
- "tn_init"
- "tn_vxlan"
- "tn_bastion"
input:
one_vnet_first_ip: "10.11.2.1"
one_vnet_netmask: 24
Expand All @@ -27,7 +35,8 @@ trial_network:
type: "vnet"
name: "3"
dependencies:
- "tn_init"
- "tn_vxlan"
- "tn_bastion"
input:
one_vnet_first_ip: "10.11.3.1"
one_vnet_netmask: 24
Expand All @@ -37,7 +46,8 @@ trial_network:
type: "vnet"
name: "4"
dependencies:
- "tn_init"
- "tn_vxlan"
- "tn_bastion"
input:
one_vnet_first_ip: "10.11.4.1"
one_vnet_netmask: 24
Expand All @@ -47,7 +57,8 @@ trial_network:
type: "vnet"
name: "collector"
dependencies:
- "tn_init"
- "tn_vxlan"
- "tn_bastion"
input:
one_vnet_first_ip: "10.11.5.1"
one_vnet_netmask: 24
Expand All @@ -57,7 +68,8 @@ trial_network:
type: "vm_kvm"
name: "generator"
dependencies:
- "tn_init"
- "tn_vxlan"
- "tn_bastion"
- "vnet-1"
input:
one_vm_kvm_size: "small"
Expand All @@ -68,7 +80,8 @@ trial_network:
type: "int_p4_sw"
name: "int"
dependencies:
- "tn_init"
- "tn_vxlan"
- "tn_bastion"
- "vnet-1"
- "vnet-2"
- "vnet-3"
Expand Down Expand Up @@ -166,7 +179,8 @@ trial_network:
type: "vm_kvm"
name: "external"
dependencies:
- "tn_init"
- "tn_vxlan"
- "tn_bastion"
- "int_p4_sw-int"
- "vnet-4"
input:
Expand Down
23 changes: 20 additions & 3 deletions iswireless_radio/sample_tnlcm_descriptor_normal.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
title: "Sample TNLCM descriptor for IS-Wireless Radio"
description: "IS-Wireless Radio with Open5GCore K8S"
trial_network:
tn_init:
type: "tn_init"
tn_vxlan:
type: "tn_vxlan"
dependencies: []
input: {}
tn_bastion:
type: "tn_bastion"
dependencies:
- "tn_vxlan"
input: {}
vnet-internal:
type: "vnet"
name: "internal"
dependencies:
- "tn_init"
- "tn_vxlan"
- "tn_bastion"
input:
one_vnet_first_ip: "10.10.12.1"
one_vnet_netmask: 24
Expand All @@ -17,6 +25,8 @@ trial_network:
type: "oneKE"
name: "cluster"
dependencies:
- "tn_vxlan"
- "tn_bastion"
- "vnet-internal"
input:
one_oneKE_external_vnet: "tn_vxlan"
Expand All @@ -28,6 +38,9 @@ trial_network:
type: "open5gs_k8s"
name: "core"
dependencies:
- "tn_vxlan"
- "tn_bastion"
- "vnet-internal"
- "oneKE-cluster"
input:
one_open5gs_k8s_target: "oneKE-cluster"
Expand All @@ -47,6 +60,10 @@ trial_network:
type: "iswireless_radio"
name: "RAN"
dependencies:
- "tn_vxlan"
- "tn_bastion"
- "vnet-internal"
- "oneKE-cluster"
- "open5gs_k8s-core"
input:
# any_iswireless_radio_ru_du: false # Default value
Expand Down
Loading