Skip to main content
Version: 0.4.0

Database Schema

TNLCM database, created with MongoDB, consists of several collections that store important information about resource manager, trial network, user and verification token. Below is a description of each collection, along with a graphical representation using SQL syntax created with dbdiagram.io.

Collections

Collection resource_manager

FieldTypeDescription
componentstringComponent over which resources are controlled
tn_idstringID of the trial network
quantityintegerAmount of component available
ttlfloatTime the component can be used in a trial network

Collection trial_network

FieldTypeDescription
user_createdstringUser that created the trial network
tn_idstringID of the trial network (primary key)
statestringState of the trial network
date_created_utcdateCreation date and time in UTC
raw_descriptordictRaw descriptor of the trial network
sorted_descriptordictSorted descriptor
deployed_descriptordictCurrent status of descriptor
reportmarkdownReport related to the trial network
directory_pathstringDirectory where trial network is saved
jenkins_deploy_pipelinestringPipeline for descriptor deployment
jenkins_destroy_pipelinestringPipeline for destroying trial network
deployment_sitestringDeployment site of trial network
inputdictYAML files per entity-name sent to Jenkins
outputdictJSON received by Jenkins per entity-name
library_https_urlstringLibrary github https url
library_commit_idstringLibrary commit ID
sites_https_urlstringSites github https url
sites_commit_idstringSites commit ID

Collection user

FieldTypeDescription
emailstringUser's email address
usernamestringUser's username (primary key)
passwordstringUser's hashed password
rolestringUser's role
orgstringUser's organization

Collection verification_token

FieldTypeDescription
new_account_emailstringEmail for the new account (primary key)
verification_tokenstringVerification token for the account
creation_datedateCreation date of the verification token

Relationships

  • resource_manager.tn_id > trial_network.tn_id // resource_manager references trial_network
  • trial_network.user_created > user.username // A user can have multiple trial_networks (one-to-many)
  • verification_token.new_account_email - user.email // One-to-one relationship between verification_token and user

Model

model