DCAE platform is microservice centric, the services (collectors and analytics interfacing with NF events) themselves can be build independently and integrated with DCAE with minimal work. However as ONAP itself requiring carrier grade level, all components has strict S3P goals and LF process to comply.
Typically DCAE sub-components are developed individually under their own ONAP Gerrit/Git repos. The initiation of a new repo generally starts during the release planning time. Normally before the functionality freeze time (M2), projects that are planned to be included in a release are determined, and infrastructure items such as repo creation for new projects are completed.
For community members looking to contribute new service under ONAP DCAE project, below steps outline general steps to be followed by the service owners.
All new contribution MUST be complaint with Global requirements and approved "best Practice" requirements. Following list key NFR's
Use ONAP-integration supported base image
Note: All above are common ONAP requirements for any new contributions. TSC MUST HAVE are required for passing release candidate.
All ONAP component deployments are through helm-charts maintained under OOM repository; refer to https://docs.onap.org/projects/onap-dcaegen2/en/latest/sections/installation_oom.html for OOM/dcae chart structure.
New DCAE Microservice chart contribution should go under https://git.onap.org/oom/tree/kubernetes/dcaegen2-services; all DCAE component charts should leverage oom/kubernetes/dcaegen2-services/common/dcaegen2-services-common templates. Refer to following link - https://docs.onap.org/projects/onap-dcaegen2/en/latest/sections/dcaeservice_helm_template.html for details on the supported features via this template.
With Kohn release, all DCAE components will be enabled for daily/weekly deployments. This is controlled by override here - https://git.onap.org/oom/tree/kubernetes/onap/resources/overrides/onap-all.yaml. New components being added under ONAP, should update this yaml for enabling automated daily/weekly deployment.
With Jakarta release, Consul and ConfigBindingService interface has been deprecated from DCAE. All Microservice configuration are resolved through files mounted via Configmap created part of dcae-services helm chart deployment. CBS SDK library are available within DCAE which can be used by DCAE Microservices for configuration retrieval. For details on the API - refer CBS SDK Java Library .
Corresponding CBS library available also for python components - Python Modules
Additional DACE SDK/libraries is also available for DMAAP interface; for more info refer Java Library
Its strongly recommended to use DCAE SDK library for consistency across DCAE services
DCAE WIKI
The project wiki space (https://wiki.onap.org/display/DW/DCAE+Documentation) can be used to documents general design about the components itself; can serve the community to know about the component itself and point to other repo/release documentation.
README file
Each of service component repository must include a README instruction on how the repo should cloned, build locally and executed.
Release documentation
All DCAE components release specific documentation are maintained as source under dcaegen2 repository. his repo has documentation build setup and generated RTD under ONAP-RTD
Service component related RST can be added under separate directory under dcaegen2 repository. Post merge/build - corresponding RTD will be located under DCAE-Service component page of ONAP-RTD
See Resource at the bottom for more information on RTD.
To be able to certify the component for release, the MS owner should present demo to project team (and integration team) using onap Jenkins build images/container and manual deployment via blueprint under DCAE platform. This demo should be ideally completed around M4 deadline to meet release timeline.
Demo Guidelines
JJB - https://wiki.onap.org/display/DW/Using+Standard+Jenkins+Job+%28JJB%29+Templates
CSIT - Creating a CSIT Test
Documentation - 2017-09-19 Documentation Tutorial, Further information regarding documentation can also be found here: http://onap.readthedocs.io/en/latest/index.html.
DCAE JIRA - https://jira.onap.org/secure/RapidBoard.jspa?rapidView=49&view=planning.nodetail