Technical Debt
R4 has many feature planned and there may be few items that may spill over to R5.
Some of the features that are being done in R4 (for recollection)
- K8S based Cloud region support
- Deploy VMs and container based workloads.
- VM and container description in Helm
- Support for multiple resource types including Deployment, POD, Service, Config-map, CRDs, stateful set etc..
- Support for multiple profiles, where given resource bundle definition is used to deploy multiple times.
- Support for Day2 configuration of each individual profile/instance.
- Networking:
- Support for dynamic and multiple networks
- Ability to place the POD in multiple networks
- Initial support for OVN for data networks
- Provider network support (using OVN)
Some features that are postponed to R5 are:
- Dynamic route and provider network operator
- OVN operator
- ISTIO security
- Modularity stuff
- Logging
- Monitoring
- Visualization of resource bundle
- Use case that show cases the Day 2 configuration (Kafka or Collection package of Distributed Analytics as a service)
- CLI commands
New requirements coming from various use cases
(Most of the requirements are coming from big data AI platform use case)
- A way to deploy apps/services that span across multiple clusters.
- Day2 configuration control of workloads at the app/service level as a transaction
- Dependency graph (DAG) of deploying workloads across multiple clusters
- Bulk deployment of apps/services in multiple clusters.
- Function chaining
- Multi-tenant management (such as namespaces, users etc...)
- Edge Daemonset via labeling (for scheduler to know what kinds of apps/services to be deployed without any user intervention)
Functional requirements
- SRIOV-NIC Support
- Multi-Cluster scheduler
- Edge-Labeling & Daemon-set implementation across edges
- User Manager
- Meta-configuration scheduler
- Placement support (if there are multiple edge candidates)
- HPA support (being taken care as part of HPA work)
- NSM and OVN SFC for function chaining - PoC item
- CLI Support for all relevant APIs. (Applications, Resource-Bundle definitions, Profiles, Configuration templates, configs and meta-configs etc...)
- Continuous monitoring (using Kubernetes APIs) and updating the DB with latest status and resources allocated.
- CLI/GUI support on the status of resources (At app level, At resource bundle level and at each resource level)
- Study : ETSI defined Container definition