...
No | Category | Requirement Item | Priority | Added by | Management Apps as traditional Apps/VNFs - Option 1 (Not considered as it is not satisfying the critical requirement of supporting existing Cloudify-TOSCA based management applications) | Extending DCAE Orchestration (OOM-Tosca + OOM helm charts ) - Option 2 | Cloud Native K8S Ecosystem (based on OOM ) Mapping (Option 3) | ||
---|---|---|---|---|---|---|---|---|---|
Current status | Future work planned (approx. timeline desired) | Current status | Future work planned (approx. timeline desired) | ||||||
1 | Onboarding | Ability to onboard management applications, that are to be deployed in cloud-regions, in ONAP-Central. Shall not have any expectations that all management applications are onboarded as a single bundle. | high | Yes (Using SDC. SDC allows to define it as VNF with multiple management applications as VNFCs. SDC allows multiple VNFs in a service and there could be multiple services) | Supported through DCAE, SDC*, Policy, CLAMP. Onboarded application artifact stored in DCAE inventory (ready for instantiation) | SDC Design tool enhancement (E release) | Existing OOM functionality. Same mechanism used to deploy helm charts in ONAP Central is used to deploy helm charts to cloud regions. | N/A | |
2 | Onboarding | Ability to compose multiple management applications to be part of one management bundle and defining the dependency graph of applications belonging to a bundle | high | Yes (SDC now supports Helm, based description. It is possible to introduce dependency via initContainers and helm hooks) | Supported through DCAE, SDC (DS) Through Cloudify/Tosca models - different components can be linked and deployed as single entity in dynamic fashion. | SDC Design tool enhancement (E release) | Existing OOM functionality. Customization of components to deploy is defined in configuration override files (such as cloud-2.yaml). Dependencies defined in application Helm Charts. | N/A | |
3 | Onboarding | Shall have a way to specify licensing options for third party management applications (similar to VNF licensing) | high | Srinivasa Addepalli | Yes (SDC has a way to provide licensing information) | TBA | No mechanism currently exists to manage 3rd party management application licenses. | ||
4 | Instantiation | Ability to deploy management applications in selected cloud regions that are owned by ONAP operator | high | Partially (SO has ability to select the cloud-region while deploying the VNF and hence same is applicable for management applications. But there is no bulk deployment by selecting multiple cloud regions.It require enhancements. But we believe this requirement is needed for NFs too) | Supported by design. Work in Dublin done to identify the cloud-region part of deployment input | k8s Plugin enhancement worked as stretch goal for Dublin | Existing OOM functionality. Cloud regions are defined in onap-central as kube configs. Iterate over each cloud-region and deploy common components. Can be scripted if desired. Question: Should upgrades of cloud regions be under central control or regional control (ie. via edge stacks such as Akranio)? | ||
5 | Instantiation | Ability to deploy management applications that are ephemeral (example: Analytics applications) | high | Yes (Complete control at the SO. One can terminate the management application bundle at any time) | Existing capability. Supported on both Tosca and Helm. | Existing OOM functionality. Terminate deployed application by setting 'enabled' flags to false
| N/A | ||
6 | Instantiation | Ability to deploy management applications in selected cloud regions that are not owned by ONAP operator, but has business relationship (Examples: Public Clouds or Edge Clouds owned by some other organization) | low | Yes (Multi-Cloud has ability to deploy workloads in any cloud-region - whether owned by operators or even public clouds as long as right credentials are used) | Supported by design. Work in Dublin - Target edge cloud (with right credentials maintained in ONAP central) will be provided as input to deployment | Existing OOM functionality. Cloud regions are defined in onap-central as kube configs. Kube configs already contain credentials for communicating with any cloud region - public, private and regardless of ownership model. | N/A | ||
7 | Instantiation | Support for deploying management applications independent of each other when there are no dependencies (no expectation that all management applications are brought up together). | high | Yes (SO provides API at various granularity) | Existing capability. Supported under both Tosca and Helm. | Existing OOM functionality. Deploy individual applications by setting 'enabled' flags to true
| N/A | ||
8 | Instantiation | Ability to deploy few management applications based on VNF instantiations and bring down when VNF is terminated | high | Yes (SDC/SO with their bundling approaches - management app can be added as VFC in a VNF or as a VNF in a service) | Can be triggered from CLAMP currently. Functionality can be built to support based on AAI event as future enhancement. | Add new service based on topology interface notification to trigger MS deployment | There are 2 options.
| N/A | |
9 | Instantiation | Ability to apply configuration (Day0 configuration) of management applications at the time of deployment | high | Yes (SDC supports adding default Day0 configuration of workloads) | Existing capability Day0 configuration can be provided part of designer or operator as input. | Existing OOM functionality. Global and application-specific hierarchical configuration may be applied anytime using override files and/or via --set commands. Here is an example of configuration for Service Orchestrator (so). | N/A | ||
10 | Instantiation | Support for various Day0 configuration profiles (e.g. different profiles for different cloud regions w/ differing capabilities) | high | Yes (SDC supports multiple Day0 profles - either through customization or as artifacts in case of K8S) | Yes Supported through Policy/DCAE for Tosca work flow. Helm chart configuration update supported via custom helm plugin | Existing OOM functionality. Configuration override files are 'profiles' for customizing which applications to deploy and how they will be configured. Any number of override files may be applied to allow for easier management of the configuration. | N/A | ||
11 | Instantiation | Support for placement of management applications based on platform features (example: GPU, FPGA etc...) | high | Yes (SO can talk to OOF to get the right flavor for workloads in a VFM) Do we need full blown OOF functionality - Note 1? | Not currently exist for Tosca workflow. Helm charts supported. | Can be enhanced to interface with OOF to determine required placement Do we need full blown OOF functionality - Note 1? | Existing OOM functionality. Node labels are assigned to kubernetes nodes that have special capabilities. Node Selector support is built into every OOM Helm Chart and allow one to configure deployment onto nodes with a matching label. Kubernetes orchestration ensures that your mS is only deployed on supporting nodes. | N/A Do we need full blown OOF functionality - Note 1? | |
12 | Instantiation | Support for consistent Day0 configuration mechanisms - should be the same path as Day 2. | high | Vijay Venkatesh Kumar | Yes (Work is going on in K8S plugin to ensure that Day 2 configuration is also supported as Helm charts as Day0 configuration. This is made possible due to microservices supporting K8S operators for their configurations) | Yes Supported through Policy/DCAE for Tosca work flow. Helm chart configuration update supported via custom helm plugin | Existing OOM functionality. Global and application-specific hierarchical configuration may be applied anytime using override files and/or via --set commands. Applying Day 2 configuration to management applications is no different than applying their Day 0 configuration. | N/A | |
13 | Run time | Support for Day 2 configuration of single or multiple instances of management applications in various cloud regions | high | Yes (APPC support for Day2 configuration. Also Day2 configuration support in K8S plugin - Ongoing. One can select cloud-region, instance while applying Day2 configuration) | Yes Supported through Policy/DCAE for Tosca work flow. Helm chart configuration update supported via custom helm plugin | Existing OOM functionality. Global and application-specific hierarchical configuration may be applied anytime using override files and/or via --set commands. Applying Day 2 configuration to management applications is no different than applying their Day 0 configuration. | N/A | ||
14 | Run time | Support for management applications depending on other management applications - Support for configuration (Day2 configuration) of provider services when the consuming service is being instantiated and removal of the configuration on provider services when consuming service is terminated (Example: When analytics applications are brought up, analytics/collection framework need to be updated with additional configuration such as DB table, Kafka topic etc..) | high | Yes (In case of K8S world, as long as day2 configuration is also supported via K8S resources, it is possible. K8s Plugin does support this) | Supported under current design. Interface with DMAAP BC through plugin being worked for Dublin | Existing OOM functionality. Global and application-specific hierarchical configuration may be applied anytime using override files and/or via --set commands. Applying Day 2 configuration to management applications is no different than applying their Day 0 configuration. | N/A | ||
15 | Run time | Support for Day 2 configuration (add/delete) of appropriate management applications upon VNF instantiation/termination (Example: configuration of analytics & collection services when VNFs are brought up and removing the added configuration upon VNF termination) | high | WIP | Functionality supported under current design; for Tosca workflow installed component but not currently exist in ONAP. | Add new service based on topology interface notification to trigger MS reconfiguration | The Cloud Native approach would be to deploy all needed management applications to the cloud region but with a replicaCount=0. Only the specifications for the management applications are stored (etcd). No other resources are consumed until its replicaCount becomes > 0. This would happen in response to a monitored metric that is set (or increases) when a VNF is deployed. Likewise the management application would free all consumed resources and return to its dormant state (replicaCount=0) once the monitored metric clears (or reduces) after VNF is terminated. Horizontal scalability and the Custom Metric APIs, are existing Kubernetes capabilities. | N/A | |
16 | Networking | Secure connectivity between central ONAP and management applications in cloud regions | high | Yes (Using SSL/TLS) | Supported via securing DMAAP topics. Platform support dynamic topic creation and AAF role assignment using DMAAP DBCL | N/A This is an application requirement and not a requirement of the Platform Orchestrator. Application needs to support SSL/TLS. | N/A | ||
17 | Networking | Support for various connectivity protocols (Kafka, HTTP 1.1, 2.0, GRPC, Netconf etc...) between ONAP-Central and management components in cloud regions | high | Yes (No restriction. it is based on management application) | Interface between Central and edge supported primarily via DMAAP | N/A This is an application requirement and not a requirement of the Platform Orchestrator. | N/A | ||
18 | Run time | Monitoring and visualization of management applications of cloud-regions along with ONAP components at the ONAP-Central | high | Partial (Same monitoring schemes as available for VNFs, but suggest that all management components acts prometheus target) | Cloudify UI provides the relation of the multiple MS (based on node types). Consul integration supported Dashboard - Provides unified console for Operation to check/manage deployment of application | Limited to Consul, ELK and Grafana Dashboards. | Kubernetes Platform Management UI POC underway - deliverable in El Alto | ||
19 | Run time | Scale-out of management application components at the cloud-regions & traffic (transaction) distribution | high | Yes (but testing is required with a use case to ensure that there are no gaps) (This work is slated for Release E - configuration of ISTIO for L7 workloads and NSM for L2/L3/L4 workloads) Even though K8S can bring up more instances, traffic distribution is expected to be configure properly) | Existing capability (relies on k8s) | Existing OOM functionality. Existing Kubernetes Horizontal scalability capabilities. Traffic management achieved using additional open source technologies (ie. ISTIO). | N/A | ||
20 | Run time | Ability to upgrade management application components without loss of functionality | low | Yes ((but testing is required with a use case to ensure that there are no gaps) (This work is slated for Release E - configuration of ISTIO for L7 workloads and NSM for L3/L3/L4 workloads) Loss of functionality requires careful configuration of traffic rules of ISTIO or NSM) | Existing capability; supported for both Tosca and Helm (relies on k8s) | Existing OOM functionality. Rolling upgrade and rollback are existing capabilities of Helm + Kubernetes. Traffic management achieve using additional open source technologies (ie. ISTIO). | N/A | ||
21 | Run time | High availability of management applications in the cloud regions | high | Yes (It is part of K8S) | Existing capability; supported for both Tosca and Helm (relies on k8s) | Native OOM functionality. | |||
22 | Miscellaneous | Support for ONAP-compliant third party management applications that provide similar functionality as ONAP management applications.
| high | Yes (As long as third party management applications are described using Helm) | Yes (helm chart deployment will be supported via new helm plugin contributed for Dublin (the policy reconfiguration will require complying to onboarding req#1) | Native OOM functionality. | |||
23 | Miscellaneous | Support management applications as containers | high | @Srinivasa Addepalli | Yes (Using K8S plugin) | Existing capability; supported for both Tosca and Helm | Native OOM functionality. | ||
24 | Miscellaneous | Support management applications as VMs | Yes (Using K8S plugin) | Capability under Tosca work flow; allows support for multi-cloud, hybrid containerized and non-containerized environment. | Legacy VM management achieved using additional open source technologies (ie. kubevirt, virtlet). | ||||
25 | Security | Security and privacy aspects of management applications (To be expanded) | high | It is generic requirement and to be taken care outside of this work item | TBA | Various levels of security can be achieved for the kubernetes cluster (RBAC, Ingress Controllers) and for TLS encryption using open source technologies such as Istio. | |||
26 | Instantiation | Support for MS deployment not binded to any VNF/service; these are application which are service agnostic can be managed by dynamic configuration rule to support different usecases | Yes (If management application is not bound to any network function, this can be deployed as a separate VSP) | Existing functionality under Tosca workflow | |||||
27 | Miscellaneous | Backward compatibility with existing application based on TOSCA in ONAP | Critical | No | Yes. Support both Tosca work flow and helm - both active among different application in ONAP | ||||
28 | Miscellaneous | Single orchestrator for both managed (VNFs/Apps) and management applications that are to be deployed in cloud-regions | low (but highly preferred) | Srinivasa Addepalli | Yes | Can be supported if vnf/app onboarding can be aligned with current management application flow. |
...