Skip to content

Releases: 6G-SANDBOX/TNLCM

v0.4.1

30 Oct 21:33
586160e
Compare
Choose a tag to compare

v0.4.1 - 2024-10-30

Fixed

  • Generalization of the functions defined in the file file_handler.py in the utils directory.
  • Purge trial network when state is validated.
  • Email validation updated to skip MX record check for MAIL_USERNAME. Now allows sending emails from domains without an MX record by setting check_deliverability=False in the validate_email function.
  • Remove users collection create by default. The correct name of collection is user.

v0.4.0

24 Oct 08:24
f645e5d
Compare
Choose a tag to compare

v0.4.0 - 2024-10-24

Added

  • Concurrency support in the Flask application by integrating Gunicorn to handle multiple simultaneous requests, improving responsiveness and performance.
  • Trial network isolation to run several networks in parallel. The number of parallel trial networks is determined by the value of the environment variable GUNICORN_WORKERS minus 1. By default, GUNICORN_WORKERS is set to 3, allowing two trial networks to be executed concurrently. To execute sequentially, the number of GUNICORN_WORKERS has to be 2.
  • TNLCM folder is created in jenkins. For each trial network its own pipeline is created to guarantee the isolation and to be able to execute several at the same time.
  • TRIAL_NETWORKS readme file added in the docs directory to explain defined trial networks.
  • Initial CLI handler to execute commands.
  • Git switch method for streamlined repository management.
  • Callback collection in database for answers generated by jenkins on entity deployment.
  • Utils directory with required functions.
  • Scripts directory with the following deployment scripts:
    • deploy_vm.sh: deploy TNLCM and MongoDB in a virtual machine.
    • deploy_docker.sh: deploy TNLCM and MongoDB using Docker.

Changed

  • Updated Python to version 3.13.0.
  • Updated MongoDB to version 8.0.
  • Improved README documentation for better clarity and usage guidelines.
  • Migrated from the ansible-vault library to ansible-core since only this module is of interest.
  • Renamed ANSIBLE_VAULT variable in .env.template to SITES_TOKEN for clarity.
  • Moved the implementation from the resource_manager directory to the resource manager within the models directory.
  • Rename trial_networks, users and verification_tokens collections to trial_network, user and verification_token.
  • Rename columns tn_state, tn_date_created_utc, tn_raw_descriptor, tn_sorted_descriptor, tn_deployed_descriptor, tn_report and tn_directory_path to state, date_created_utc, raw_descriptor, sorted_descriptor, deployed_descriptor, report and directory_path in trial_network collection.

Fixed

  • Resolved a bug when creating a trial network, where components were defined in the 6G-Sandbox-Sites repository but not in the 6G-Library.
  • Trial network can be destroyed if it is in failed state.
  • Corrected function documentation to reflect accurate information.
  • Message display when checking if a user can access a trial network.
  • Enhanced logging for TNLCM processes.
  • Issues with JWT and MongoDB error handling.
  • Simplified class exception handling for improved readability and maintainability.
  • Descriptors are converted from being stored in json to dictionaries in the trial_networks collection of the database.

Removed

  • Deprecated API namespaces:
    • Trial network templates.
    • 6G-Library.
    • 6G-Sandbox-Sites.

v0.3.1

04 Oct 10:46
3c0e599
Compare
Choose a tag to compare

v0.3.1 - 2024-10-04

Added

  • Creation of an administrator user when instantiating the mongo database for the first time.

Fixed

  • Types of input values in the test descriptors of the tn_template_lib folder.
  • Check if the site entered to deploy a trial network is correct.

v0.3.0

25 Sep 10:39
692e5f8
Compare
Choose a tag to compare

v0.3.0 - 2024-09-25

Added

  • Debug namespace for developers.
    • Endpoints for modify the commits of the 6G-Sandbox-Sites and 6G-Library repositories associated to a trial network.
    • Endpoints for add or delete debug in specific entity_name.
    • Endpoint for check pipelines available in Jenkins.

Changed

  • Python version to 3.12.6.
  • MongoDB version to 7.0.14.
  • Libraries to latest versions.
  • Update the extension of the docker compose file to .yaml.
  • Rename descriptors folder to tn_template_lib.
  • Added parameter for the TN_DESTROY pipeline with the list of components that need an additional script to be removed.
  • Rename .env variables for pipeline deploy name and pipeline destroy name.

Fixed

  • Condition required when in 6G-Library.

Removed

  • Jenkins namespace of Swagger UI.

v0.2.1

22 Jul 07:40
8a89f4a
Compare
Choose a tag to compare

v0.2.1 - 2024-07-22

Changed

  • Docker version to 27.0.3.

Fixed

  • Launch a trial network when there are no builds of the pipeline yet in Jenkins.
  • Destroy a trial network when there are no builds of the pipeline yet in Jenkins.

v0.2.0

18 Jul 16:42
a554617
Compare
Choose a tag to compare

v0.2.0 - 2024-07-18

Added

  • Resource Manager to control the availability of resources per platform​.
  • Descriptor validation.
  • Initial version of state machine. Available methods:
    • validated
    • activated
    • failed
    • destroyed
  • Integration with 6G-Sandbox-Sites repository.
  • Ansible vault to decrypt files of site stored in 6G-Sandbox-Sites repository.
  • Integration with 6G-Library v0.2.0.
  • Deploy trial networks using specific branch, commit or tags from 6G-Library.
  • Deploy trial networks using specific pipelines.
  • Destroy trial networks using specific pipelines.
  • Indicate the site where the trial network will be deployed. Connection to the site is required.
  • Only components that are available on the indicated site can be deployed.
  • 11 descriptor files that each platform must pass or not pass as a test.

Changed

  • TNLCM is only available on Linux.
  • Python version to 3.12.4.
  • MongoDB version to 7.0.12.
  • Trial network descriptor schema. Two new fields name and type. Also debug can included for Jenkins pipeline (optional).
  • Mongoengine as Mongo ORM.
  • Logs to check TNLCM behavior.
  • Rename folder src to core.
  • Libraries to latest versions.
  • Repository documentation.
  • Endpoints that define the API.

Fixed

  • Mongo volumes in docker compose file.

Removed

  • First integration with pytest.

v0.1.0

16 May 12:01
8e96868
Compare
Choose a tag to compare

v0.1.0 - 2024-05-16

Added

  • Different descriptors defining different trial networks.
  • Detailed documentation including different sections about TNLCM.
  • API using Python and the Flask-RESTX library.
  • Routes for callback, sixglibrary, trial networks, users and verification.
  • Docker compose for MongoDB database to manage the TNs.
  • Integration with 6G-Library v0.1.0.
  • Connection with Jenkins for the deployment of different components. Currently 8 types of components are running:
    • tn_vxlan
    • tn_bastion
    • vm_kvm
    • vxlan
    • k8s_medium
    • open5gs
    • UERANSIM-gNB
    • UERANSIM-UE
  • Logs to check TNLCM behavior.
  • First integration with pytest.

Changed

  • Create TNLCM from scratch.

Removed

  • Frontend implementation.