Change-Id: If40e0117a4e9a8b7da9c361beca49bbe0cfb1dd5
This commit is contained in:
Maciej Relewicz 2016-07-18 15:22:43 +02:00
parent 2bcb511240
commit b0d549c9d8
12 changed files with 678 additions and 0 deletions

8
doc/content/appendix.rst Normal file
View File

@ -0,0 +1,8 @@
==================
Appendix
==================
Links
=========================
- `Networking SFC github repository <https://github.com/openstack/networking-sfc>`_

View File

@ -0,0 +1,15 @@
=====================================================
Guide to the Networking SFC Plugin extension for Fuel
=====================================================
This plugin extends Mirantis OpenStack functionality by adding Networking SFC
support. It installs all necessary packages and configures Neutron.
Requirements
============
================================== ===============
Requirement Version/Comment
================================== ===============
Fuel 9.0
================================== ===============

43
doc/content/guide.rst Normal file
View File

@ -0,0 +1,43 @@
==========
User Guide
==========
Environment configuration
=========================
#. Create an environment with vxlans support. For more information about
environment creation, see `Fuel User Guide <http://docs.openstack.org
/developer/fuel-docs/userdocs/fuel-user-guide/create-environment.html>`_
#. In *Environments* tab choose an environment for which you want to install
Networking SFC plugin.
#. Enable L2 Population in *Network* tab in section *Other*.
.. image:: images/enablel2.png
:width: 50%
#. Enable plugin by *Service Function Chaining Extension for OpenStack
Networking* on *Settings* tab in section *Other*.
.. image:: images/enableplugin.png
:width: 50%
#. Plugin reguire Xenial kernel. Because it is not in Fuel 9.0 by default it's
should be installed by changing LTS kernel stack on *Settings* tab in
section *General*. On the bootom is section *Provision*, in text box named
*Initial packages* change packages from linux-headers-generic-lts-trusty and
linux-image-generic-lts-trusty to linux-headers-generic-lts-xenial and
linux-image-generic-lts-xenial.
.. image:: images/xenial.png
:width: 50%
.. image:: images/xenial2.png
:width: 50%
#. Adjust other environment settings to your requirements and deploy the
environment. For more information, see
`Configure your Environment <http://docs.openstack.org/developer/fuel-docs
/userdocs/fuel-user-guide/configure-environment.html>`_.

View File

@ -0,0 +1,47 @@
==================
Installation Guide
==================
Networking SFC plugin installation
============================================
To install Networking SFC plugin, follow these steps:
#. Install all needed dependencies::
# yum install createrepo rpm rpm-build dpkg-devel git ruby-devel createrepo
dpkg-devel dpkg-dev rpm rpm-build python-pip
# pip install fuel-plugin-builder
# gem install fpm
#. Download plugin source code from github::
# git clone https://github.com/openstack/fuel-plugin-networking-sfc
# cd fuel-plugin-networking-sfc
#. 1.0 branch should be used on Fuel 9.0::
# git chekout 1.0
#. Build a plugin::
# fpb --build ./
#. Copy the plugin to already installed Fuel Master node; ssh can be used for
that. If you do not have the Fuel Master node yet, see `Fuel Installation
Guide <http://docs.openstack.org/developer/fuel-docs/userdocs
/fuel-install-guide.html>`_::
# scp networking-sfc-<version>.noarch.rpm root@<Fuel_Master_ip>:/tmp
#. Install the plugin::
# cd /tmp
# fuel plugins --install networking-sfc-<version>.noarch.rpm
#. Check if the plugin was installed successfully::
# fuel plugins
id | name | version | package_version | releases
---|----------------|---------|-----------------|--------------------
1 | networking-sfc | 1.0.0 | 4.0.0 | ubuntu (mitaka-9.0)

19
doc/content/removal.rst Normal file
View File

@ -0,0 +1,19 @@
==================
Removal Guide
==================
Networking SFC plugin removal
============================================
To uninstall Networking SFC plugin, follow these steps:
1. Disable plugin in all environments when it is used.
2. Uninstall the plugin:
# fuel plugins --remove networking-sfc==1.0.0
3. Check if the plugin was uninstalled successfully:
# fuel plugins
id | name | version | package_version
---|---------------------------|----------|----------------

21
doc/content/terms.rst Normal file
View File

@ -0,0 +1,21 @@
=====================================
Key terms, acronyms and abbreviations
=====================================
Networking SFC
Service Function Chaining is a mechanism for overriding
the basic destination based forwarding that is typical
of IP networks. It is conceptually related to Policy
Based Routing in physical networks but it is typically
thought of as a Software Defined Networking technology.
It is often used in conjunction with security functions
although it may be used for a broader range of features.
Fundamentally SFC is the ability to cause network packet
flows to route through a network via a path other than
the one that would be chosen by routing table lookups
on the packet's destination IP address. It is most
commonly used in conjunction with Network Function
Virtualization when recreating in a virtual environment
a series of network functions that would have
traditionally been implemented as a collection of
physical network devices connected in series by cables.

BIN
doc/images/enablel2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 KiB

BIN
doc/images/enableplugin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

BIN
doc/images/xenial.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 KiB

BIN
doc/images/xenial2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

512
doc/user.html Normal file
View File

@ -0,0 +1,512 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.12: http://docutils.sourceforge.net/" />
<title>User guide to the Networking SFC extension for Fuel</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7614 2013-02-21 15:55:51Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="user-guide-to-the-networking-sfc-extension-for-fuel">
<h1 class="title">User guide to the Networking SFC extension for Fuel</h1>
<p>This document provides instructions for installing, configuring and using
Networking SFC plugin for Fuel.</p>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#key-terms-acronyms-and-abbreviations" id="id2">Key terms, acronyms and abbreviations</a></li>
<li><a class="reference internal" href="#guide-to-the-networking-sfc-plugin-extension-for-fuel" id="id3">Guide to the Networking SFC Plugin extension for Fuel</a><ul>
<li><a class="reference internal" href="#requirements" id="id4">Requirements</a></li>
</ul>
</li>
<li><a class="reference internal" href="#installation-guide" id="id5">Installation Guide</a><ul>
<li><a class="reference internal" href="#networking-sfc-plugin-installation" id="id6">Networking SFC plugin installation</a></li>
</ul>
</li>
<li><a class="reference internal" href="#user-guide" id="id7">User Guide</a><ul>
<li><a class="reference internal" href="#environment-configuration" id="id8">Environment configuration</a></li>
</ul>
</li>
<li><a class="reference internal" href="#appendix" id="id9">Appendix</a><ul>
<li><a class="reference internal" href="#links" id="id10">Links</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="key-terms-acronyms-and-abbreviations">
<h1><a class="toc-backref" href="#id2">Key terms, acronyms and abbreviations</a></h1>
<dl class="docutils">
<dt>Networking SFC</dt>
<dd>Service Function Chaining is a mechanism for overriding
the basic destination based forwarding that is typical
of IP networks. It is conceptually related to Policy
Based Routing in physical networks but it is typically
thought of as a Software Defined Networking technology.
It is often used in conjunction with security functions
although it may be used for a broader range of features.
Fundamentally SFC is the ability to cause network packet
flows to route through a network via a path other than
the one that would be chosen by routing table lookups
on the packet's destination IP address. It is most
commonly used in conjunction with Network Function
Virtualization when recreating in a virtual environment
a series of network functions that would have
traditionally been implemented as a collection of
physical network devices connected in series by cables.</dd>
</dl>
</div>
<div class="section" id="guide-to-the-networking-sfc-plugin-extension-for-fuel">
<h1><a class="toc-backref" href="#id3">Guide to the Networking SFC Plugin extension for Fuel</a></h1>
<p>This plugin extends Mirantis OpenStack functionality by adding Networking SFC
support. It installs all necessary packages and configures Neutron.</p>
<div class="section" id="requirements">
<h2><a class="toc-backref" href="#id4">Requirements</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="69%" />
<col width="31%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Requirement</th>
<th class="head">Version/Comment</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>Fuel</td>
<td>9.0</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section" id="installation-guide">
<h1><a class="toc-backref" href="#id5">Installation Guide</a></h1>
<div class="section" id="networking-sfc-plugin-installation">
<h2><a class="toc-backref" href="#id6">Networking SFC plugin installation</a></h2>
<p>To install Networking SFC plugin, follow these steps:</p>
<ol class="arabic">
<li><p class="first">Install all needed dependencies:</p>
<pre class="literal-block">
# yum install createrepo rpm rpm-build dpkg-devel git ruby-devel createrepo
dpkg-devel dpkg-dev rpm rpm-build python-pip
# pip install fuel-plugin-builder
# gem install fpm
</pre>
</li>
<li><p class="first">Download plugin source code from github:</p>
<pre class="literal-block">
# git clone https://github.com/openstack/fuel-plugin-networking-sfc
# cd fuel-plugin-networking-sfc
</pre>
</li>
<li><p class="first">1.0 branch should be used on Fuel 9.0:</p>
<pre class="literal-block">
# git chekout 1.0
</pre>
</li>
<li><p class="first">Build a plugin:</p>
<pre class="literal-block">
# fpb --build ./
</pre>
</li>
<li><p class="first">Copy the plugin to already installed Fuel Master node; ssh can be used for
that. If you do not have the Fuel Master node yet, see <a class="reference external" href="https://docs.mirantis.com/openstack/fuel/fuel-8.0/quickstart-guide.html">Quick Start Guide</a>:</p>
<pre class="literal-block">
# scp networking-sfc-&lt;version&gt;.noarch.rpm root&#64;&lt;Fuel_Master_ip&gt;:/tmp
</pre>
</li>
<li><p class="first">Install the plugin:</p>
<pre class="literal-block">
# cd /tmp
# fuel plugins --install networking-sfc-&lt;version&gt;.noarch.rpm
</pre>
</li>
<li><p class="first">Check if the plugin was installed successfully:</p>
<pre class="literal-block">
# fuel plugins
id | name | version | package_version | releases
---|----------------|---------|-----------------|--------------------
1 | networking-sfc | 1.0.0 | 4.0.0 | ubuntu (mitaka-9.0)
</pre>
</li>
</ol>
</div>
</div>
<div class="section" id="user-guide">
<h1><a class="toc-backref" href="#id7">User Guide</a></h1>
<div class="section" id="environment-configuration">
<h2><a class="toc-backref" href="#id8">Environment configuration</a></h2>
<ol class="arabic">
<li><p class="first">Create an environment with vxlans support. For more information about
environment creation, see <a class="reference external" href="http://docs.mirantis.com/openstack/fuel/fuel-9.0/user-guide.html#create-a-new-openstack-environment">Mirantis OpenStack User Guide</a>.</p>
</li>
<li><p class="first">In <em>Environments</em> tab choose an environment for which you want to install
Networking SFC plugin.</p>
</li>
<li><p class="first">Enable plugin by <em>Service Function Chaining Extension for OpenStack
Networking</em> on <em>Settings</em> tab in section <em>Other</em>.</p>
<img alt="images/enableplugin.png" src="images/enableplugin.png" style="width: 50%;" />
</li>
<li><p class="first">Enable L2 Population in <em>Network</em> tab in section <em>Other</em>.</p>
<img alt="images/enablel2.png" src="images/enablel2.png" style="width: 50%;" />
</li>
<li><p class="first">Plugin reguire Xenial kernel. Because it is not in Fuel 9.0 by default it's
should be installed by changing LTS kernel stack on <em>Settings</em> tab in
section <em>General</em>. On the bootom is section <em>Provision</em>, in text box named
<em>Initial packages</em> change packages from linux-headers-generic-lts-trusty and
linux-image-generic-lts-trusty to linux-headers-generic-lts-xenial and
linux-image-generic-lts-xenial.</p>
<img alt="images/xenial.png" src="images/xenial.png" style="width: 50%;" />
<img alt="images/xenial2.png" src="images/xenial2.png" style="width: 50%;" />
</li>
<li><p class="first">Adjust other environment settings to your requirements and deploy the
environment. For more information, see
<a class="reference external" href="http://docs.mirantis.com/openstack/fuel/fuel-9.0/user-guide.html#create-a-new-openstack-environment">Mirantis OpenStack User Guide</a>.</p>
</li>
</ol>
</div>
</div>
<div class="section" id="appendix">
<h1><a class="toc-backref" href="#id9">Appendix</a></h1>
<div class="section" id="links">
<h2><a class="toc-backref" href="#id10">Links</a></h2>
<ul class="simple">
<li><a class="reference external" href="https://github.com/openstack/networking-sfc">Networking SFC github repository</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>

13
doc/user_guide.rst Normal file
View File

@ -0,0 +1,13 @@
****************************************************************
User guide to the Networking SFC extension for Fuel
****************************************************************
This document provides instructions for installing, configuring and using
Networking SFC plugin for Fuel.
.. contents::
.. include:: content/terms.rst
.. include:: content/description.rst
.. include:: content/installation.rst
.. include:: content/guide.rst
.. include:: content/appendix.rst