Releases: 6G-SANDBOX/TNLCM
Releases · 6G-SANDBOX/TNLCM
v0.4.1
v0.4.1 - 2024-10-30
Fixed
- Generalization of the functions defined in the file
file_handler.py
in theutils
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 settingcheck_deliverability=False
in thevalidate_email
function. - Remove
users
collection create by default. The correct name of collection isuser
.
v0.4.0
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 ofGUNICORN_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 toansible-core
since only this module is of interest. - Renamed
ANSIBLE_VAULT
variable in.env.template
toSITES_TOKEN
for clarity. - Moved the implementation from the
resource_manager
directory to the resource manager within themodels
directory. - Rename
trial_networks
,users
andverification_tokens
collections totrial_network
,user
andverification_token
. - Rename columns
tn_state
,tn_date_created_utc
,tn_raw_descriptor
,tn_sorted_descriptor
,tn_deployed_descriptor
,tn_report
andtn_directory_path
tostate
,date_created_utc
,raw_descriptor
,sorted_descriptor
,deployed_descriptor
,report
anddirectory_path
intrial_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
v0.3.0
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 totn_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
v0.2.0
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
tocore
. - 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
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.