summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--INFO26
-rw-r--r--INFO.yaml48
-rw-r--r--docs/conf.py1
-rw-r--r--docs/conf.yaml3
-rw-r--r--docs/development/index.rst11
-rw-r--r--docs/development/ovn-sfc-openstack.rst201
-rw-r--r--docs/index.rst20
-rw-r--r--docs/release/configguide/configuration-guide.rst (renamed from docs/release/configuration-guide.rst)0
-rw-r--r--docs/release/configguide/index.rst (renamed from docs/release/index.rst)17
-rw-r--r--docs/release/release-notes/index.rst23
-rw-r--r--docs/release/release-notes/release-notes.rst (renamed from docs/release/release-notes.rst)41
-rw-r--r--docs/requirements.txt2
-rw-r--r--docs/scenarios/JOID/k8s-ovn-lb-noha.rst171
-rw-r--r--docs/scenarios/index.rst26
-rw-r--r--docs/testing/index.rst12
-rw-r--r--tox.ini17
17 files changed, 561 insertions, 60 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..71d7636
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.tox
+docs/_build/*
diff --git a/INFO b/INFO
deleted file mode 100644
index 5515241..0000000
--- a/INFO
+++ /dev/null
@@ -1,26 +0,0 @@
-Project: OVN for NFV (OVN4NFV)
-Project Creation Date: Feb 7th 2017
-Project Category: Collaborative Development
-Lifecycle State: Incubation
-Primary Contact: Trinath Somanchi (NXP)
-Project Lead: Trinath Somanchi (NXP)
-Jira Name: OVN for NFV
-Jira Prefix: [OVN4NFV]
-mailing list tag [ovn4nfv]
-Repo: ovn4nfv
-
-Committers:
-vikram.dham@huawei.com
-trozet@redhat.com
-narinder.gupta@canonical.com
-chigang@huawei.com
-trinath.somanchi@nxp.com
-sridhar.pothuganti@nxp.com
-
-Contributors:
-prakash.ramchandran@huawei.com
-prasad.gorja@nxp.com
-
-
-Link to TSC approval: http://meetbot.opnfv.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-12-15-14.59.html
-Link to approval of additional submitters:
diff --git a/INFO.yaml b/INFO.yaml
new file mode 100644
index 0000000..d604879
--- /dev/null
+++ b/INFO.yaml
@@ -0,0 +1,48 @@
+---
+project: 'OVN for NFV (OVN4NFV)'
+project_creation_date: 'Feb 7th 2017'
+project_category: 'Collaborative Development'
+lifecycle_state: 'Incubation'
+project_lead: &opnfv_ovn4nfv_ptl
+ name: 'Trinath Somanchi'
+ email: 't.somanchi@f5.com'
+ company: 'F5 Networks'
+ id: 'SomanchiTrinath'
+primary_contact: *opnfv_ovn4nfv_ptl
+issue_tracking:
+ type: 'jira'
+ url: 'https://jira.opnfv.org/projects/OVN4NFV'
+ key: 'OVN4NFV'
+mailing_list:
+ type: 'mailman2'
+ url: 'opnfv-tech-discuss@lists.opnfv.org'
+ tag: '[OVN4NFV]'
+realtime_discussion:
+ type: irc
+ server: 'freenode.net'
+ channel: '#opnfv-ovn4nfv'
+meetings:
+ - type: 'irc'
+ agenda: 'https://wiki.opnfv.org/display/OV/Meeting+Agenda'
+ url: # eg: 'https://global.gotomeeting.com/join/819733085'
+ server: 'freenode.net'
+ channel: '#ovn4nfv-meeting'
+ repeats: 'weekly'
+ time: '15:30 UTC'
+repositories:
+ - 'ovn4nfv'
+ - 'ovn4nfv-k8s-plugin'
+committers:
+ - <<: *opnfv_ovn4nfv_ptl
+ - name: 'Trevor Bramwell'
+ email: 'tbramwell@linuxfoundation.org'
+ company: 'linuxfoundation.org'
+ id: 'bramwelt'
+ - name: 'Ritu Sood'
+ email: 'ritu.sood@intel.com'
+ company: 'intel.com'
+ id: 'ritusood'
+tsc:
+ # yamllint disable rule:line-length
+ approval: 'http//meetbot.opnfv.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-12-15-14.59.html'
+ # yamllint enable rule:line-length
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 0000000..3c4453e
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1 @@
+from docs_conf.conf import *
diff --git a/docs/conf.yaml b/docs/conf.yaml
new file mode 100644
index 0000000..7611686
--- /dev/null
+++ b/docs/conf.yaml
@@ -0,0 +1,3 @@
+---
+project_cfg: opnfv
+project: OVN4NFV
diff --git a/docs/development/index.rst b/docs/development/index.rst
index 5cf12b5..32be210 100644
--- a/docs/development/index.rst
+++ b/docs/development/index.rst
@@ -1,3 +1,5 @@
+.. _ovn4nfv-developmentguide:
+
.. This work is licensed under a Creative Commons Attribution 4.0 International
.. License. http://creativecommons.org/licenses/by/4.0
@@ -7,10 +9,10 @@ OVN4NFV Development
:Project: Ovn4Nfv, https://wiki.opnfv.org/display/PROJ/Ovn4nfv
-:Editors: Vikram Dham (Huawei)
-:Authors: Vikram Dham (Huawei)
- Trinath Somanchi (NXP)
- Prakash Ramchandran (Huawei)
+:Editors: Trinath Somanchi (NXP India)
+:Authors: Prasad Gorja (NXP India)
+ Trinath Somanchi (NXP India)
+ Prakash Ramchandran (Dell)
:Abstract: This document provides an overview of networking-ovn,its utilization
into NFV and outlines OpenStack official release.
@@ -20,3 +22,4 @@ OVN4NFV Development
openstack-networking-ovn.rst
ovn-for-nfv.rst
+ ovn-sfc-openstack.rst
diff --git a/docs/development/ovn-sfc-openstack.rst b/docs/development/ovn-sfc-openstack.rst
new file mode 100644
index 0000000..2d29c5a
--- /dev/null
+++ b/docs/development/ovn-sfc-openstack.rst
@@ -0,0 +1,201 @@
+===================
+OVN-SFC POC Details
+===================
+
+Purpose
+=======
+The purpose of this Proof-of-concept is to showcase Service Function
+Chaining with OVN.
+
+Scope
+=====
+
+The Scope of this document is to describe SFC using OVN and discuss
+installation and configuration of OVN to instantiate a forwarding path.
+
+Steps
+=====
+1. Install CentOS7 minimal install:
+-----------------------------------
+- Make sure to enable network interface.
+- Just create a root password. Don't create any users
+
+2. Create user:
+---------------
+Below are the instructions to create user - stack, for use with Devstack.
+
+- $ sudo useradd -s /bin/bash -d /opt/stack -m stack
+- $ echo 'stack ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/stack
+- $ sudo su - stack
+
+3. Install git
+--------------
+- $ sudo yum install git -y
+
+4. clone Devstack and Networking-ovn
+------------------------------------
+- $ git clone http://git.openstack.org/openstack-dev/devstack.git
+- $ git clone http://git.openstack.org/openstack/networking-ovn.git
+- $ cd devstack
+- $ cp ../networking-ovn/devstack/local.conf.sample local.conf
+
+5. Edit the local.conf file:
+----------------------------
+- Add (uncomment and edited)
+
+ - OVN_REPO=https://github.com/doonhammer/ovs
+ - OVN_BRANCH=sfc.v30
+- Uncomment the below line
+
+ - OVN_BUILD_MODULES=False
+
+We use forked/modifed OVS for SFC usecase from John McDowall.
+
+6. Devstack Preliminaries:
+--------------------------
+- $ ./stack.sh
+- $ . ~/devstack/openrc admin
+- $ openstack keypair create demo &amp;gt; ~/id_rsa_demo
+- $ chmod 600 ~/id_rsa_demo
+- $ for group in $(openstack security group list -f value -c ID);
+ do openstack security group rule create --ingress --ethertype IPv4 --dst-port 22 --protocol tcp $group;
+ openstack security group rule create --ingress --ethertype IPv4 -- protocol ICMP $group;
+ done
+- $ IMAGE_ID=$(openstack image list -f value -c ID)
+
+10. Create Neutron network and subnet
+--------------------------------------
+- $ openstack network create --project admin --provider-network-type geneve n1
+- $ openstack subnet create --subnet-range 10.1.1.0/24 --network n1 n1subnet
+
+
+10. Spawn VMs
+-------------
+- Create 5 VMs, 3 VMs to act as communication end-points (a,b, and c) and two
+ VMs to act as VNFs (vnf1 &amp; vnf2).
+- The 2 VNF VMs are created with two NICs to act as ingress and egress ports
+ (Optional)
+- Created two SFCs:
+ - SFC1: any traffic from VM a to VM b will go through vnf1
+ - SFC1: any traffic from VM a to VM c will go through vnf2 then vnf1
+
+
+A. SFC with OVN - Scenario 1:
+-----------------------------
+
+***********************
+1. create VMs and VNFs:
+***********************
+- $ openstack server create --nic net-id=n1,v4-fixed-ip=10.1.1.5 --flavor m1.nano --image $IMAGE_ID --key-name demo a
+- $ openstack server create --nic net-id=n1,v4-fixed-ip=10.1.1.6 --flavor m1.nano --image $IMAGE_ID --key-name demo b
+- $ openstack server create --nic net-id=n1,v4-fixed-ip=10.1.1.10 --nic net-id=n1,v4-fixed-ip=10.1.1.11 --flavor m1.nano --image $IMAGE_ID --key-name demo vnf1
+- $ openstack port set --name ap $(openstack port list --server a -f value -c ID)
+- $ openstack port set --name bp $(openstack port list --server b -f value -c ID)
+- $ AP_MAC=$(openstack port show -f value -c mac_address ap)
+- $ BP_MAC=$(openstack port show -f value -c mac_address bp)
+- $ openstack port set --name vnf1-pin $(openstack port list --server vnf1 --mac-address fa:16:3e:a0:e9:70 -f value -c ID)
+- $ openstack port set --name vnf1-pout $(openstack port list --server vnf1 --mac-address fa:16:3e:ae:0c:36 -f value -c ID)
+- $ f1_pin_MAC=$(openstack port show -f value -c mac_address vnf1-pin)
+- $ f1_pout_MAC=$(openstack port show -f value -c mac_address vnf1-pout)
+
+***************************************
+2. Create port-pairs, groups and chains
+***************************************
+The switch and ports UUIDs below will different in each environment.
+
+- n1 = f1de57df-04e3-456b-85c0-64fd869507ad
+- vnf1-pin = 6ec5aa3d-8440-44c9-acf3-a18914ca9b0d
+- vnf1-pout = 3f558a9d-295e-4417-9646-d46b59be97d8
+- ap = 0438495b-7de4-4bbb-b787-dff82615b541
+- bp = 1f004846-3f38-450d-8f4a-e5ed0f7228e6
+- cp = 9a72cc76-4d8d-494c-a959-8d672149c0ea
+- vnf2-pin = 6a32edc7-23d4-42ed-9cf8-c6e0009da01d
+- vnf2-pout = 8553b6d2-1433-4ab4-ab69-704d318b09af
+
+**1. Configure the port pair vnf1-PP1**
+
+- $ ovn-nbctl lsp-pair-add n1 vnf1-pin vnf1-pout vnf1-PP1 (didn't work with names)
+- $ ovn-nbctl lsp-pair-add f1de57df-04e3-456b-85c0-64fd869507ad 6ec5aa3d-8440-44c9-acf3-a18914ca9b0d 3f558a9d-295e-4417-9646-d46b59be97d8 vnf1-PP1
+
+**2. Configure the port chain PC1**
+
+- $ ovn-nbctl lsp-chain-add n1 PC1
+- $ ovn-nbctl lsp-chain-add f1de57df-04e3-456b-85c0-64fd869507ad PC1
+
+**3. Configure the port pair group PG1 and add to port chain**
+
+- $ ovn-nbctl lsp-pair-group-add PC1 PG1
+
+**4. Add port pair to port chain**
+
+- $ ovn-nbctl lsp-pair-group-add-port-pair PG1 vnf1-PP1
+
+**5. Add port chain to port classifier PCC1**
+
+- $ lsp-chain-classifier-add SWITCH CHAIN PORT DIRECTION PATH [NAME] [MATCH]
+- $ ovn-nbctl lsp-chain-classifier-add n1 PC1 bp 'entry-lport' 'bi-directional' PCC1 '';
+- $ ovn-nbctl lsp-chain-classifier-add f1de57df-04e3-456b-85c0-64fd869507ad PC1 1f004846-3f38-450d-8f4a-e5ed0f7228e6 'entry-lport' 'bi-directional' PCC1 ''
+
+*****************
+3. Validating SFC
+*****************
+
+- $ ovn-trace n1 'inport == "ap" && eth.src == "$AP_MAC" && eth.dst == "$BP_MAC"'
+
+
+B. SFC with OVN - Scenario 2:
+-----------------------------
+
+*************
+1. Create VMs
+*************
+- $ openstack server create --nic net-id=n1,v4-fixed-ip=10.1.1.7 --flavor m1.nano --image $IMAGE_ID --key-name demo c
+- $ openstack server create --nic net-id=n1,v4-fixed-ip=10.1.1.20 --nic net-id=n1,v4-fixed-ip=10.1.1.21 --flavor m1.nano --image $IMAGE_ID --key-name demo vnf2
+- $ openstack port set --name cp $(openstack port list --server c -f value -c ID)
+- $ CP_MAC=$(openstack port show -f value -c mac_address cp)
+- $ openstack port set --name vnf2-pin $(openstack port list --server vnf2 --mac-address fa:16:3e:ff:e5:76 -f value -c ID)
+- $ openstack port set --name vnf2-pout $(openstack port list --server vnf2 --mac-address fa:16:3e:4c:a3:58 -f value -c ID)
+- $ f2_pin_MAC=$(openstack port show -f value -c mac_address vnf2-pin)
+- $ f2_pout_MAC=$(openstack port show -f value -c mac_address vnf2-pout)
+
+****************
+2. Configure SFC
+****************
+
+**1. Configure the port pair vnf2-PP1**
+
+- $ ovn-nbctl lsp-pair-add n1 vnf2-pin vnf2-pout vnf2-PP1 (Didn't work with names)
+- $ ovn-nbctl lsp-pair-add f1de57df-04e3-456b-85c0-64fd869507ad 6a32edc7-23d4-42ed-9cf8-c6e0009da01d 8553b6d2-1433-4ab4-ab69-704d318b09af vnf2-PP1
+
+**2. Configure the port chain PC2**
+
+- $ ovn-nbctl lsp-chain-add n1 PC2
+- $ ovn-nbctl lsp-chain-add f1de57df-04e3-456b-85c0-64fd869507ad PC2
+
+**3. Configure the port pair group PG2 and add to port chain**
+
+- $ ovn-nbctl lsp-pair-group-add PC2 PG2
+- $ ovn-nbctl lsp-pair-group-add PC2 PG3
+
+**4. Add port pair to port chain**
+
+- $ ovn-nbctl lsp-pair-group-add-port-pair PG2 vnf2-PP1
+- $ ovn-nbctl lsp-pair-group-add-port-pair PG3 vnf1-PP1
+
+**4. Add port chain to port classifier PCC2**
+
+- $ ovn-nbctl lsp-chain-classifier-add n1 PC2 cp "entry-lport" "bi-directional" PCC2 ""
+- $ ovn-nbctl lsp-chain-classifier-add f1de57df-04e3-456b-85c0-64fd869507ad PC2 9a72cc76-4d8d-494c-a959-8d672149c0ea "entry-lport" "bi-directional" PCC2 "";
+
+********************
+3. Validate Scenario
+********************
+
+- $ ovn-trace n1 'inport == "ap" && eth.src == "$AP_MAC" && eth.dst == "$CP_MAC"'
+
+References:
+-----------
+
+1. http://docs.openvswitch.org/en/latest/tutorials/ovn-openstack/
+2. https://gist.github.com/voyageur/a26943eced3324b302f1ffede45252bd
+3. https://github.com/doonhammer/ovs
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 0000000..50b855d
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,20 @@
+.. _ovn4nfv:
+
+.. This work is licensed under a Creative Commons Attribution 4.0
+.. International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. (c) Open Platform for NFV Project, Inc. and its contributors
+
+=======
+OVN4NFV
+=======
+
+.. toctree::
+ :numbered:
+ :maxdepth: 2
+
+ development/index
+ release/configguide/index
+ release/release-notes/index
+ scenarios/index
+ testing/index
diff --git a/docs/release/configuration-guide.rst b/docs/release/configguide/configuration-guide.rst
index 12a6243..12a6243 100644
--- a/docs/release/configuration-guide.rst
+++ b/docs/release/configguide/configuration-guide.rst
diff --git a/docs/release/index.rst b/docs/release/configguide/index.rst
index 24da448..ddc7f6e 100644
--- a/docs/release/index.rst
+++ b/docs/release/configguide/index.rst
@@ -1,21 +1,22 @@
+.. _ovn4nfv-configguide:
+
.. This work is licensed under a Creative Commons Attribution 4.0 International
.. License. http://creativecommons.org/licenses/by/4.0
-==========================
-OVN4NFV Release Notes
-==========================
+===========================
+OVN4NFV Configuration guide
+===========================
:Project: OVN4NFV, https://wiki.opnfv.org/display/PROJ/Ovn4nfv
-:Editors: Vikram Dham (Huawei)
-:Authors: Vikram Dham (Huawei)
+:Editors: Trinath Somanchi (NXP)
+:Authors: Prasad Gorja (NXP)
Trinath Somanchi (NXP)
- Prakash Ramchandran (Huawei)
+ Prakash Ramchandran (Dell)
-:Abstract: OVN4NFV Release Notes.
+:Abstract: OVN4NFV Configuration Guide
.. toctree::
:maxdepth: 1
- release-notes.rst
configuration-guide.rst
diff --git a/docs/release/release-notes/index.rst b/docs/release/release-notes/index.rst
new file mode 100644
index 0000000..4c305f3
--- /dev/null
+++ b/docs/release/release-notes/index.rst
@@ -0,0 +1,23 @@
+.. _ovn4nfv-releasenotes:
+
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License. http://creativecommons.org/licenses/by/4.0
+
+==============================
+OVN4NFV - Fraser Release Notes
+==============================
+
+:Project: OVN4NFV, https://wiki.opnfv.org/display/PROJ/Ovn4nfv
+
+:Editors: Trinath Somanchi (NXP India)
+:Authors: Prasad Gorja (NXP India)
+ Trinath Somanchi (NXP India)
+ Prakash Ramchandran (Dell)
+ Aakash K T (IIIT Hyderabad, INDIA)
+
+:Abstract: OVN4NFV Release Notes.
+
+.. toctree::
+ :maxdepth: 1
+
+ release-notes.rst
diff --git a/docs/release/release-notes.rst b/docs/release/release-notes/release-notes.rst
index b8b8a65..3c4acfe 100644
--- a/docs/release/release-notes.rst
+++ b/docs/release/release-notes/release-notes.rst
@@ -1,3 +1,5 @@
+.. _ovn4nfv-releasenotes:
+
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. (c) Open Platform for NFV Project, Inc. and its contributors
@@ -6,18 +8,18 @@
Abstract
========
-This document compiles the release notes for the Euphrates release of
-OPNFV when using Apex/Joid as a deployment tool.
+This document compiles the release notes for OPNFV release when using Apex,
+Joid and Fuel as a deployment tool.
===============
Important Notes
===============
-These notes provides release information for the use of Apex/Joid as deployment
-tool for the Euphrates release of OPNFV.
+This notes provides release information for the use of Apex, Joid and Fuel
+as deployment tool for the Gambia release of OPNFV.
-The goal of the Euphrates release and this Joid/Apex-based deployment process is
-to establish a lab ready platform accelerating further development
+The goal of the Gambia release and this Apex and Fuel based deployment
+process is to establish a lab ready platform accelerating further development
of the OPNFV infrastructure.
Carefully follow the installation-instructions.
@@ -26,9 +28,9 @@ Carefully follow the installation-instructions.
Summary
=======
-For Euphrates, OVN4NFV is supported with APEX and JOID installers.
+For Gambia release, OVN4NFV is supported with APEX and FUEL installers.
-This Euphrates artifact provides Apex/Joid as the deployment stage tool in the
+This Gambia artifact provides Apex and Fuel as the deployment stage tool in the
OPNFV CI pipeline including:
- Documentation built by Jenkins
@@ -39,7 +41,7 @@ OPNFV CI pipeline including:
- installation instructions
-- Automated validation of the Euphrates deployment.
+- Automated validation of the Fraser deployment.
============
Release Data
@@ -49,16 +51,18 @@ Release Data
| **Project** | ovn4nfv |
| | |
+--------------------------------------+--------------------------------------+
-| **Repo/tag** | opnfv-5.0.0 |
+| **Repo/tag** | ovn4nfv/opnfv-7.0 |
| | |
+--------------------------------------+--------------------------------------+
-| **Release designation** | Euphrates 5.1 |
+| **Release designation** | Gambia 7.0 |
| | |
+--------------------------------------+--------------------------------------+
-| **Release date** | December 15 2017 |
+| **Release date** | November 09 2018 |
| | |
+--------------------------------------+--------------------------------------+
-| **Purpose of the delivery** | Bug fixes |
+| **Purpose of the delivery** | New Scenario PoC: OVN SFC |
+| | Scenario documentation, OVN-CN-VM |
+| | OVN support in Fuel installer. |
+--------------------------------------+--------------------------------------+
@@ -70,17 +74,20 @@ Software Deliverables
- `Apex based installation <https://git.opnfv.org/apex>`_
-- `Joid based installation <https://git.opnfv.org/joid>`_
+- `Fuel based installation <https://git.opnfv.org/fuel>`_
Documentation Deliverables
--------------------------
-- `Installation instructions <http://docs.opnfv.org/en/stable-euphrates/submodules/ovn4nfv/docs/development/openstack-networking-ovn.html#install-configuration>`_
+- `Installation instructions <https://git.opnfv.org/ovn4nfv/tree/docs/development/openstack-networking-ovn.rst?h=stable/gambia>`_
- Release notes (This document)
-- `User guide and Testing notes <http://docs.opnfv.org/en/stable-euphrates/submodules/ovn4nfv/docs/testing/testing-notes.html>`_
+- `User guide and Testing notes <https://git.opnfv.org/ovn4nfv/tree/docs/testing/testing-notes.rst?h=stable/gambia>`_
+
+- `Scenario Documentation (K8S-OVN) <https://git.opnfv.org/ovn4nfv/tree/docs/scenarios/JOID/k8s-ovn-lb-noha.rst?h=stable/gambia>`_
+- `Scenario Documentation (OVN-SFC) <https://git.opnfv.org/ovn4nfv/tree/docs/development/ovn-sfc-openstack.rst?h=stable/gambia>`_
==========
References
@@ -93,7 +100,7 @@ OPNFV
1) `OPNFV Home Page <http://www.opnfv.org>`_
2) `OPNFV Documentation <http://docs.opnfv.org>`_
3) `OPNFV Software Downloads <https://www.opnfv.org/software/download>`_
-4) `OVN4NFV Project <>`_
+4) `OVN4NFV Project <https://wiki.opnfv.org/display/PROJ/Ovn4nfv>`_
OpenStack
=========
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644
index 0000000..9fde2df
--- /dev/null
+++ b/docs/requirements.txt
@@ -0,0 +1,2 @@
+lfdocs-conf
+sphinx_opnfv_theme
diff --git a/docs/scenarios/JOID/k8s-ovn-lb-noha.rst b/docs/scenarios/JOID/k8s-ovn-lb-noha.rst
new file mode 100644
index 0000000..ea9a35e
--- /dev/null
+++ b/docs/scenarios/JOID/k8s-ovn-lb-noha.rst
@@ -0,0 +1,171 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) <optionally add copywriters name>
+
+
+Abstract
+========
+
+This document outlines the notes for deploying Kubernetes with OVN as the SDN and a load
+balancer. JOID is used as the deployment tool.
+
+Introduction
+============
+Juju OPNFV Infrastructure Deployer (JOID)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+JOID as Juju OPNFV Infrastructure Deployer allows you to deploy different combinations of
+OpenStack release and SDN solution in HA or non-HA mode. For OpenStack, JOID supports
+Juno and Liberty. For SDN, it supports Openvswitch, OpenContrail, OpenDayLight, and ONOS.
+In addition to HA or non-HA mode, it also supports deploying from the latest development
+tree.
+
+JOID heavily utilizes the technology developed in Juju and MAAS. Juju is a
+state-of-the-art, open source, universal model for service oriented architecture and
+service oriented deployments. Juju allows you to deploy, configure, manage, maintain,
+and scale cloud services quickly and efficiently on public clouds, as well as on physical
+servers, OpenStack, and containers. You can use Juju from the command line or through its
+powerful GUI. MAAS (Metal-As-A-Service) brings the dynamism of cloud computing to the
+world of physical provisioning and Ubuntu. Connect, commission and deploy physical servers
+in record time, re-allocate nodes between services dynamically, and keep them up to date;
+and in due course, retire them from use. In conjunction with the Juju service
+orchestration software, MAAS will enable you to get the most out of your physical hardware
+and dynamically deploy complex services with ease and confidence.
+
+For more info on Juju and MAAS, please visit https://jujucharms.com/
+and http://maas.ubuntu.com.
+
+Production grade container Orchestrator - Kubernetes (K8S)
+==========================================================
+
+Kubernetes is an open-source system for automating deployment, scaling, and
+management of containerized applications.
+
+This is a Kubernetes cluster that includes logging, monitoring, and operational
+knowledge. It is comprised of the following components and features:
+
+- Kubernetes (automated deployment, operations, and scaling)
+ TLS used for communication between nodes for security.
+ A CNI plugin - in this scenario, we use OVN (Refer : https://github.com/openvswitch/ovn-kubernetes)
+ A load balancer for HA kubernetes-master (Experimental)
+ Optional Ingress Controller (on worker)
+ Optional Dashboard addon (on master) including Heapster for cluster monitoring
+
+- EasyRSA
+ Performs the role of a certificate authority serving self signed certificates
+ to the requesting units of the cluster.
+
+- Etcd (distributed key value store)
+ Minimum Three node cluster for reliability.
+
+- Kubernetes deployment with Load Balancer
+ .. code-block:: sh
+
+ ./deploy.sh -m kubernetes -f lb -l custom -s ovn
+
+
+Deployment Diagram
+==================
+
+
+
+ +-------------------------+
+ | |
+ +------------+ Kubeapi-load-balancer +-----------------+
+ | | | |
+ | +------------+------------+ |
+ | | |
+ | | |
+ | +------+------+ +----------+ |
+ | | | | | |
+ | +--------------+ EasyRSA +--------+ etcd | |
+ | | | | | | |
+ | | +-------------+ +-----+----+ |
+ | | | |
+ | | +---------+ | |
+ | | | | | |
+ | | +-------------+ OVN +-------------+ | |
+ | | | | | | | |
+ | | | +---------+ | | |
+ | | | | | |
+ | | | | | |
++-+---+--+----------+ +-----------+--+------+ |
+| | | | |
+| Kubernetes-worker +-----------------Kubernetes-master +-+
+| | | |
++-------------------+ +---------------------+
+
+
+
+Using Kubernetes after Deployment
+=================================
+
+Once you have finished installing Kubernetes, you can use the
+following command to test the deployment.
+
+To deploy 5 replicas of the microbot web application inside the Kubernetes
+cluster run the following command:
+
+.. code-block:: bash
+
+ juju run-action kubernetes-worker/0 microbot replicas=5
+
+This action performs the following steps:
+
+It creates a deployment titled 'microbots' comprised of 5 replicas defined
+during the run of the action. It also creates a service named 'microbots'
+which binds an 'endpoint', using all 5 of the 'microbots' pods.
+Finally, it will create an ingress resource, which points at a
+xip.io domain to simulate a proper DNS service.
+
+Running the packaged example
+
+You can run a Juju action to create an example microbot web application:
+
+.. code-block:: bash
+
+ $ juju run-action kubernetes-worker/0 microbot replicas=3
+ Action queued with id: db7cc72b-5f35-4a4d-877c-284c4b776eb8
+
+ $ juju show-action-output db7cc72b-5f35-4a4d-877c-284c4b776eb8
+ results:
+ address: microbot.104.198.77.197.xip.io
+ status: completed
+ timing:
+ completed: 2016-09-26 20:42:42 +0000 UTC
+ enqueued: 2016-09-26 20:42:39 +0000 UTC
+ started: 2016-09-26 20:42:41 +0000 UTC
+Note: Your FQDN will be different and contain the address of the cloud
+instance.
+At this point, you can inspect the cluster to observe the workload coming
+online.
+
+For deploying via juju, refer to : https://jujucharms.com/u/aakashkt/kubernetes-ovn/
+
+Supported OVN scenarios
+=======================
+Name: joid-k8s-ovn-lb-noha
+Test Link: https://build.opnfv.org/ci/view/joid/job/joid-k8-ovn-lb-noha-baremetal-daily-master/
+
+References
+==========
+
+Juju
+----
+- `Juju Charm store <https://jujucharms.com/>`
+- `Juju documents <https://jujucharms.com/docs/stable/getting-started>`
+- `Canonical Distibuytion of Kubernetes <https://jujucharms.com/canonical-kubernetes/>`
+
+MAAS
+----
+- `Bare metal management (Metal-As-A-Service) <http://maas.io/get-started>`
+- `MAAS API documents <http://maas.ubuntu.com/docs/>`
+
+JOID
+----
+- `OPNFV JOID wiki <https://wiki.opnfv.org/joid>`
+- `OPNFV JOID Get Started <https://wiki.opnfv.org/display/joid/JOID+Get+Started>`
+
+Kubernetes
+----------
+- `Kubernetes Release artifacts <https://get.k8s.io/>`
+- `Kubernetes documentation <https://kubernetes.io/>` \ No newline at end of file
diff --git a/docs/scenarios/index.rst b/docs/scenarios/index.rst
new file mode 100644
index 0000000..82a81f0
--- /dev/null
+++ b/docs/scenarios/index.rst
@@ -0,0 +1,26 @@
+.. _ovn4nfv-scenarios:
+
+.. This work is licensed under a Creative Commons Attribution 4.0 International Licence.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) <optionally add copywriters name>
+
+=============================
+OVN4NFV Installer Scenarios
+=============================
+
+:Editors: Trinath Somanchi (NXP India)
+:Authors: Prasad Gorja (NXP India)
+ Trinath Somanchi (NXP India)
+ Prakash Ramchandran (Dell)
+ Aakash K T (IIIT Hyderabad INDIA)
+
+:Abstract: Installer scenario documenation.
+ Currently Apex, Fuel and Joid support OVN no-feature and feature
+ scenarios.
+
+.. toctree::
+ :numbered:
+ :maxdepth: 4
+
+ JOID/k8s-ovn-lb-noha.rst
+
diff --git a/docs/testing/index.rst b/docs/testing/index.rst
index b0d0585..c94f1a7 100644
--- a/docs/testing/index.rst
+++ b/docs/testing/index.rst
@@ -1,3 +1,5 @@
+.. _ovn4nfv-testing:
+
.. This work is licensed under a Creative Commons Attribution 4.0 International
.. License. http://creativecommons.org/licenses/by/4.0
@@ -7,12 +9,12 @@ OVN4NFV Testing Notes
:Project: OVN4NFV, https://wiki.opnfv.org/display/PROJ/Ovn4nfv
-:Editors: Vikram Dham (Huawei)
-:Authors: Vikram Dham (Huawei)
- Trinath Somanchi (NXP)
- Prakash Ramchandran (Huawei)
+:Editors: Trinath Somanchi (NXP India)
+:Authors: Prasad Gorja (NXP India)
+ Trinath Somanchi (NXP India)
+ Prakash Ramchandran (Dell)
-:Abstract: OVN4NFV Release Notes.
+:Abstract: OVN4NFV Testing Notes.
.. toctree::
:maxdepth: 1
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..69aa189
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,17 @@
+[tox]
+minversion = 1.6
+envlist =
+ docs,
+ docs-linkcheck
+skipsdist = true
+
+[testenv:docs]
+deps = -rdocs/requirements.txt
+commands =
+ sphinx-build -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
+ echo "Generated docs available in {toxinidir}/docs/_build/html"
+whitelist_externals = echo
+
+[testenv:docs-linkcheck]
+deps = -rdocs/requirements.txt
+commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck