From 6b6a564f3479ab834d9a55d4b6e180601e8e1c6a Mon Sep 17 00:00:00 2001 From: Victor Morales Date: Fri, 27 Apr 2018 12:29:45 -0700 Subject: spec: create k8-calico-onap scenario Spec file for the addition of a new XCI scenario which deploys Open Networking Automation Platform (ONAP) on top Kubernetes deployment through ONAP Operations Manager (OOM) tool. Change-Id: I01385fdeeb942154d9cce630552bd3e7713d3cdb Signed-off-by: Victor Morales Signed-off-by: Jack Morgan Signed-off-by: Fatih Degirmenci --- docs/specs/k8-calico-onap.rst | 141 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 docs/specs/k8-calico-onap.rst (limited to 'docs/specs') diff --git a/docs/specs/k8-calico-onap.rst b/docs/specs/k8-calico-onap.rst new file mode 100644 index 00000000..445e5c71 --- /dev/null +++ b/docs/specs/k8-calico-onap.rst @@ -0,0 +1,141 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. Copyright 2018 Intel Corporation + +.. Links +.. _Open Networking Automation Platform: https://www.onap.org/ +.. _ONAP metric analysis: https://onap.biterg.io/ +.. _ONAP on Kubernetes: http://onap.readthedocs.io/en/latest/submodules/oom.git/docs/oom_quickstart_guide.html +.. _Helm: https://docs.helm.sh/ +.. _ONAP on OpenStack: https://wiki.onap.org/display/DW/ONAP+Installation+in+Vanilla+OpenStack +.. _OOM Minimum Hardware Configuration: http://onap.readthedocs.io/en/latest/submodules/oom.git/docs/oom_cloud_setup_guide.html#minimum-hardware-configuration +.. _OOM Software Requirements: http://onap.readthedocs.io/en/latest/submodules/oom.git/docs/oom_cloud_setup_guide.html#software-requirements +.. _seed code: https://gitlab.com/Orange-OpenSource/onap_oom_automatic_installation +.. _Orange ONAP OOM Deployment Resource Requirements: https://gitlab.com/Orange-OpenSource/kubespray_automatic_installation/blob/521fa87b20fdf4643f30fc28e5d70bdf9f1c98f3/vars/pdf.yaml + +This spec introduces the work required to include the XCI scenario +for `Open Networking Automation Platform`_ (ONAP) through the ONAP +Operations Manager(OOM) tool. This tool provides the ability to manage +the entire life-cycle of an ONAP installation on top of a Kubernetes +deployment. + +Problem description +=================== +According to the `ONAP metric analysis`_, more than 26K commit +changes have been submited since its announcement. Every patchset +that is merged raises a Jenkins Job for the creation and deployment +of a Docker container image for the corresponding service. Those new +images are consumed by deployment methods like `ONAP on Kubernetes`_ +and `ONAP on OpenStack`_) during the installation of ONAP services. + +Given that ONAP is constantly changing, an early issue detected can +be crucial for ensuring the proper operation of OOM tool. + +Minimum Hardware Requirements +============================= + +Initially, No HA flavor will be the only supported flavor in order to +bring a reference implementation of the scenario. Support for other +flavors will be introduced based on this implementation. + +According to the `OOM Minimum Hardware Configuration`_, ONAP requires +large amount of resources, especially on Kubernetes Worker nodes. + +Given that No HA flavor has multiple worker nodes, the containers can +be distributed between the nodes resulting in a smaller footprint of +of resources. + +The No HA scenario consists of 1 Kubernetes master node and 2 Kubernetes +Worker nodes. Total resource requirements should be calculated based on +the number of nodes. + +This recommendation is work in progress and based on Orange +implementation which can be seen from +`Orange ONAP OOM Deployment Resource Requirements`_. +The resource requirements are subject to change and the scenario will +be updated as necessary. + +Hardware for Kubernetes Master Node(s) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* RAM: 8GB +* HD: 150GB +* vCores: 8 + +Hardware for Kubernetes Worker Node(s) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* RAM: 64GB +* HD: 80GB +* vCores: 16 + +Proposed change +=============== + +In order to guarantee the proper installation and validation of ONAP +services, this spec proposes two phases that complements each other: + +1. Creation k8-calico-onap scenario for the installation of ONAP +services. This new scenario will be designed to validate the +installation process provided by OOM tool. +2. Adding Integration tests for ensuring that ONAP is operating +properly. This process should cover Design and Runtime phases. + +Code impact +----------- +New code will be created based on the existing k8-calico-nofeature +scenario and will be placed in scenarios/k8-calico-onap directory +in releng-xci-scenario repo. The ONAP installation should proceed +once the VIM has been installed and before the OPNFV tests run. + + +The default configuration for the virtual resources (4 vCores, 8GB RAM, +and 100GB HD) offered by XCI does not satisfy the ONAP needs. The +scenario override mechanism will be used to bring up nodes with +the necessary amount of resources. This will be replaced by PDF and +IDF once they become available. PDF and IDF implementation is a +separate work item and it is not expected as dependency for the +implementation of this scenario. + +Software Requirements +--------------------- + +OOM has gone through significant changes during Beijing release +cycle. This resulted in changed way of installing ONAP. + +In its current release, new software is necessary to install ONAP +as listed below and on `OOM Software Requirements`_.. + +Helm: 2.8.x +kubectl: 1.8.10 + +The OOM also provides a Makefile that collects instructions for the +creation of ONAP packages into the Tiller repository. To determine +which ONAP services are going to be enabled, this configuration can +be done by the OOM configuration, this new role will be placed in +scenarios/k8-calico-onap/role/k8-calico-onap/tasks folder in +releng-xci-scenario repository. + +Tentative User guide +-------------------- +TBD + +Implementation +============== +The Orange team has been working on this scenario for a while, this +new role can use and adapt their `seed code`_ during the implementation. + +Assignee(s) +----------- + +Primary assignee: + Victor Morales (electrocucaracha) + Fatih Degirmenci (fdegir) + Jack Morgan (jmorgan1) + +Work items +---------- +TBD + +Glossary +-------- -- cgit 1.2.3-korg