Context Scalability extensions using CockroachDB + Removal of Stateful database inside Device + other
Deploy scripts:
- Aggregated deploy scripts in folder "deploy"
- Added deploy scripts for CockroachDB and NATS
- Updated my_deploy.sh example deployment definition script
Manifests:
- Migrated old GitLab.com URLs to ETSI Labs
- Reduced default number of replicas of components to 1
GitLab CI/CD pipeline:
- Updated and homogeneized definitions
- Disabled deployment in Kubernetes due to changes in GitLab agents (not needed by now)
Common:
- Added method in method_wrappers to dump component performance during unit tests
- Updated Event handling to consider new timestamp structure in context.proto
- Updated MockServiceImpl_Context to log reply messages
- Updated context_queries with new method to get devices and reduced log messages
- Updated object_factory with missing methods and corrected existing ones
- Updated old Constants DEFAULT_CONTEXT_UUID, DEFAULT_TOPOLOGY_UUID and INTERDOMAIN_TOPOLOGY_UUID to ..._NAME
- Updated common requirements
Context component:
- Migrated Context to CockroachDB and NATS
- Defined new Context ORM based on SQLAlchemy and CockroachDB engine
- Updated context.proto and Context component to include name fields in main entities
- Updated context.proto to include slice_ids in Context message
- Updated unitary tests and GitLab CI/CD pipeline accordingly
Device component:
- Removed internal stateful database and replaced by requests-replies to context
- Extended MonitoringLoops to keep track of monitorable endpoints as an efficient in-memory database
- Added logic to pre-load drivers for existing devices in Context when Device component starts
- Reorganized code and separated in relevant modules and classes to improve readability
- Updated unitary tests accordingly
- EmulatedDriver: Reorganized code and separated in relevant modules and classes
- EmulatedDriver: Minor updates to arrange with removal of the internal database
- OpenConfigDriver: Minor updates to arrange with removal of the internal database
DLT component:
- Corrected CI/CD pipeline to prevent using a network with fixed IP address ranges
Load Generator component:
- Generalized load_generator tool to be executable as a command line and/or component
- Added load_generator.proto to control the load_generator component
- Added parameter to enable setting up services and slices, but not tearing them down.
- Added parameter to generate infinite requests
- Adapted parameter generation for services and slices to new definition of service/slice in context
Compute component:
- Moved code to debug content of context to Compute to convert it into a debug_api NBI (by now WIP)
Monitoring component:
- Corrected many small issues in unitary tests
PathComp component:
- Corrected composition of requests for the Backend to be consistent with context definitions
- Improved logging of request sent to backend
- Corrected CI/CD pipeline to prevent using a network with fixed IP address ranges
Service component:
- Corrected CI/CD pipeline to use real context, device, and service images; otherwise crashes
WebUI component:
- Added basic buttons to control Load Generator component
- Corrected logic to handle selection of context/topology
- Added field "name" in many entities (WIP)
- Disabled Dump ContextDB links
- Improved listing of configuration rules of device, service and slice
Misc:
- Many minor bug resolutions, code formatting, and cosmetic changes
- Updated README.md file
Edited by Lluis Gifre Renom