From 0e6e123d94cbd031288dd5b06ab1e967f8da9183 Mon Sep 17 00:00:00 2001 From: CarlosAndreo Date: Tue, 29 Apr 2025 09:31:29 +0000 Subject: [PATCH 1/2] chore: fix descriptors to use tn_vxlan and tn_bastion --- berlin_ran/sample_tnlcm_descriptor.yaml | 16 ++- changelog.md | 3 +- elcm/.tnlcm/public.yaml | 6 +- elcm/README.md | 2 +- elcm/sample_tnlcm_descriptor.yaml | 21 +++- elcm/sample_tnlcm_descriptor_monitoring.yaml | 27 ----- grafana/sample_tnlcm_descriptor.yaml | 15 ++- influxdb/sample_input_file_influxdb_v2.yaml | 6 +- influxdb/sample_tnlcm_descriptor_v1.yaml | 15 ++- influxdb/sample_tnlcm_descriptor_v2.yaml | 15 ++- int_p4_sw/sample_tnlcm_descriptor.yaml | 25 ++-- iswireless_radio/sample_tnlcm_descriptor.yaml | 23 +++- ixc_endpoint/sample_tnlcm_descriptor.yaml | 14 ++- ks8500_runner/sample_tnlcm_descriptor.yaml | 14 ++- .../sample_tnlcm_descriptor_open5gs_k8s.yaml | 27 ++++- .../sample_tnlcm_descriptor_open5gs_vm.yaml | 25 +++- monitoring/.tnlcm/public.yaml | 108 ----------------- monitoring/README.md | 9 -- monitoring/changelog.md | 5 - monitoring/code/component_playbook.yaml | 112 ------------------ monitoring/code/one/iac/monitoring.tf.j2 | 78 ------------ monitoring/result_templates/fail_result.md.j2 | 5 - monitoring/result_templates/ok_result.md.j2 | 51 -------- monitoring/sample_input_file_influxdb_v1.yaml | 17 --- monitoring/sample_input_file_influxdb_v2.yaml | 17 --- monitoring/sample_tnlcm_descriptor_v1.yaml | 17 --- monitoring/sample_tnlcm_descriptor_v2.yaml | 19 --- monitoring/variables/one/private.yaml | 25 ---- .../sample_tnlcm_descriptor_open5gs_k8s.yaml | 23 +++- .../sample_tnlcm_descriptor_open5gs_vm.yaml | 21 +++- ocf/sample_tnlcm_descriptor.yaml | 20 +++- oneKE/sample_tnlcm_descriptor.yaml | 17 ++- ... => sample_tnlcm_descriptor_loadcore.yaml} | 29 +++-- ... => sample_tnlcm_descriptor_ueransim.yaml} | 31 +++-- open5gs_k8s/sample_tnlcm_descriptor.yaml | 20 +++- open5gs_vm/sample_tnlcm_descriptor.yaml | 20 +++- prometheus/sample_tnlcm_descriptor.yaml | 15 ++- stf_ue/sample_tnlcm_descriptor.yaml | 28 ++++- tn_bastion/sample_tnlcm_descriptor.yaml | 5 +- tn_vxlan/sample_tnlcm_descriptor.yaml | 2 + tsn/sample_tnlcm_descriptor.yaml | 15 ++- ...ple_tnlcm_descriptor_open5gs_k8s_both.yaml | 25 +++- ...le_tnlcm_descriptor_open5gs_k8s_split.yaml | 30 ++++- ...mple_tnlcm_descriptor_open5gs_vm_both.yaml | 20 +++- ...ple_tnlcm_descriptor_open5gs_vm_split.yaml | 24 +++- upf_p4_sw/sample_tnlcm_descriptor.yaml | 29 +++-- vm_kvm/sample_tnlcm_descriptor.yaml | 14 ++- vnet/sample_tnlcm_descriptor.yaml | 14 ++- xrext/sample_tnlcm_descriptor.yaml | 15 ++- 49 files changed, 498 insertions(+), 636 deletions(-) delete mode 100644 elcm/sample_tnlcm_descriptor_monitoring.yaml delete mode 100644 monitoring/.tnlcm/public.yaml delete mode 100644 monitoring/README.md delete mode 100644 monitoring/changelog.md delete mode 100644 monitoring/code/component_playbook.yaml delete mode 100644 monitoring/code/one/iac/monitoring.tf.j2 delete mode 100644 monitoring/result_templates/fail_result.md.j2 delete mode 100644 monitoring/result_templates/ok_result.md.j2 delete mode 100644 monitoring/sample_input_file_influxdb_v1.yaml delete mode 100644 monitoring/sample_input_file_influxdb_v2.yaml delete mode 100644 monitoring/sample_tnlcm_descriptor_v1.yaml delete mode 100644 monitoring/sample_tnlcm_descriptor_v2.yaml delete mode 100644 monitoring/variables/one/private.yaml rename open5gcore_vm/{TN_open5gcore-loadcore.yaml => sample_tnlcm_descriptor_loadcore.yaml} (81%) rename open5gcore_vm/{TN_open5gcore-ueransim.yaml => sample_tnlcm_descriptor_ueransim.yaml} (84%) diff --git a/berlin_ran/sample_tnlcm_descriptor.yaml b/berlin_ran/sample_tnlcm_descriptor.yaml index 0cc8d84b..7602129c 100644 --- a/berlin_ran/sample_tnlcm_descriptor.yaml +++ b/berlin_ran/sample_tnlcm_descriptor.yaml @@ -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 @@ -18,7 +25,6 @@ trial_network: type: "open5gcore_vm" name: "core" dependencies: - - "tn_init" - "vnet-n2" input: one_open5gcore_vm_size: "small" diff --git a/changelog.md b/changelog.md index 3a26850d..60d70140 100644 --- a/changelog.md +++ b/changelog.md @@ -5,9 +5,10 @@ - New component `influxdb` to store time series data. - New component `grafana` to visualize time series data. - New component `prometheus` to scrape time series data. -- New component `monitoring` to deploy InfluxDB, Grafana and Prometheus stack together. +- All descriptor files have two new optional fields which are `title` and `description` used by the TNLCM frontend. ### Changed - 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`. ### Fixed - Component `ks8500_runner` updated to add firewall exceptions for `loadcore` and `ixchariot` middlewares. diff --git a/elcm/.tnlcm/public.yaml b/elcm/.tnlcm/public.yaml index be75d757..2eb61e7f 100644 --- a/elcm/.tnlcm/public.yaml +++ b/elcm/.tnlcm/public.yaml @@ -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"] @@ -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 diff --git a/elcm/README.md b/elcm/README.md index d967ed7d..1c04102f 100644 --- a/elcm/README.md +++ b/elcm/README.md @@ -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 diff --git a/elcm/sample_tnlcm_descriptor.yaml b/elcm/sample_tnlcm_descriptor.yaml index 87ac2171..8c9ecab1 100644 --- a/elcm/sample_tnlcm_descriptor.yaml +++ b/elcm/sample_tnlcm_descriptor.yaml @@ -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" @@ -17,7 +26,9 @@ 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" @@ -25,6 +36,8 @@ trial_network: type: "elcm" name: "exp" dependencies: + - "tn_vxlan" + - "tn_bastion" - "influxdb-v2" - "grafana-v11" input: diff --git a/elcm/sample_tnlcm_descriptor_monitoring.yaml b/elcm/sample_tnlcm_descriptor_monitoring.yaml deleted file mode 100644 index 761f7009..00000000 --- a/elcm/sample_tnlcm_descriptor_monitoring.yaml +++ /dev/null @@ -1,27 +0,0 @@ -trial_network: - tn_init: - type: "tn_init" - dependencies: [] - input: {} - monitoring-test: - type: "monitoring" - name: "test" - dependencies: ["tn_init"] - input: - one_influxdb_version: "2.7.11" - one_influxdb_user: "admin" - one_influxdb_password: "adminadmin" - one_influxdb_org: "testing" - one_influxdb_bucket: "testing" - one_influxdb_token: "default-token-testing" - one_grafana_version: "11.6.0" - one_grafana_password: "adminadmin" - one_prometheus_version: "2.54.3" - elcm-exp: - type: "elcm" - name: "exp" - dependencies: - - "monitoring-test" - input: - one_elcm_influxdb: "monitoring-test" - one_elcm_grafana: "monitoring-test" diff --git a/grafana/sample_tnlcm_descriptor.yaml b/grafana/sample_tnlcm_descriptor.yaml index a29f9936..8226ff73 100644 --- a/grafana/sample_tnlcm_descriptor.yaml +++ b/grafana/sample_tnlcm_descriptor.yaml @@ -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" diff --git a/influxdb/sample_input_file_influxdb_v2.yaml b/influxdb/sample_input_file_influxdb_v2.yaml index 2e08dbab..c6b081ef 100644 --- a/influxdb/sample_input_file_influxdb_v2.yaml +++ b/influxdb/sample_input_file_influxdb_v2.yaml @@ -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" diff --git a/influxdb/sample_tnlcm_descriptor_v1.yaml b/influxdb/sample_tnlcm_descriptor_v1.yaml index 6808bdf3..46486ea4 100644 --- a/influxdb/sample_tnlcm_descriptor_v1.yaml +++ b/influxdb/sample_tnlcm_descriptor_v1.yaml @@ -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" diff --git a/influxdb/sample_tnlcm_descriptor_v2.yaml b/influxdb/sample_tnlcm_descriptor_v2.yaml index debc3cc6..06c5a735 100644 --- a/influxdb/sample_tnlcm_descriptor_v2.yaml +++ b/influxdb/sample_tnlcm_descriptor_v2.yaml @@ -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" diff --git a/int_p4_sw/sample_tnlcm_descriptor.yaml b/int_p4_sw/sample_tnlcm_descriptor.yaml index 590953e8..bd7dcdff 100644 --- a/int_p4_sw/sample_tnlcm_descriptor.yaml +++ b/int_p4_sw/sample_tnlcm_descriptor.yaml @@ -1,13 +1,19 @@ +# 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_bastion" input: one_vnet_first_ip: "10.11.1.1" one_vnet_netmask: 24 @@ -17,7 +23,7 @@ trial_network: type: "vnet" name: "2" dependencies: - - "tn_init" + - "tn_bastion" input: one_vnet_first_ip: "10.11.2.1" one_vnet_netmask: 24 @@ -27,7 +33,7 @@ trial_network: type: "vnet" name: "3" dependencies: - - "tn_init" + - "tn_bastion" input: one_vnet_first_ip: "10.11.3.1" one_vnet_netmask: 24 @@ -37,7 +43,7 @@ trial_network: type: "vnet" name: "4" dependencies: - - "tn_init" + - "tn_bastion" input: one_vnet_first_ip: "10.11.4.1" one_vnet_netmask: 24 @@ -47,7 +53,7 @@ trial_network: type: "vnet" name: "collector" dependencies: - - "tn_init" + - "tn_bastion" input: one_vnet_first_ip: "10.11.5.1" one_vnet_netmask: 24 @@ -57,7 +63,6 @@ trial_network: type: "vm_kvm" name: "generator" dependencies: - - "tn_init" - "vnet-1" input: one_vm_kvm_size: "small" @@ -68,7 +73,7 @@ trial_network: type: "int_p4_sw" name: "int" dependencies: - - "tn_init" + - "tn_bastion" - "vnet-1" - "vnet-2" - "vnet-3" @@ -166,7 +171,7 @@ trial_network: type: "vm_kvm" name: "external" dependencies: - - "tn_init" + - "tn_bastion" - "int_p4_sw-int" - "vnet-4" input: diff --git a/iswireless_radio/sample_tnlcm_descriptor.yaml b/iswireless_radio/sample_tnlcm_descriptor.yaml index 72e6660d..af5eac7e 100644 --- a/iswireless_radio/sample_tnlcm_descriptor.yaml +++ b/iswireless_radio/sample_tnlcm_descriptor.yaml @@ -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 @@ -17,6 +25,8 @@ trial_network: type: "oneKE" name: "cluster" dependencies: + - "tn_vxlan" + - "tn_bastion" - "vnet-internal" input: one_oneKE_external_vnet: "tn_vxlan" @@ -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" @@ -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_linked_5gcore: "open5gs_k8s-core" diff --git a/ixc_endpoint/sample_tnlcm_descriptor.yaml b/ixc_endpoint/sample_tnlcm_descriptor.yaml index 60d07876..11ac22b3 100644 --- a/ixc_endpoint/sample_tnlcm_descriptor.yaml +++ b/ixc_endpoint/sample_tnlcm_descriptor.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for IXC Endpoint" +description: "IXC Endpoint for testing" trial_network: - tn_init: - type: "tn_init" + tn_vxlan: + type: "tn_vxlan" dependencies: [] input: {} + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" + input: {} ixc_endpoint-first: type: "ixc_endpoint" name: "first" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" input: one_ixc_endpoint_rs: "10.11.31.98" # one_ixc_endpoint_networks: diff --git a/ks8500_runner/sample_tnlcm_descriptor.yaml b/ks8500_runner/sample_tnlcm_descriptor.yaml index e2b58c43..7543fbdf 100644 --- a/ks8500_runner/sample_tnlcm_descriptor.yaml +++ b/ks8500_runner/sample_tnlcm_descriptor.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for KS8500 Runner" +description: "KS8500 Runner for run experiments" trial_network: - tn_init: - type: "tn_init" + tn_vxlan: + type: "tn_vxlan" dependencies: [] input: {} + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" + input: {} ks8500_runner-6gsb: type: "ks8500_runner" name: "6gsb" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" input: ks8500runner_name: "6gsb-" ks8500runner_registration_token: "" diff --git a/loadcore_agent/sample_tnlcm_descriptor_open5gs_k8s.yaml b/loadcore_agent/sample_tnlcm_descriptor_open5gs_k8s.yaml index bf885619..7560f911 100644 --- a/loadcore_agent/sample_tnlcm_descriptor_open5gs_k8s.yaml +++ b/loadcore_agent/sample_tnlcm_descriptor_open5gs_k8s.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for LoadCore Agent with K8S" +description: "LoadCore Agent and 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.10.1" one_vnet_netmask: 24 @@ -17,6 +25,8 @@ trial_network: type: "oneKE" name: "cluster" dependencies: + - "tn_vxlan" + - "tn_bastion" - "vnet-internal" input: one_oneKE_external_vnet: "tn_vxlan" @@ -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" @@ -47,7 +60,9 @@ trial_network: type: "loadcore_agent" name: "dn" dependencies: - - "vnet-internal" + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" input: one_loadcore_agent_networks: - "tn_vxlan" @@ -57,7 +72,9 @@ trial_network: type: "loadcore_agent" name: "gnb" dependencies: - - "vnet-internal" + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" input: one_loadcore_agent_networks: - "tn_vxlan" diff --git a/loadcore_agent/sample_tnlcm_descriptor_open5gs_vm.yaml b/loadcore_agent/sample_tnlcm_descriptor_open5gs_vm.yaml index 4774aa71..c978cbfa 100644 --- a/loadcore_agent/sample_tnlcm_descriptor_open5gs_vm.yaml +++ b/loadcore_agent/sample_tnlcm_descriptor_open5gs_vm.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for LoadCore Agent with VM" +description: "LoadCore Agent and 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: {} vnet-n2: type: "vnet" name: "n2" - dependencies: - - "tn_init" + dependencies: + - "tn_vxlan" + - "tn_bastion" input: one_vnet_first_ip: "10.10.10.1" one_vnet_netmask: 24 @@ -18,7 +26,7 @@ trial_network: # type: "vnet" # name: "n3" # dependencies: - # - "tn_init" + # - "tn_bastion" # input: # one_vnet_first_ip: "10.10.11.1" # one_vnet_netmask: 24 @@ -29,7 +37,8 @@ trial_network: type: "open5gs_vm" name: "core" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" # - "vnet-n3" input: @@ -57,6 +66,8 @@ trial_network: type: "loadcore_agent" name: "dn" dependencies: + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" input: one_loadcore_agent_networks: @@ -67,6 +78,8 @@ trial_network: type: "loadcore_agent" name: "gnb" dependencies: + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" input: one_loadcore_agent_networks: diff --git a/monitoring/.tnlcm/public.yaml b/monitoring/.tnlcm/public.yaml deleted file mode 100644 index 73123bab..00000000 --- a/monitoring/.tnlcm/public.yaml +++ /dev/null @@ -1,108 +0,0 @@ -###################################################### -## -## Component public variables -## -## Diverse information read by the TNLCM -## to adapt its behaviour depending on the component. -## -###################################################### - - -#################################### -## Component metadata -#################################### -metadata: - maintainers: - - Carlos Andreo López - short_description: Deploy a virtual machine with InfluxDB v1 or v2, Grafana and Prometheus - long_description: | - Ubuntu 22.04 LTS virtual machine with InfluxDB v1 or v2, Grafana and Prometheus installed. - - InfluxDB is a time-series database designed to handle large volumes of event and metric data. It is ideal for applications that require high performance in data writes, such as infrastructure monitoring, log analysis, or IoT sensor metrics. In this project, InfluxDB is used to store and query time-based data, enabling trend analysis, alerting, and real-time visualization. Its ability to efficiently manage large amounts of data and integration with various visualization tools like Grafana make InfluxDB an excellent solution for such applications. - Grafana is an open-source analytics and monitoring platform that allows users to visualize and analyze data from various sources in real-time. It provides a powerful and flexible interface for creating interactive dashboards, enabling users to monitor metrics, logs, and other data in a visually appealing way. Grafana supports a wide range of data sources, including time-series databases like InfluxDB, Prometheus, and Elasticsearch, making it an ideal choice for infrastructure monitoring, application performance management, and business intelligence. - Prometheus is an open-source monitoring and alerting toolkit designed for reliability and scalability. It collects metrics from configured targets at specified intervals, evaluates rule expressions, and can trigger alerts if certain conditions are met. Prometheus is particularly well-suited for dynamic cloud environments and microservices architectures, making it a popular choice for modern application monitoring. - hypervisors: ["one"] - appliances: ["https://marketplace.mobilesandbox.cloud:9443/appliance/service_monitoring"] - - -#################################### -## Site-specific variables -#################################### -site_variables: - template_id: ID of the monitoring VM template to use in your OpenNebula environment - image_id: ID of the monitoring VM image to use in your OpenNebula environment - - -#################################### -## Input variables -#################################### -input: - one_influxdb_version: - description: "InfluxDB version to be installed. Format: X.X.X. Example: 2.7.11" - type: str - default_value: "2.7.11" - required_when: false - one_influxdb_user: - description: Username used to login into the InfluxDB - type: str - default_value: "admin" - required_when: false - one_influxdb_password: - description: Password used to login into the InfluxDB. Required to be at least 8 characters long - type: str - default_value: "adminadmin" - required_when: false - one_influxdb_org: - description: Organization name. Required if InfluxDB v2 is selected - type: str - default_value: "dummyorg" - required_when: false - one_influxdb_bucket: - description: Bucket name. For InfluxDB v1, it is the name of the database - type: str - default_value: "dummybucket" - required_when: false - one_influxdb_token: - description: Token used to login into the InfluxDB. Required if InfluxDB v2 is selected - type: str - default_value: "dummydummytoken" - required_when: false - one_grafana_version: - description: "Grafana version to be installed. Format: X.X.X. Example: 11.6.0" - type: str - default_value: "11.6.0" - required_when: false - one_grafana_password: - description: Password used to login into the Grafana. Required to be at least 8 characters long - type: str - default_value: "adminadmin" - required_when: false - one_prometheus_version: - description: "Prometheus version to be installed. Format: X.X.X. Example: 2.53.4" - type: str - default_value: "2.53.4" - required_when: false - - -#################################### -## Generated terraform outputs -#################################### -terraform_outputs: - __entity_name__id: "VM ID in OpenNebula. Generated from Terraform Manifest" - __entity_name__ips: "Dictionary of VM IP addresses: {: }. Generated from Terraform Manifest" - __entity_name__grafana_conf: # Dictionay of Grafana configuration. Generated from Terraform Manifest - version: input.one_grafana_version - user: "admin" - password: input.one_grafana_version - host: "First IP address of the VM. Generally the one in the tn_vxlan network" - port: 3000 - __entity_name__influx_conf: # Dictionay of InfluxDB configuration. Generated from Terraform Manifest - version: input.one_influxdb_version - user: input.one_influxdb_user - password: input.one_influxdb_password - org: input.one_influxdb_org - bucket: input.one_influxdb_bucket - token: input.one_influxdb_token - host: "First IP address of the VM. Generally the one in the tn_vxlan network" - port: 8086 - \ No newline at end of file diff --git a/monitoring/README.md b/monitoring/README.md deleted file mode 100644 index e03fa387..00000000 --- a/monitoring/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Monitoring - -Ubuntu 22.04 LTS virtual machine with InfluxDB v1 or v2, Grafana and Prometheus installed. - -InfluxDB is a time-series database designed to handle large volumes of event and metric data. It is ideal for applications that require high performance in data writes, such as infrastructure monitoring, log analysis, or IoT sensor metrics. In this project, InfluxDB is used to store and query time-based data, enabling trend analysis, alerting, and real-time visualization. Its ability to efficiently manage large amounts of data and integration with various visualization tools like Grafana make InfluxDB an excellent solution for such applications. - -Grafana is an open-source analytics and monitoring platform that allows users to visualize and analyze data from various sources in real-time. It provides a powerful and flexible interface for creating interactive dashboards, enabling users to monitor metrics, logs, and other data in a visually appealing way. Grafana supports a wide range of data sources, including time-series databases like InfluxDB, Prometheus, and Elasticsearch, making it an ideal choice for infrastructure monitoring, application performance management, and business intelligence. - -Prometheus is an open-source monitoring and alerting toolkit designed for reliability and scalability. It collects metrics from configured targets at specified intervals, evaluates rule expressions, and can trigger alerts if certain conditions are met. Prometheus is particularly well-suited for dynamic cloud environments and microservices architectures, making it a popular choice for modern application monitoring. diff --git a/monitoring/changelog.md b/monitoring/changelog.md deleted file mode 100644 index 72cfd0dc..00000000 --- a/monitoring/changelog.md +++ /dev/null @@ -1,5 +0,0 @@ -# Changelog - -## unreleased -### Added -- Initial release of `monitoring` component to the 6G-Library that includes: InfluxDB, Grafana and Prometheus. diff --git a/monitoring/code/component_playbook.yaml b/monitoring/code/component_playbook.yaml deleted file mode 100644 index 853b63fa..00000000 --- a/monitoring/code/component_playbook.yaml +++ /dev/null @@ -1,112 +0,0 @@ ---- -- name: "STAGE 1: Apply IaC to deploy the component" - hosts: localhost - gather_facts: false - connection: local - tasks: - - name: Load enviromental variables from different sources - ansible.builtin.include_tasks: "{{ workspace }}/.global/cac/load_variables.yaml" - - - name: Prepare terraform working directory - ansible.builtin.include_tasks: "{{ workspace }}/.global/cac/terraform_workdir.yaml" - - - name: Terraform apply - ansible.builtin.include_tasks: "{{ workspace }}/.global/cac/terraform_apply.yaml" - - -- name: "STAGE 2: Prepare to access the component" - hosts: localhost - gather_facts: false - connection: local - tasks: - - name: Retrieve terraform outputs - ansible.builtin.shell: - args: - chdir: "{{ workspace }}/.terraform/" - cmd: "set -o pipefail && terraform output --json | jq 'with_entries(.value |= .value)'" - executable: /bin/bash - register: terraform_outputs - changed_when: false - - - name: Set Terraform outputs as playbook facts - ansible.builtin.set_fact: - bastion_ip: "{{ (terraform_outputs.stdout | from_json)['tn_bastion-ips'][site_networks_id.default | string] }}" - tn_ssh_public_key: "{{ (terraform_outputs.stdout | from_json)['tn_ssh_public_key'] }}" - tn_dns_token: "{{ (terraform_outputs.stdout | from_json)['tn_dns_token'] }}" - ips: "{{ (terraform_outputs.stdout | from_json)[entity_name + '-ips'] }}" - id: "{{ (terraform_outputs.stdout | from_json)[entity_name + '-id'] }}" - access_vnet_id: "{{ (terraform_outputs.stdout | from_json)[one_monitoring_networks[0] + '-id'] | string }}" - domain_name: >- - {{ - ( - (component_type | regex_replace('_', '') | lower) ~ '-' ~ - (custom_name | regex_replace('_', '') | lower) ~ '.' ~ - (tn_id | regex_replace('_', '') | lower) ~ '.' ~ - site_domain - ) | trim - }} - - - name: Add new VM to Ansible Inventory - ansible.builtin.add_host: - hostname: "monitoring" - ansible_host: "{{ ips[access_vnet_id] }}" - ansible_ssh_common_args: "-J jenkins@{{ bastion_ip }}" - ansible_user: "jenkins" - - - name: Add new VM to SSH config file in the Jenkins-master for debugging purposes - ansible.builtin.include_tasks: "{{ workspace }}/.global/cac/jenkins_ssh_config.yaml" - - -- name: "STAGE 3: Apply CaC to prepare the component" - hosts: "monitoring" - gather_facts: false - tasks: - - name: Wait for system to become reachable - ansible.builtin.wait_for_connection: - connect_timeout: 5 - timeout: 200 - - - name: Set site ssh key as authorized in jenkins user - ansible.posix.authorized_key: - user: jenkins - state: present - key: "{{ item }}" - loop: - - "{{ hostvars['localhost'].get('site_admin_ssh_public_key', '') }}" - when: item != '' - - - name: Create new user for experimenter access - become: true - ansible.builtin.user: - name: tnuser - shell: /bin/bash - groups: sudo - password: '' - - name: Set TN ssh key as authorized in new user - become: true - ansible.posix.authorized_key: - user: tnuser - state: present - key: "{{ item }}" - loop: - - "{{ hostvars['localhost']['tn_ssh_public_key'] }}" - - -- name: "STAGE 4: Publish execution results" - hosts: localhost - gather_facts: false - connection: local - tasks: - - name: Set DNS record for the component - ansible.builtin.uri: - url: >- - {{ - 'http://' ~ bastion_ip ~ ':5380/api/zones/records/add?token=' ~ tn_dns_token ~ - '&domain=' ~ domain_name ~ - '&type=A&ptr=true&createPtrZone=true&ipAddress=' ~ ips[access_vnet_id] | trim - }} - method: POST - body_format: json - status_code: [200] - - name: Publish execution results to TNLCM and S3 object storage - ansible.builtin.include_tasks: "{{ workspace }}/.global/cac/publish_ok_results.yaml" diff --git a/monitoring/code/one/iac/monitoring.tf.j2 b/monitoring/code/one/iac/monitoring.tf.j2 deleted file mode 100644 index d87e650d..00000000 --- a/monitoring/code/one/iac/monitoring.tf.j2 +++ /dev/null @@ -1,78 +0,0 @@ -# https://registry.terraform.io/providers/OpenNebula/opennebula/latest/docs/resources/virtual_machine -# https://docs.opennebula.io/6.8/management_and_operations/references/template.html#context-section -resource "opennebula_virtual_machine" "{{ entity_name }}" { - name = "{{ tn_id }}-{{ entity_name }}" - template_id = {{ site_available_components.monitoring.template_id }} - cpu = {{ one_monitoring_cpu }} - vcpu = {{ one_monitoring_cpu }} - memory = {{ one_monitoring_memory }} - - context = { - NETWORK = "YES" - NETCFG_TYPE = "interfaces" - SET_HOSTNAME = "$NAME" - USERNAME = "jenkins" - SSH_PUBLIC_KEY = "$USER[SSH_PUBLIC_KEY]" - ONEAPP_INFLUXDB_VERSION = "{{ one_influxdb_version }}" - ONEAPP_INFLUXDB_USER = "{{ one_influxdb_user }}" - ONEAPP_INFLUXDB_PASSWORD = "{{ one_influxdb_password }}" - ONEAPP_INFLUXDB_ORG = "{{ one_influxdb_org }}" - ONEAPP_INFLUXDB_BUCKET = "{{ one_influxdb_bucket }}" - ONEAPP_INFLUXDB_TOKEN = "{{ one_influxdb_token }}" - ONEAPP_GRAFANA_VERSION = "{{ one_grafana_version }}" - ONEAPP_GRAFANA_ADMIN_PASSWORD = "{{ one_grafana_password }}" - ONEAPP_PROMETHEUS_VERSION = "{{ one_prometheus_version }}" - } - -{# ### Disabled the possibility to modify VM's size due to a problem with Terraform's OpenNebula Provider - disk { - image_id = {{ site_available_components.monitoring.image_id }} - size = {{ one_monitoring_disk }} - target = "vda" - driver = "qcow2" - } #} - -{% for network in one_monitoring_networks %} - nic { - model = "virtio" - network_id = opennebula_virtual_network.{{ network }}.id - } -{% endfor %} - - depends_on = [ opennebula_virtual_network_address_range.tn_vxlan ] -} - -output "{{ entity_name }}-id" { - description = "OpenNebula VM ID" - value = opennebula_virtual_machine.{{ entity_name }}.id -} - -output "{{ entity_name }}-ips" { - description = "OpenNebula VM Network Assignments" - value = { for nic in opennebula_virtual_machine.{{ entity_name }}.nic[*] : nic.network_id => nic.computed_ip } -} - -output "{{ entity_name }}-influx_conf" { - description = "InfluxDB configuration" - value = { - version = "{{ one_influxdb_version | default('') }}" - user = "{{ one_influxdb_user | default('') }}" - password = "{{ one_influxdb_password | default('') }}" - org = "{{ one_influxdb_org | default('') }}" - bucket = "{{ one_influxdb_bucket | default('') }}" - token = "{{ one_influxdb_token | default('') }}" - host = opennebula_virtual_machine.{{ entity_name }}.nic[0].computed_ip - port = 8086 - } -} - -output "{{ entity_name }}-grafana_conf" { - description = "Grafana configuration" - value = { - version = "{{ one_grafana_version | default('') }}" - user = "admin" - password = "{{ one_grafana_password | default('') }}" - host = opennebula_virtual_machine.{{ entity_name }}.nic[0].computed_ip - port = 3000 - } -} \ No newline at end of file diff --git a/monitoring/result_templates/fail_result.md.j2 b/monitoring/result_templates/fail_result.md.j2 deleted file mode 100644 index a6a3ecd6..00000000 --- a/monitoring/result_templates/fail_result.md.j2 +++ /dev/null @@ -1,5 +0,0 @@ -There was an error. Detailed info: - -``` -{{ terraform_apply.stderr }} -``` diff --git a/monitoring/result_templates/ok_result.md.j2 b/monitoring/result_templates/ok_result.md.j2 deleted file mode 100644 index 45a15340..00000000 --- a/monitoring/result_templates/ok_result.md.j2 +++ /dev/null @@ -1,51 +0,0 @@ -# {{ tn_id }}-{{ entity_name }} - -The component `{{ tn_id }}-{{ entity_name }}` has been succesfully created. - -## Important information: - -- **OpenNebula VM ID**: `{{ id }}` -- **VM memory**: `{{ one_monitoring_memory }} MiB` -- **VM VCPUs**: `{{ one_monitoring_cpu }}` -- **VM available storage**: `7 GiB` -- **VM network interfaces**: - ```json - {{ ips }} - ``` - -## InfluxDB v{{ one_influxdb_version }} information: - -{% if one_influxdb_version.startswith("1.") %} -InfluxDB is available on port 8086. - -- **Username**: `{{ one_influxdb_user }}` -- **Password**: `{{ one_influxdb_password }}` -- **Database**: `{{ one_influxdb_database }}` -{% else %} -InfluxDB is available on port 8086. - -[http://{{ domain_name }}:8086](http://{{ domain_name }}:8086) - -- **Username**: `{{ one_influxdb_user }}` -- **Password**: `{{ one_influxdb_password }}` -- **Organization**: `{{ one_influxdb_org }}` -- **Bucket**: `{{ one_influxdb_bucket }}` -- **Token**: `{{ one_influxdb_token }}` -{% endif %} - -## Grafana v{{ one_grafana_version }} - -Grafana is available on port 3000. - -[http://{{ domain_name }}:3000](http://{{ domain_name }}:3000) - -Information to access to Grafana dashboard: - -- **Username**: `admin` -- **Password**: `{{ one_grafana_password }}` - -## Prometheus v{{ one_prometheus_version }} - -Prometheus is available on port 9090. - -[http://{{ domain_name }}:9090](http://{{ domain_name }}:9090) diff --git a/monitoring/sample_input_file_influxdb_v1.yaml b/monitoring/sample_input_file_influxdb_v1.yaml deleted file mode 100644 index 8466ae86..00000000 --- a/monitoring/sample_input_file_influxdb_v1.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# THIS IS AN INPUT FILE EXAMPLE. Values may not be valid for your enviroment - -#one_monitoring_cpu: 2 -#one_monitoring_memory: 2048 -#one_monitoring_disk: 3072 -#one_monitoring_networks: -# - tn_vxlan - -one_influxdb_version: "1.7.6" -# one_influxdb_user: "admin" -# one_influxdb_password: "adminadmin" -# one_influxdb_org: "dummyorg" -# one_influxdb_bucket: "dummybucket" -# one_influxdb_token: "dummydummytoken" -one_grafana_version: "11.6.0" -# one_grafana_password: "adminadmin" -one_prometheus_version: "2.54.3" diff --git a/monitoring/sample_input_file_influxdb_v2.yaml b/monitoring/sample_input_file_influxdb_v2.yaml deleted file mode 100644 index 4e4b7be5..00000000 --- a/monitoring/sample_input_file_influxdb_v2.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# THIS IS AN INPUT FILE EXAMPLE. Values may not be valid for your enviroment - -#one_monitoring_cpu: 2 -#one_monitoring_memory: 2048 -#one_monitoring_disk: 3072 -#one_monitoring_networks: -# - tn_vxlan - -one_influxdb_version: "2.7.11" -# one_influxdb_user: "admin" -# one_influxdb_password: "adminadmin" -one_influxdb_org: "dummyorg" -# one_influxdb_bucket: "dummybucket" -one_influxdb_token: "dummydummytoken" -one_grafana_version: "11.6.0" -# one_grafana_password: "adminadmin" -one_prometheus_version: "2.54.3" diff --git a/monitoring/sample_tnlcm_descriptor_v1.yaml b/monitoring/sample_tnlcm_descriptor_v1.yaml deleted file mode 100644 index b68e043a..00000000 --- a/monitoring/sample_tnlcm_descriptor_v1.yaml +++ /dev/null @@ -1,17 +0,0 @@ -trial_network: - tn_init: - type: "tn_init" - dependencies: [] - input: {} - monitoring-v1: - type: "monitoring" - name: "v1" - dependencies: ["tn_init"] - input: - one_influxdb_version: "1.7.6" - one_influxdb_user: "admin" - one_influxdb_password: "adminadmin" - one_influxdb_bucket: "testing" - one_grafana_version: "11.6.0" - one_grafana_password: "adminadmin" - one_prometheus_version: "2.54.3" diff --git a/monitoring/sample_tnlcm_descriptor_v2.yaml b/monitoring/sample_tnlcm_descriptor_v2.yaml deleted file mode 100644 index 5ae127f1..00000000 --- a/monitoring/sample_tnlcm_descriptor_v2.yaml +++ /dev/null @@ -1,19 +0,0 @@ -trial_network: - tn_init: - type: "tn_init" - dependencies: [] - input: {} - monitoring-v2: - type: "monitoring" - name: "v2" - dependencies: ["tn_init"] - input: - one_influxdb_version: "2.7.11" - one_influxdb_user: "admin" - one_influxdb_password: "adminadmin" - one_influxdb_org: "testing" - one_influxdb_bucket: "testing" - one_influxdb_token: "default-token-testing" - one_grafana_version: "11.6.0" - one_grafana_password: "adminadmin" - one_prometheus_version: "2.54.3" diff --git a/monitoring/variables/one/private.yaml b/monitoring/variables/one/private.yaml deleted file mode 100644 index e0733f7b..00000000 --- a/monitoring/variables/one/private.yaml +++ /dev/null @@ -1,25 +0,0 @@ -###################################################### -## -## Component private variables -## -## Variables required for the deployment -## and their default value. -## Some of them are modifiable through input variables -## -###################################################### - -one_monitoring_cpu: 2 -one_monitoring_memory: 2048 -one_monitoring_disk: 3072 -one_monitoring_networks: - - tn_vxlan - -one_influxdb_version: "2.7.11" -one_influxdb_user: "admin" -one_influxdb_password: "adminadmin" -# one_influxdb_org: "dummyorg" -one_influxdb_bucket: "dummybucket" -# one_influxdb_token: "dummydummytoken" -one_grafana_version: "11.6.0" -one_grafana_password: "adminadmin" -one_prometheus_version: "2.53.4" diff --git a/nokia_radio/sample_tnlcm_descriptor_open5gs_k8s.yaml b/nokia_radio/sample_tnlcm_descriptor_open5gs_k8s.yaml index 24ee5791..f88f4d19 100644 --- a/nokia_radio/sample_tnlcm_descriptor_open5gs_k8s.yaml +++ b/nokia_radio/sample_tnlcm_descriptor_open5gs_k8s.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for Nokia Radio" +description: "Nokia 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" # Default is 10.21.12.1 # one_vnet_netmask: 24 # Default value @@ -16,6 +24,8 @@ trial_network: type: "oneKE" name: "cluster" dependencies: + - "tn_vxlan" + - "tn_bastion" - "vnet-internal" input: one_oneKE_external_vnet: "tn_vxlan" @@ -32,6 +42,9 @@ trial_network: type: "open5gs_k8s" name: "core" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" - "oneKE-cluster" input: one_open5gs_k8s_target: "oneKE-cluster" @@ -51,6 +64,10 @@ trial_network: type: "nokia_radio" name: "RAN" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" + - "oneKE-cluster" - "open5gs_k8s-core" input: any_nokia_radio_linked_5gcore: "open5gs_k8s-core" diff --git a/nokia_radio/sample_tnlcm_descriptor_open5gs_vm.yaml b/nokia_radio/sample_tnlcm_descriptor_open5gs_vm.yaml index 6437b3ba..faa73fce 100644 --- a/nokia_radio/sample_tnlcm_descriptor_open5gs_vm.yaml +++ b/nokia_radio/sample_tnlcm_descriptor_open5gs_vm.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for Nokia Radio" +description: "Nokia Radio 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: {} vnet-n2: type: "vnet" name: "n2" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" input: one_vnet_first_ip: "10.10.12.1" # Default is 10.21.12.1 # one_vnet_netmask: 24 # Default value @@ -16,7 +24,8 @@ trial_network: type: "open5gs_vm" name: "core" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" input: one_open5gs_vm_external_vnet: "tn_vxlan" @@ -36,11 +45,13 @@ trial_network: # one_open5gs_vm_apn: "internet" # Default value # one_open5gs_vm_s_nssai_sst: 1 # Default value one_open5gs_vm_s_nssai_sd: "000009" # Default value is "000001" - nokia_radio-RAN: type: "nokia_radio" name: "RAN" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-n2" - "open5gs_vm-core" input: any_nokia_radio_linked_5gcore: "open5gs_vm-core" diff --git a/ocf/sample_tnlcm_descriptor.yaml b/ocf/sample_tnlcm_descriptor.yaml index 76d1f3c5..35b41517 100644 --- a/ocf/sample_tnlcm_descriptor.yaml +++ b/ocf/sample_tnlcm_descriptor.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for OCF" +description: "OCF with K8S for discover APIs" 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.10.1" one_vnet_netmask: 24 @@ -17,7 +25,8 @@ trial_network: type: "oneKE" name: "k8s" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-internal" input: one_oneKE_internal_vnet: "vnet-internal" @@ -33,6 +42,9 @@ trial_network: type: "ocf" name: "openCapif" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" - "oneKE-k8s" input: ocf_one_oneKE: "oneKE-k8s" diff --git a/oneKE/sample_tnlcm_descriptor.yaml b/oneKE/sample_tnlcm_descriptor.yaml index 3223bece..96cdc5b6 100644 --- a/oneKE/sample_tnlcm_descriptor.yaml +++ b/oneKE/sample_tnlcm_descriptor.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for oneKE" +description: "K8S with metallb and longhorn configured" 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.21.12.1" # Default value # one_vnet_netmask: 24 # Default value @@ -16,7 +24,8 @@ trial_network: type: "oneKE" name: "cluster" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-internal" input: one_oneKE_external_vnet: "tn_vxlan" diff --git a/open5gcore_vm/TN_open5gcore-loadcore.yaml b/open5gcore_vm/sample_tnlcm_descriptor_loadcore.yaml similarity index 81% rename from open5gcore_vm/TN_open5gcore-loadcore.yaml rename to open5gcore_vm/sample_tnlcm_descriptor_loadcore.yaml index 139c3478..a3d57cd5 100644 --- a/open5gcore_vm/TN_open5gcore-loadcore.yaml +++ b/open5gcore_vm/sample_tnlcm_descriptor_loadcore.yaml @@ -1,18 +1,25 @@ -# Result: pass # Platform: BERLIN +title: "Sample TNLCM descriptor for Open5GCore VM" +description: "Open5GCore VM with LoadCore Agents" trial_network: - tn_init: - type: "tn_init" + tn_vxlan: + type: "tn_vxlan" dependencies: [] input: one_vxlan_gw: "192.168.197.1" one_vxlan_first_ip: "192.168.197.1" one_vxlan_address_size: 254 + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" + input: {} vnet-n2: type: "vnet" name: "n2" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" input: one_vnet_first_ip: "10.10.10.2" one_vnet_address_size: 253 @@ -21,7 +28,8 @@ trial_network: # type: "vnet" # name: "n3" # dependencies: - # - "tn_init" + # - "tn_vxlan" + # - "tn_bastion" # input: # one_vnet_first_ip: "10.10.11.1" # one_vnet_netmask: "255.255.255.0" @@ -31,7 +39,8 @@ trial_network: type: "open5gcore_vm" name: "core" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" # - "vnet-n3" input: @@ -59,8 +68,10 @@ trial_network: type: "loadcore_agent" name: "dn" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" + - "open5gcore_vm-core" input: one_loadcore_agent_networks: - "tn_vxlan" @@ -69,8 +80,10 @@ trial_network: type: "loadcore_agent" name: "gnb" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" + - "open5gcore_vm-core" input: one_loadcore_agent_networks: - "tn_vxlan" diff --git a/open5gcore_vm/TN_open5gcore-ueransim.yaml b/open5gcore_vm/sample_tnlcm_descriptor_ueransim.yaml similarity index 84% rename from open5gcore_vm/TN_open5gcore-ueransim.yaml rename to open5gcore_vm/sample_tnlcm_descriptor_ueransim.yaml index 7c39c48b..ed4bca43 100644 --- a/open5gcore_vm/TN_open5gcore-ueransim.yaml +++ b/open5gcore_vm/sample_tnlcm_descriptor_ueransim.yaml @@ -1,9 +1,18 @@ -# Result: pass # Platform: BERLIN +title: "Sample TNLCM descriptor for Open5GCore VM" +description: "Open5GCore VM with ueransim" trial_network: - tn_init: - type: "tn_init" - dependencies: ["vnet-n2"] + tn_vxlan: + type: "tn_vxlan" + dependencies: [] + input: + one_vxlan_gw: "192.168.197.1" + one_vxlan_first_ip: "192.168.197.1" + one_vxlan_address_size: 254 + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" input: one_bastion_networks: - tn_vxlan @@ -11,8 +20,9 @@ trial_network: vnet-n2: type: "vnet" name: "n2" - dependencies: [] - #- "tn_init" + dependencies: + - "tn_vxlan" + - "tn_bastion" input: one_vnet_first_ip: "10.10.10.1" one_vnet_netmask: 24 @@ -22,7 +32,8 @@ trial_network: # type: "vnet" # name: "n3" # dependencies: - # - "tn_init" + # - "tn_vxlan" + # - "tn_bastion" # input: # one_vnet_first_ip: "10.10.11.1" # one_vnet_netmask: 24 @@ -32,7 +43,8 @@ trial_network: type: "open5gcore_vm" name: "core" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" # - "vnet-n3" input: @@ -60,7 +72,8 @@ trial_network: type: "ueransim" name: "both" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" - "open5gcore_vm-core" input: diff --git a/open5gs_k8s/sample_tnlcm_descriptor.yaml b/open5gs_k8s/sample_tnlcm_descriptor.yaml index f18b5705..87722613 100644 --- a/open5gs_k8s/sample_tnlcm_descriptor.yaml +++ b/open5gs_k8s/sample_tnlcm_descriptor.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for Open5GCore on K8S" +description: "Open5GCore on 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.21.12.1" # Default value # one_vnet_netmask: 24 # Default value @@ -16,7 +24,8 @@ trial_network: type: "oneKE" name: "cluster" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-internal" input: one_oneKE_external_vnet: "tn_vxlan" @@ -33,6 +42,9 @@ trial_network: type: "open5gs_k8s" name: "core" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" - "oneKE-cluster" input: one_open5gs_k8s_target: "oneKE-cluster" diff --git a/open5gs_vm/sample_tnlcm_descriptor.yaml b/open5gs_vm/sample_tnlcm_descriptor.yaml index b830e61f..bed9b976 100644 --- a/open5gs_vm/sample_tnlcm_descriptor.yaml +++ b/open5gs_vm/sample_tnlcm_descriptor.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for Open5GCore on VM" +description: "Open5GCore on VM" trial_network: - tn_init: - type: "tn_init" + tn_vxlan: + type: "tn_vxlan" dependencies: [] input: {} + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" + input: {} vnet-n2: type: "vnet" name: "n2" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" input: {} # one_vnet_first_ip: "10.21.12.1" # Default value # one_vnet_netmask: 24 # Default value @@ -16,7 +24,8 @@ trial_network: # type: "vnet" # name: "n3" # dependencies: - # - "tn_init" + # - "tn_vxlan" + # - "tn_bastion" # input: # one_vnet_first_ip: "10.10.11.1" # one_vnet_netmask: 24 @@ -27,7 +36,8 @@ trial_network: type: "open5gs_vm" name: "core" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" # - "vnet-n3" input: diff --git a/prometheus/sample_tnlcm_descriptor.yaml b/prometheus/sample_tnlcm_descriptor.yaml index 13f8229f..f703e5cd 100644 --- a/prometheus/sample_tnlcm_descriptor.yaml +++ b/prometheus/sample_tnlcm_descriptor.yaml @@ -1,11 +1,20 @@ +title: "Sample TNLCM descriptor for prometheus" +description: "Simple prometheus instance to monitor the network" trial_network: - tn_init: - type: "tn_init" + tn_vxlan: + type: "tn_vxlan" dependencies: [] input: {} + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" + input: {} prometheus-v2: type: "prometheus" name: "v2" - dependencies: ["tn_init"] + dependencies: + - "tn_vxlan" + - "tn_bastion" input: one_prometheus_version: "2.53.4" diff --git a/stf_ue/sample_tnlcm_descriptor.yaml b/stf_ue/sample_tnlcm_descriptor.yaml index 71fe7a4c..5b531db7 100644 --- a/stf_ue/sample_tnlcm_descriptor.yaml +++ b/stf_ue/sample_tnlcm_descriptor.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for UE" +description: "Nokia Radio with UE" 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" # Default is 10.21.12.1 # one_vnet_netmask: 24 # Default value @@ -16,6 +24,8 @@ trial_network: type: "oneKE" name: "cluster" dependencies: + - "tn_vxlan" + - "tn_bastion" - "vnet-internal" input: one_oneKE_external_vnet: "tn_vxlan" @@ -32,6 +42,9 @@ trial_network: type: "open5gs_k8s" name: "core" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" - "oneKE-cluster" input: one_open5gs_k8s_target: "oneKE-cluster" @@ -51,6 +64,10 @@ trial_network: type: "nokia_radio" name: "RAN" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" + - "oneKE-cluster" - "open5gs_k8s-core" input: any_nokia_radio_linked_5gcore: "open5gs_k8s-core" @@ -59,6 +76,11 @@ trial_network: type: "stf_ue" name: "movil" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" + - "oneKE-cluster" + - "open5gs_k8s-core" - "nokia_radio-RAN" input: any_stf_ue_duration: 10800 # Default is 3600 seconds diff --git a/tn_bastion/sample_tnlcm_descriptor.yaml b/tn_bastion/sample_tnlcm_descriptor.yaml index bd6fb559..b2be6f3d 100644 --- a/tn_bastion/sample_tnlcm_descriptor.yaml +++ b/tn_bastion/sample_tnlcm_descriptor.yaml @@ -1,3 +1,5 @@ +title: "Sample TNLCM descriptor for bastion" +descriptor: "Simple VPN bastion with 3 clients" trial_network: tn_vxlan: type: "tn_vxlan" @@ -5,7 +7,8 @@ trial_network: input: {} tn_bastion: type: "tn_bastion" - dependencies: ['tn_vxlan'] + dependencies: + - "tn_vxlan" input: one_bastion_vpn_clients: 3 one_bastion_vpn_allowedips: "0.0.0.0/0" diff --git a/tn_vxlan/sample_tnlcm_descriptor.yaml b/tn_vxlan/sample_tnlcm_descriptor.yaml index a290082b..084f3ce5 100644 --- a/tn_vxlan/sample_tnlcm_descriptor.yaml +++ b/tn_vxlan/sample_tnlcm_descriptor.yaml @@ -1,3 +1,5 @@ +title: "Sample TNLCM descriptor for vxlan" +description: "Simple descriptor for create a vxlan" trial_network: tn_vxlan: type: "tn_vxlan" diff --git a/tsn/sample_tnlcm_descriptor.yaml b/tsn/sample_tnlcm_descriptor.yaml index 9174adf6..c770cb27 100644 --- a/tsn/sample_tnlcm_descriptor.yaml +++ b/tsn/sample_tnlcm_descriptor.yaml @@ -1,14 +1,23 @@ +title: "Sample TNLCM descriptor for TSN" +description: "Simple descriptor for connect to TSN" trial_network: - tn_init: - type: "tn_init" + tn_vxlan: + type: "tn_vxlan" dependencies: [] input: one_vxlan_netmask: 24 one_vxlan_first_ip: "192.168.214.1" one_vxlan_address_size: 254 + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" + input: one_bastion_vpn_clients: 3 one_bastion_vpn_allowedips: "0.0.0.0/0" tsn: type: "tsn" - dependencies: ["tn_init"] + dependencies: + - "tn_vxlan" + - "tn_bastion" input: {} diff --git a/ueransim/sample_tnlcm_descriptor_open5gs_k8s_both.yaml b/ueransim/sample_tnlcm_descriptor_open5gs_k8s_both.yaml index 0283ebc0..cd9cc875 100644 --- a/ueransim/sample_tnlcm_descriptor_open5gs_k8s_both.yaml +++ b/ueransim/sample_tnlcm_descriptor_open5gs_k8s_both.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for UERANSIM both" +description: "UERANSIM both with Open5GS in oneKE" 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.21.12.1" # Default value # one_vnet_netmask: 24 # Default value @@ -16,7 +24,8 @@ trial_network: type: "oneKE" name: "cluster" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-internal" input: one_oneKE_external_vnet: "tn_vxlan" @@ -33,6 +42,9 @@ trial_network: type: "open5gs_k8s" name: "core" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" - "oneKE-cluster" input: one_open5gs_k8s_target: "oneKE-cluster" @@ -52,7 +64,10 @@ trial_network: type: "ueransim" name: "both" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" + - "oneKE-cluster" - "open5gs_k8s-core" input: one_ueransim_networks: diff --git a/ueransim/sample_tnlcm_descriptor_open5gs_k8s_split.yaml b/ueransim/sample_tnlcm_descriptor_open5gs_k8s_split.yaml index d4bf5301..64013433 100644 --- a/ueransim/sample_tnlcm_descriptor_open5gs_k8s_split.yaml +++ b/ueransim/sample_tnlcm_descriptor_open5gs_k8s_split.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for UERANSIM split" +description: "UERANSIM split with Open5GS in oneKE" 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.21.12.1" # Default value # one_vnet_netmask: 24 # Default value @@ -16,7 +24,8 @@ trial_network: type: "oneKE" name: "cluster" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-internal" input: one_oneKE_external_vnet: "tn_vxlan" @@ -33,6 +42,9 @@ trial_network: type: "open5gs_k8s" name: "core" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" - "oneKE-cluster" input: one_open5gs_k8s_target: "oneKE-cluster" @@ -52,7 +64,10 @@ trial_network: type: "ueransim" name: "gnb" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" + - "oneKE-cluster" - "open5gs_k8s-core" input: one_ueransim_networks: @@ -71,7 +86,10 @@ trial_network: type: "ueransim" name: "ue" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" + - "vnet-internal" + - "oneKE-cluster" - "open5gs_k8s-core" - "ueransim-gnb" input: diff --git a/ueransim/sample_tnlcm_descriptor_open5gs_vm_both.yaml b/ueransim/sample_tnlcm_descriptor_open5gs_vm_both.yaml index f4586850..c987d301 100644 --- a/ueransim/sample_tnlcm_descriptor_open5gs_vm_both.yaml +++ b/ueransim/sample_tnlcm_descriptor_open5gs_vm_both.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for UERANSIM both" +description: "UERANSIM both with Open5GS in VM" trial_network: - tn_init: - type: "tn_init" + tn_vxlan: + type: "tn_vxlan" dependencies: [] input: {} + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" + input: {} vnet-n2: type: "vnet" name: "n2" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" input: one_vnet_first_ip: "10.10.10.1" one_vnet_netmask: 24 @@ -18,7 +26,8 @@ trial_network: type: "open5gs_vm" name: "core" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" input: one_open5gs_vm_external_vnet: "tn_vxlan" @@ -42,6 +51,9 @@ trial_network: type: "ueransim" name: "both" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-n2" - "open5gs_vm-core" input: one_ueransim_networks: diff --git a/ueransim/sample_tnlcm_descriptor_open5gs_vm_split.yaml b/ueransim/sample_tnlcm_descriptor_open5gs_vm_split.yaml index 275365bc..ca21eb06 100644 --- a/ueransim/sample_tnlcm_descriptor_open5gs_vm_split.yaml +++ b/ueransim/sample_tnlcm_descriptor_open5gs_vm_split.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for UERANSIM" +description: "UERANSIM split with Open5GS in VM" trial_network: - tn_init: - type: "tn_init" + tn_vxlan: + type: "tn_vxlan" dependencies: [] input: {} + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" + input: {} vnet-n2: type: "vnet" name: "n2" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" input: one_vnet_first_ip: "10.10.10.1" one_vnet_netmask: 24 @@ -18,7 +26,8 @@ trial_network: type: "open5gs_vm" name: "core" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n2" input: one_open5gs_vm_external_vnet: "tn_vxlan" @@ -42,6 +51,9 @@ trial_network: type: "ueransim" name: "gnb" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-n2" - "open5gs_vm-core" input: one_ueransim_networks: @@ -60,6 +72,10 @@ trial_network: type: "ueransim" name: "ue" dependencies: + - "tn_vxlan" + - "tn_bastion" + - "vnet-n2" + - "open5gs_vm-core" - "ueransim-gnb" input: one_ueransim_networks: diff --git a/upf_p4_sw/sample_tnlcm_descriptor.yaml b/upf_p4_sw/sample_tnlcm_descriptor.yaml index 0558aee8..d1b37ddf 100644 --- a/upf_p4_sw/sample_tnlcm_descriptor.yaml +++ b/upf_p4_sw/sample_tnlcm_descriptor.yaml @@ -1,13 +1,19 @@ trial_network: - tn_init: - type: "tn_init" + tn_vxlan: + type: "tn_vxlan" dependencies: [] input: {} + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" + input: {} vnet-n1_n3: type: "vnet" name: "n1_n3" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" input: one_vnet_first_ip: "10.11.3.1" # one_vnet_netmask: 24 # Default value @@ -17,7 +23,8 @@ trial_network: type: "vnet" name: "n6" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" input: one_vnet_first_ip: "10.11.6.1" # one_vnet_netmask: 24 # Default value @@ -27,7 +34,8 @@ trial_network: type: "upf_p4_sw" name: "upf" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n1_n3" - "vnet-n6" input: @@ -54,7 +62,8 @@ trial_network: type: "ueransim" name: "gnb" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "vnet-n1_n3" - "upf_p4_sw-upf" input: @@ -71,12 +80,12 @@ trial_network: # one_ueransim_gnb_mnc: "01" # Default value + autocompleted from upf_p4_sw-upf # one_ueransim_gnb_slices_sst: 1 # Default value + autocompleted from upf_p4_sw-upf # one_ueransim_gnb_slices_sd: "000001" # Default value + autocompleted from upf_p4_sw-upf - ueransim-ue: type: "ueransim" name: "ue" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "upf_p4_sw-upf" - "ueransim-gnb" input: @@ -95,12 +104,12 @@ trial_network: # one_ueransim_ue_session_apn: "internet" # Default value + autocompleted from ueransim-gnb # one_ueransim_ue_session_sst: 1 # Default value + autocompleted from ueransim-gnb # one_ueransim_ue_session_sd: "000001" # Default value + autocompleted from ueransim-gnb - vm_kvm-pdn: type: "vm_kvm" name: "pdn" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" - "upf_p4_sw-upf" input: one_vm_kvm_size: "small" # extra_large, large, medium, small, very_small diff --git a/vm_kvm/sample_tnlcm_descriptor.yaml b/vm_kvm/sample_tnlcm_descriptor.yaml index d90648ca..0749188f 100644 --- a/vm_kvm/sample_tnlcm_descriptor.yaml +++ b/vm_kvm/sample_tnlcm_descriptor.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for vm_kvm" +description: "Create a VM with Ubuntu 22.04" trial_network: - tn_init: - type: "tn_init" + tn_vxlan: + type: "tn_vxlan" dependencies: [] input: {} + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" + input: {} vm_kvm-ubuntu22_04: type: "vm_kvm" name: "ubuntu22_04" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" input: one_vm_kvm_size: "small" # extra_large, large, medium, small, very_small one_vm_kvm_networks: diff --git a/vnet/sample_tnlcm_descriptor.yaml b/vnet/sample_tnlcm_descriptor.yaml index b5df9a9d..9c0b1e31 100644 --- a/vnet/sample_tnlcm_descriptor.yaml +++ b/vnet/sample_tnlcm_descriptor.yaml @@ -1,13 +1,21 @@ +title: "Sample TNLCM descriptor for VNET" +description: "Create a VNET with a gateway and DNS" trial_network: - tn_init: - type: "tn_init" + tn_vxlan: + type: "tn_vxlan" dependencies: [] input: {} + tn_bastion: + type: "tn_bastion" + dependencies: + - "tn_vxlan" + input: {} vnet-anothernet: type: "vnet" name: "anothernet" dependencies: - - "tn_init" + - "tn_vxlan" + - "tn_bastion" input: one_vnet_gw: "10.20.30.5" one_vnet_dns: "1.1.1.1 1.0.0.1" diff --git a/xrext/sample_tnlcm_descriptor.yaml b/xrext/sample_tnlcm_descriptor.yaml index 77ba1e44..1496b161 100644 --- a/xrext/sample_tnlcm_descriptor.yaml +++ b/xrext/sample_tnlcm_descriptor.yaml @@ -1,10 +1,19 @@ +title: "Sample TNLCM descriptor for XREXT" +description: "XREXT 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: {} xrext-nokia: type: "xrext" name: "nokia" - dependencies: ["tn_init"] + dependencies: + - "tn_vxlan" + - "tn_bastion" input: {} From d3e6fae86c087761fabd0f1c04367f810058b58a Mon Sep 17 00:00:00 2001 From: CarlosAndreo Date: Tue, 29 Apr 2025 11:18:16 +0000 Subject: [PATCH 2/2] fix: descriptors --- int_p4_sw/sample_tnlcm_descriptor.yaml | 9 +++++++++ oneKE/sample_tnlcm_descriptor.yaml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/int_p4_sw/sample_tnlcm_descriptor.yaml b/int_p4_sw/sample_tnlcm_descriptor.yaml index bd7dcdff..3b03eaf8 100644 --- a/int_p4_sw/sample_tnlcm_descriptor.yaml +++ b/int_p4_sw/sample_tnlcm_descriptor.yaml @@ -13,6 +13,7 @@ trial_network: type: "vnet" name: "1" dependencies: + - "tn_vxlan" - "tn_bastion" input: one_vnet_first_ip: "10.11.1.1" @@ -23,6 +24,7 @@ trial_network: type: "vnet" name: "2" dependencies: + - "tn_vxlan" - "tn_bastion" input: one_vnet_first_ip: "10.11.2.1" @@ -33,6 +35,7 @@ trial_network: type: "vnet" name: "3" dependencies: + - "tn_vxlan" - "tn_bastion" input: one_vnet_first_ip: "10.11.3.1" @@ -43,6 +46,7 @@ trial_network: type: "vnet" name: "4" dependencies: + - "tn_vxlan" - "tn_bastion" input: one_vnet_first_ip: "10.11.4.1" @@ -53,6 +57,7 @@ trial_network: type: "vnet" name: "collector" dependencies: + - "tn_vxlan" - "tn_bastion" input: one_vnet_first_ip: "10.11.5.1" @@ -63,6 +68,8 @@ trial_network: type: "vm_kvm" name: "generator" dependencies: + - "tn_vxlan" + - "tn_bastion" - "vnet-1" input: one_vm_kvm_size: "small" @@ -73,6 +80,7 @@ trial_network: type: "int_p4_sw" name: "int" dependencies: + - "tn_vxlan" - "tn_bastion" - "vnet-1" - "vnet-2" @@ -171,6 +179,7 @@ trial_network: type: "vm_kvm" name: "external" dependencies: + - "tn_vxlan" - "tn_bastion" - "int_p4_sw-int" - "vnet-4" diff --git a/oneKE/sample_tnlcm_descriptor.yaml b/oneKE/sample_tnlcm_descriptor.yaml index 96cdc5b6..a03d68cc 100644 --- a/oneKE/sample_tnlcm_descriptor.yaml +++ b/oneKE/sample_tnlcm_descriptor.yaml @@ -16,7 +16,7 @@ trial_network: dependencies: - "tn_vxlan" - "tn_bastion" - input: + input: {} # one_vnet_first_ip: "10.21.12.1" # Default value # one_vnet_netmask: 24 # Default value # one_vnet_address_size: 100 # Default value