Introduction
The IntroductionThe ONAP Operations Manager (OOM) is responsible for life-cycle management of the ONAP platform itself; components such as MSO, SDNC, etc. It is not responsible for the management of services, VNFs or infrastructure instantiated by ONAP or used by ONAP to host such services or VNFs. OOM uses the open-source Kubernetes container management system as a means to manage the Docker containers that compose ONAP where the containers are hosted either directly on bare-metal servers or on VMs hosted by a 3rd party management system. OOM ensures that ONAP is easily deployable and maintainable throughout its life cycle while using hardware resources efficiently. In In summary OOM provides the following capabilities:
- Deployment - with built-in component dependency management (including multiple clusters, federated deployments across sites, and anti-affinity rules)
- Configuration - unified configuration across all ONAP components
- Monitoring - real-time health monitoring feeding to a Consul UI and KubernetsKubernetes
- Heal- failed ONAP containers are recreated automatically
- Clustering and Scaling - cluster ONAP services to enable seamless scaling
- Upgrade - change-out containers or configuration with little or no service impact
- Deletion - cleanup individual containers or entire deployments
OOM supports a wide variety of cloud infrastructures to suit your individual requirements.
Table of Contents
Table of Contents |
---|
Quick Start Guide
Once a kubernetes environment is available (check out ONAP on Kubernetes if you're getting started) and the deployment artifacts have been customized for your location, ONAP is ready to be installed.
The first step is to setup the /oom/kubernetes/config/onap-parameters.yaml file with key-value pairs specific to your OpenStack environment. There is a sample that may help you out or even be usable directly if you don't intend to actually use OpenStack resources.
In-order to be able to support multiple ONAP instances within a single kubernetes environment a configuration set is required. The createConfig.sh
script is used to do this.
Code Block | ||
---|---|---|
| ||
> ./createConfig.sh -n onapTrial |
The bash script createAll.bash
is used to create an ONAP deployment with kubernetes. It has two primary functions:
- Creating the namespaces used to encapsulate the ONAP components, and
- Creating the services, pods and containers within each of these namespaces that provide the core functionality of ONAP.
Code Block | ||
---|---|---|
| ||
> ./createAll.bash -n onapTrial |
Namespaces provide isolation between ONAP components as ONAP release 1.0 contains duplicate application (e.g. mariadb) and port usage. As such createAll.bash
requires the user to enter a namespace prefix string that can be used to separate multiple deployments of onap. The result will be set of 10 namespaces (e.g. onapTrial-sdc, onapTrial-aai, onapTrial-mso, onapTrial-message-router, onapTrial-robot, onapTrial-vid, onapTrial-sdnc, onapTrial-portal, onapTrial-policy, onapTrial-appc
) being created within the kubernetes environment. A prerequisite pod config-init (pod-config-init.yaml
) may need editing to match your environment and deployment into the default namespace before running createAll.bash
.
Demo Video
If you'd like to see the installation of ONAP by OOM take a look at this short video demonstration by Mike Elliott: OOM Demo Video
OOM Architecture and Technical Details
OOM uses the Kubernetes container management system to orchestrate the life cycle of the ONAP infrastructure components. If you'd like to learn more about how this works or develop the deployment specifications for a project not already managed by OOM look here: OOM User Guide.
OOM Configuration Management
OOM provides capabilities to manage the configuration parameters of an ONAP deployment. For more information refer to OOM Configuration Management.
OOM Production-Grade Deployments
ONAP can be deployed as a carrier grade application as described in OOM for Production-Grade Deployments.OOM Team
Committers and contributors can be found here: OOM Team
Contributing to OOM
Feedback: You can provide feedback on the onap-discuss list, sign up here: ONAP Discuss List
Bug reports: Jira
Weekly Meeting Notes: OOM Weekly meeting notes
Contributions: Instructions on how to set up Gerrit is here: Configuring Gerrit. Please join the onap-discuss list (OOM posts are tagged with oom) or attend OOM's weekly meetings for for information on how you can help.
Commit requirements: Commits on OOM are always welcome and will be reviewed with care by OOM committers. As OOM is an installer, we ask to have a specific (but very close to Commit Messages) way to create them. They must comply with following pattern:
[NAME_OF_COMPONENT|DOC|COMMON|GENERIC] Meaningful title (from OOM side)
at least one sentence explaining the change done in this patch, cause and consequences and possibly more of course
Issue-ID: AS_WE_ARE_FORCED_BUT_MEANINGLESS
Change-ID: xxx
Sign-off: xxx
Commit message will be the last part that will stay with our code so it must clearly explain the changes, the "why" and the consequences. If it change OOM behavior in any way, documentation must be also updated.
Merge requests which are not following this pattern will not be merged.
Please read the following pages and follow the guidelines for writing commit message contained therein.
- http://bit.ly/goodcommitmessages
- http://who-t.blogspot.com/2009/12/on-commit-messages.html
- http://dep.debian.net/deps/dep3/
Development Policies, Standards, and Coding
- Developer Best Practices (note that as OOM is not a standard Java project, the coding specific points don't apply)
- Development Procedures and Policies
- Code Review
OOM Quick Start and Cloud Setup Guides
The official OOM Quick Start Guide is found at the onap.readthedocs.io site. If you need to setup a Kubernetes cloud to host your ONAP deployment you can find descriptions of how to do so for many cloud technologies in the OOM Cloud Setup Guide.
OOM User and Developer Guides
OOM uses the Helm / Kubernetes container management system to orchestrate the life cycle of the ONAP infrastructure components. If you're a user of OOM you'll want to read the OOM User Guide. If you're an ONAP developer and would like to add a component to ONAP you'll want to read the OOM Developer Guide.
Demo Video
If you'd like to see the installation of ONAP by OOM take a look at this short video demonstration by Mike Elliott: OOM Demo Video
Amsterdam Release Planning
- M1 Release Planning Checklist link
- M2 Functionality Freeze Checklist link
- M3 API Freeze Checklist link
- M4 Code Freeze Checklist link
- RCx Checklist link
- Sign-Off Checklist link
- OOM for Planning Milestone Checklist Template
Beijing Release Planning
Casablanca Release Planning
Links to Further Information
- The OOM project proposal page is here: Approved Project Proposal.Configuration data for all of the ONAP sub-projects is distributed by OOM. For more information on how this is done see: OOM Configuration Management.
- If you're interested in project status, look here: OOM Deployment Status.
- The committers on this team are listed here: OOM Team
- The OOM Weekly meeting notes will help you understand what the OOM team is actively working on.