summaryrefslogtreecommitdiffstats
path: root/docs/sections/design-components/DCAE-MOD/DCAE-MOD-Architecture.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/sections/design-components/DCAE-MOD/DCAE-MOD-Architecture.rst')
-rw-r--r--docs/sections/design-components/DCAE-MOD/DCAE-MOD-Architecture.rst259
1 files changed, 0 insertions, 259 deletions
diff --git a/docs/sections/design-components/DCAE-MOD/DCAE-MOD-Architecture.rst b/docs/sections/design-components/DCAE-MOD/DCAE-MOD-Architecture.rst
deleted file mode 100644
index 096a448e..00000000
--- a/docs/sections/design-components/DCAE-MOD/DCAE-MOD-Architecture.rst
+++ /dev/null
@@ -1,259 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-=====================
-DCAE MOD Architecture
-=====================
-
-
-DCAE MOD is composed of a mix of components developed in ONAP and other
-components taken from the Apache Nifi project and modified for
-appropriate use. The MOD architecture and design was intended to simplify the onboarding
-and design experience in ONAP addressing below goals.
-
-.. toctree::
- :maxdepth: 1
-
- ./DCAE-MOD-goals.rst
-
-
-MOD aims to streamline the construction, management,
-and evolution of DCAE flows from role to role, from environment to
-environment, and from release to release. MOD is composed of three functional areas: onboarding, design, and
-distribution and caters to different `user group <./Roles>`__
-
-
-The below illustrations describe the architecture of DCAE-MOD and show the
-usage flow in DCAE MOD
-
-|image0|
-
-|image1|
-
-Onboarding API
---------------
-
-It is a component developed to onboard
-models/components/microservices (spec files) into DCAE MOD.
-
-Genprocessor
-------------
-
-It has been developed in Java. This project is a tool to
-experiment with generating a Nifi Processor POJO from a DCAE component
-spec.
-
-Nifi Web UI
------------
-
-It is a component taken from the Apache Nifi Project but modified for
-use in the MOD project.
-
-Apache NiFi is a dataflow system based on the concepts of flow-based
-programming. It supports powerful and scalable directed graphs of data
-routing, transformation, and system mediation logic. NiFi has a
-web-based user interface for design, control, feedback, and monitoring
-of dataflows. It is highly configurable along several dimensions of
-quality of service, such as loss-tolerant versus guaranteed delivery,
-low latency versus high throughput, and priority-based queuing. NiFi
-provides fine-grained data provenance for all data received, forked,
-joined cloned, modified, sent, and ultimately dropped upon reaching its
-configured end-state.
-
-The NiFi UI provides mechanisms for creating automated dataflows, as
-well as visualizing, editing, monitoring, and administering those
-dataflows. The UI can be broken down into several segments, each
-responsible for different functionality of the application. This section
-provides screenshots of the application and highlights the different
-segments of the UI. Each segment is discussed in further detail later in
-the document.
-
-The users of Apache Nifi will find that it is used very differently than
-intended to serve our purpose in the DCAE-MOD project.
-
-
-Registry API
-------------
-
-This component taken from the Apache Nifi project, is a REST API that
-provides an interface to a registry with operations for saving,
-versioning, reading NiFi flows and components.
-
-Distributor API
----------------
-
-It is a component developed using the Flask framework in Python.
-It is a HTTP API to manage distribution targets for DCAE design.
-Distribution targets are DCAE runtime environments that have been
-registered and are enabled to accept flow design changes that are to be
-orchestrated in that environment.
-
-Flow Based Programming (FBP)
-----------------------------
-
-NiFi’s fundamental design concepts closely relate to the main ideas of
-Flow Based
-Programming `[fbp] <https://nifi.apache.org/docs/nifi-docs/html/overview.html#fbp>`__.
-
-For more information on how some of the main NiFi concepts map to FBP,
-check out https://nifi.apache.org/docs/nifi-docs/html/overview.html
-
-Runtime API
------------
-
-It is developed in Java’s Spring Boot framework. It
-is a HTTP API to support runtime environment for DCAE-MOD. It has two
-major functionalities:
-
-1. It accepts changes on the flow-graph via fbp protocol
-
-2. It generates and distributes helm charts OR blueprints based on the change made on
- the flow-graph
-
-
-Build Updates
-~~~~~~~~~~~~~
-
-New Java module - Helmgenerator-core was introduced for Helm charts
-generation. MOD/Runtime has been enhanced to include this new dependency
-(inaddition to Bp-generator for supporting cloudify blueprints flows).
-
-Below is snippet from -
-https://github.com/onap/dcaegen2-platform/blob/master/mod/runtimeapi/runtime-core/pom.xml
-
-::
-
- <dependency>
- <groupId>org.onap.dcaegen2.platform</groupId>
- <artifactId>helmchartgenerator-core</artifactId>
- <version>1.0.3</version>
- </dependency>
-
-
-Chart Updates
-~~~~~~~~~~~~~
-
-MOD/Runtime Charts has been modified to include under resources, common
-base templates, Charts.yaml, add-on templates and Values.yaml with
-placeholder.
-
-|image3|
-
-The Helmgenerator-core modules uses these template to pull the required
-dependencies and generate new chart for MS onboarded. The parameters in
-component-spec provided during onboarding is used for final Values.yaml
-file generation.
-
-Deployment
-~~~~~~~~~~
-
-The MOD/RuntimeAPI introduces new configuration to identify distribution
-mechanism. Supported artifactType are **BLUEPRINT** or **HELM. **
-
-Blueprint – Distribution to Inventory/Dashboard
-
-Helm – Distribution to ChartMuseum
-
-For Jakarta release, the charts configuration has been set to support
-HELM distribution by default and configured for ONAP-internal
-chart-museum registry.  RuntimeAPI Chart updates
-https://github.com/onap/oom/blob/master/kubernetes/dcaemod/components/dcaemod-runtime-api/values.yaml
-
-::
-
- artifactType: "HELM"
- registryBaseurl: http://chart-museum:80
- basehelmchartlocation: /helm-gen/
-
-
-Blueprint Generator
--------------------
-
-This tool allows the user to create a blueprint from a component spec json file.
-This tool is used by the runtime api when artifactType is set to **BLUEPRINT** under
-`RuntimeAPI charts
- deployment <https://git.onap.org/oom/tree/kubernetes/dcaemod/components/dcaemod-runtime-api/values.yaml#n44>`__
-
-Helm Generator
---------------
-
-This tool allows the user to create a DCAE Services helm chart from a component spec json file.
-This tool is used by the runtime api when artifactType is set to **HELM** under
-`RuntimeAPI charts
- deployment <https://git.onap.org/oom/tree/kubernetes/dcaemod/components/dcaemod-runtime-api/values.yaml#n44>`__
-
-
-Inventory API
--------------
-
-
-.. note::
- Used only under BLUEPRINT mode
-
-DCAE Inventory is a web
-service that provides the following:
-
-1. Real-time data on all DCAE services and their components
-
-2. Comprehensive details on available DCAE service types
-
-DCAE Inventory is a composite API that relies on other APIs to obtain
-resources on underlying components and uses these resources to compose a
-DCAE service resource. In addition, DCAE Inventory will store data that
-is unique to the DCAE service level including:
-
-1. DCAE service metadata
-
-2. DCAE service type description and composition details
-
-3. Relationships between DCAE service and DCAE service types and their
- respective VNF and VNF types
-
-DCAE Inventory has a REST interface to service client requests. It has a
-well-defined query interface that would filter result sets based upon
-resource attributes.
-
-Here, think of it as a back end API for the DCAE dashboard. The runtime
-posts Cloudify Blueprints to this API so they show up in the DCAE
-dashboard.
-
-DCAE Dashboard
---------------
-
-.. note::
- Used only under BLUEPRINT mode
-
-The DCAE dashboard provides visibility into running DCAE services for
-operational purposes. It queries the DCAE Inventory for aggregate
-details on all the running DCAE services and for getting up-to-date
-status information on DCAE services and their components.
-
-End-to-End Flow
----------------
-
-A model/component/microservice can be onboarded by a ms Developer by
-posting a spec file on the onboarding API. Alternatively, an Acumos
-model can be onboarded using the Acumos Adapter. Once successfully
-onboarded, the genprocessor converts converts them to jars and onboards
-them into Nifi i.e DCAE MOD. These artifacts are now available to use
-from the Modified Nifi Web UI i.e DCAE Designer.
-
-The registry api offers version control and retrieval for flows. The
-distributor api can be used to set distribution targets. Once a flow is
-designed and distributed, it goes to the distributor api which is
-supposed to post graph changes (in accordance with fbp) to the runtime
-api. The runtime api generates and distributes deployment artifacts (either
-blueprints or helm charts) based on the
-change made on the flow-graph. The generated blueprints are received by the DCAE
-inventory can then be viewed and deployed from the DCAE dashboard. On helm mode,
-charts generated are pushed into configured Chartmuseum registry.
-
-
-
-.. |image0| image:: ../images/DCAE-Mod-Architecture.png
-
-.. |image1| image:: ../images/Onboarding-with-DCAE-MOD.png
-
-.. |image2| image:: ../images/nifi-toolbar-components.png
-
-.. |image3| image:: ../images/128713731_image2022.png