Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

OOM(ONAP Operations Manager) needs to support configurable deployment options of ONAP, allow operators to choose and configure the deployment layout and choose technologies used for running ONAP. TOSCA allows modeling ONAP services, all of their components, and to model needed infrastructure components, such as Kuberetenes and OpenStack, and then to match the services with the desired infrastructure to run the ONAP services.

Image Removed

(Example ONAP Service Modeling With Kuberentes and OpenStack)

WHAT IS TOSCA 

Topology and Orchestration Specification for Cloud Applications (TOSCA), is an OASIS standard language to describe a topology of cloud based web services, their components, relationships, and the processes that manage them. The TOSCA standard includes specifications to describe processes that create or modify services. TOSCA allows using a descriptive DSL to drive orchestration base the application declarative model.

WHAT IS Cloudfiy 

Cloudify is an open source cloud orchestration framework. Cloudify is a model-driven orchestrator, it enables modeling applications and services using a TOSCA based DSL, and automates the applications' entire life cycle, including deployment on any cloud or data center environment, monitoring all aspects of a deployed application, detecting issues and failure, manually or automatically remediating such issues, and performing ongoing maintenance tasks.

WHAT IS Kubernetes

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It aims to provide a "platform for automating deployment, scaling, and operations of application containers across clusters of hosts". It supports a range of container tools, including Docker.

WHAT IS ONAP Operations Manager is an ONAP tool to efficiently Deploy, Manage, Operate the ONAP platform and its components (e.g. MSO, DCAE, SDC, etc.) and infrastructure (VMs, Containers).

With OOM, service providers will have a single dashboard/UI to deploy & un-deploy the entire (or partial) ONAP platform, view the different instances being managed and the state of each component, monitor actions that have been taken as part of a control loop (e.g., scale in-out, self-heal), and trigger other control actions like capacity augments across data centers.


Image Added

ONAP Operation Manager Architecture



WHAT IS a TOSCA Model-driven Orchestration


Model driven orchestration allows modeling of services and applications using a declarative and descriptive language, then to operate the application using the model. This includes deployment of the application, healing failures, scaling and others. Instead of executing manually crafted workflows, the orchestrator creates dynamic execution workflow graph, based on the application model. Each node of the graph triggers a corresponding lifecycle operation execution, while the orchestrator keeps track and stores state in a context object allowing passing information from one operation to another. 



Image RemovedImage Added


  • Define reusable TOSCA node types. Each type can declare the interfaces for its lifecycle operations.
  • Create a TOSCA template YAML. The template describes the components, services and all of their dependencies and relationships. 
  • Cloudify Orchestrator creates a deployment graph, at run time. Executing the Install workflow traverses thru the graph, and executes relevant lifecycle operation interfaces.

...

  • .



Cloudify Support for OOM

ONAP uses containers and Kubernetes as the platform to run and manage an ONAP cluster.

Cloudify support for Kubernetes leverages cloudify TOSCA based multi-cloud infrastructure orchestration as well as for service orchestration to automate the deployment and management of ONAP on multi-cloud and real life heterogeneous environments that is comprised out of existing network services and other service elements that doesn’t fit into a single Kubernetes platform.

Cloudify integration with ONAP  leverages Cloudify kubernetes blueprint to address the following aspects in OOM:

Bootstrapping and Managing Kubernetes Cluster on Multi Cloud

  • Multi Cloud Provisioning - Cloudify sets the network and compute resources needed to run Kubernetes on bare metal, OpenStack, VMware, AWS, Google Cloud and Azure out of the box.

  • Monitoring - Cloudify monitors the compute resources for kubernetes and allow built-in self-healing and scaling of the kubernetes instances.

  • Self Healing and Scaling - Cloudify provides built-in support to allow self-healing and scaling of Kubernetes compute resources in case of a failure.




Image Added


Cloudify integration with ONAP Operation Manager (OOM)


Service Orchestration of Kubernetes Micro Services across Hybrid Stack

Cloudify Kubernetes Plugin provides a mean to model the relationship of existing Kubernetes micro-services and connect them with other services such as existing network services or other services that runs outside of ONAP.


Cloudify’s Kubernetes Roadmap includes a Cloudify Provider for Kubernetes that will take this role of infrastructure provisioner. This enables users to create custom implementations for underlying routing, storage, and compute services. For example, we can define a pod with a load balancer in Openstack that does not rely on Openstack floating IP, but instead on a virtual IP based on another vendor VNF..

The example below shows a TOSCA blueprint which sets the relationship between all the relevant ONAP micro-services.


Image Added

TOSCA Blueprint example

Multi Site Management for ONAP

Cloudify can run multiple instances of Kubernetes/ONAP from the same manager.

This is useful when setting Testing, QA, Production environment but its also useful when setting up Kubernetes cluster on multi-site deployment or even on edge devices.

Supporting other containers and non container based platforms

The container platform landscape is changing rapidly and include other alternatives to Kubernetes such as Docker Swarm as well as non container based platform.

Cloudify plugin approach provides an abstraction layer that decouples the actual service from the platform in which it will be running. This gives the flexibility for Operators to choose the platform of choice for their service as well as mix and match between services that runs on Kubernetes and Docker Swarm under the same automation flow.

ONAP Architecture with Kuberentes and OpenStack 

TOSCA Base ONAP OOM Release 1 is deployed in Kubrentes PODs, that are run on OpenStack VM. 

Image RemovedImage Added

ONAP OOM TOSCA Models

TOSCA to model and orchestrate all ONAP services, in release 1 we lege, with all of their components, and then 

TOSCA Model to deploy Kuberentes on OpenStack (click on the link to view the blueprint)

TOSCA Model to deploy ONAP on Kuberentes

ONAP Cloudfy TOSCA Blueprint 

How To ( (click on the link to view the blueprint)

How To Deploy ONAP on Kubernetes using

...

create a deployment from the TOSCA template 

Image Removed

Cloudify creates VMs on OpenStack  (TOSCA blueprint).

Cloudify utilizes two TOSCA blueprints, the first creates the cloud resources and deploy K8s and the second is a TOSCA blueprint deployes the ONAP services (see figure below)

Image Removed

Cloudfiy Deploys Kuberenetes on OpenStack VMS (TOSCA blueprint)

Cloudfioy creates a POD (TOSCA blueprint)

Cloudify Deploys ONAP on POD (TOSCA blueprint)

Image Removed

Cloudify 


Image Added







Deailed Steps:

1.Create a deployment using the ONAP OOM TOSCA Blueprint

2. Provide user Inputs with OpenStack Credentials, Kuberentes credentials, etc'

3.Execute the Install workflow 

Image Added


JIRA Track Progress 

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyOOM-46

Wiki Links

ONAP on Kubernetes on Cloudify - ongoing experiments bringing up the system

OOM Cloudify Release 1 - Amsterdam

  1. Cloudfiy Deploys Kuberenetes on OpenStack VMS (TOSCA blueprint)
  2. The second TOSCA blueprint deployes the ONAP services (see figure below) on Kuberentes
    1. Cloudify creates a POD
    2. Cloudify Deploys ONAP on POD (TOSCA blueprint)

  1. Use TOSCA to provision OpenStack VMs
  2. Use TOSCA to deploy Kuberentes
  3. Use TOSCA to deploy ONAP services on Kubernetes
    1. DMaaPSO
    2. MSBVID
    3. AAF
    4. VF-C
    5. Multi-VIM
    6. DCAE
    7. AAI
    8. APPC
    9. MSOMessage_Router
    10. SDNC
    11. SDC
    12. Portal
    13. AAI
    14. Policy
    15. SDCRobot
    16. VIDAppc
    17. Holmes
    18. CLAMP
  4. Support multiple deployments of ONAP(Test,QA, Prod) from same blueprint 


OOM Cloudify Roadmap 

Create reusable TOSCA node type for each ONAP service

ONAP dependencies expressed in TOSCA

Accept custom user inputs for ONAP services' configuration

...

Model ONAP inner service dependencies.

ONAP services auto heal, and auto scale

ONAP services placement

Configurable Hybrid deployment (some of ONAP services on cloud, and others on bare-metal/or other clouds)ONAP services placement