Browse Source

Fuel NSX-T plugin documentation

Change-Id: I29999917ee71788a6e5f5bcd32b325aaf6c8917a
changes/42/372542/5
Igor Zinovik 2 years ago
parent
commit
7cd564b298

+ 177
- 0
doc/user/Makefile View File

@@ -0,0 +1,177 @@
1
+# Makefile for Sphinx documentation
2
+#
3
+
4
+# You can set these variables from the command line.
5
+SPHINXOPTS    =
6
+SPHINXBUILD   = sphinx-build
7
+PAPER         =
8
+BUILDDIR      = _build
9
+
10
+# User-friendly check for sphinx-build
11
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
12
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
13
+endif
14
+
15
+# Internal variables.
16
+PAPEROPT_a4     = -D latex_paper_size=a4
17
+PAPEROPT_letter = -D latex_paper_size=letter
18
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
19
+# the i18n builder cannot share the environment and doctrees with the others
20
+I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
21
+
22
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
23
+
24
+help:
25
+	@echo "Please use \`make <target>' where <target> is one of"
26
+	@echo "  html       to make standalone HTML files"
27
+	@echo "  dirhtml    to make HTML files named index.html in directories"
28
+	@echo "  singlehtml to make a single large HTML file"
29
+	@echo "  pickle     to make pickle files"
30
+	@echo "  json       to make JSON files"
31
+	@echo "  htmlhelp   to make HTML files and a HTML help project"
32
+	@echo "  qthelp     to make HTML files and a qthelp project"
33
+	@echo "  devhelp    to make HTML files and a Devhelp project"
34
+	@echo "  epub       to make an epub"
35
+	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
36
+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
37
+	@echo "  latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
38
+	@echo "  text       to make text files"
39
+	@echo "  man        to make manual pages"
40
+	@echo "  texinfo    to make Texinfo files"
41
+	@echo "  info       to make Texinfo files and run them through makeinfo"
42
+	@echo "  gettext    to make PO message catalogs"
43
+	@echo "  changes    to make an overview of all changed/added/deprecated items"
44
+	@echo "  xml        to make Docutils-native XML files"
45
+	@echo "  pseudoxml  to make pseudoxml-XML files for display purposes"
46
+	@echo "  linkcheck  to check all external links for integrity"
47
+	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
48
+
49
+clean:
50
+	rm -rf $(BUILDDIR)/*
51
+
52
+html:
53
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
54
+	@echo
55
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
56
+
57
+dirhtml:
58
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
59
+	@echo
60
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
61
+
62
+singlehtml:
63
+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
64
+	@echo
65
+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
66
+
67
+pickle:
68
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
69
+	@echo
70
+	@echo "Build finished; now you can process the pickle files."
71
+
72
+json:
73
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
74
+	@echo
75
+	@echo "Build finished; now you can process the JSON files."
76
+
77
+htmlhelp:
78
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
79
+	@echo
80
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
81
+	      ".hhp project file in $(BUILDDIR)/htmlhelp."
82
+
83
+qthelp:
84
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
85
+	@echo
86
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
87
+	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
88
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/FuelNSXtplugin.qhcp"
89
+	@echo "To view the help file:"
90
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/FuelNSXtplugin.qhc"
91
+
92
+devhelp:
93
+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
94
+	@echo
95
+	@echo "Build finished."
96
+	@echo "To view the help file:"
97
+	@echo "# mkdir -p $$HOME/.local/share/devhelp/FuelNSXtplugin"
98
+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/FuelNSXtplugin"
99
+	@echo "# devhelp"
100
+
101
+epub:
102
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
103
+	@echo
104
+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
105
+
106
+latex:
107
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
108
+	@echo
109
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
110
+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
111
+	      "(use \`make latexpdf' here to do that automatically)."
112
+
113
+latexpdf:
114
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
115
+	@echo "Running LaTeX files through pdflatex..."
116
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf
117
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
118
+
119
+latexpdfja:
120
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
121
+	@echo "Running LaTeX files through platex and dvipdfmx..."
122
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
123
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
124
+
125
+text:
126
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
127
+	@echo
128
+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
129
+
130
+man:
131
+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
132
+	@echo
133
+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
134
+
135
+texinfo:
136
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
137
+	@echo
138
+	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
139
+	@echo "Run \`make' in that directory to run these through makeinfo" \
140
+	      "(use \`make info' here to do that automatically)."
141
+
142
+info:
143
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
144
+	@echo "Running Texinfo files through makeinfo..."
145
+	make -C $(BUILDDIR)/texinfo info
146
+	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
147
+
148
+gettext:
149
+	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
150
+	@echo
151
+	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
152
+
153
+changes:
154
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
155
+	@echo
156
+	@echo "The overview file is in $(BUILDDIR)/changes."
157
+
158
+linkcheck:
159
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
160
+	@echo
161
+	@echo "Link check complete; look for any errors in the above output " \
162
+	      "or in $(BUILDDIR)/linkcheck/output.txt."
163
+
164
+doctest:
165
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
166
+	@echo "Testing of doctests in the sources finished, look at the " \
167
+	      "results in $(BUILDDIR)/doctest/output.txt."
168
+
169
+xml:
170
+	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
171
+	@echo
172
+	@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
173
+
174
+pseudoxml:
175
+	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
176
+	@echo
177
+	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."

+ 255
- 0
doc/user/conf.py View File

@@ -0,0 +1,255 @@
1
+# -*- coding: utf-8 -*-
2
+#
3
+# Fuel NSX-T plugin documentation build configuration file, created by
4
+# sphinx-quickstart on Fri Aug 14 12:14:29 2015.
5
+#
6
+# This file is execfile()d with the current directory set to its
7
+# containing dir.
8
+#
9
+# Note that not all possible configuration values are present in this
10
+# autogenerated file.
11
+#
12
+# All configuration values have a default; values that are commented out
13
+# serve to show the default.
14
+
15
+import sys
16
+import os
17
+
18
+# If extensions (or modules to document with autodoc) are in another directory,
19
+# add these directories to sys.path here. If the directory is relative to the
20
+# documentation root, use os.path.abspath to make it absolute, like shown here.
21
+#sys.path.insert(0, os.path.abspath('.'))
22
+
23
+# -- General configuration ------------------------------------------------
24
+
25
+# If your documentation needs a minimal Sphinx version, state it here.
26
+#needs_sphinx = '1.0'
27
+
28
+# Add any Sphinx extension module names here, as strings. They can be
29
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
30
+# ones.
31
+extensions = [ ]
32
+
33
+# Add any paths that contain templates here, relative to this directory.
34
+templates_path = ['_templates']
35
+
36
+# The suffix of source filenames.
37
+source_suffix = '.rst'
38
+
39
+# The encoding of source files.
40
+#source_encoding = 'utf-8-sig'
41
+
42
+# The master toctree document.
43
+master_doc = 'index'
44
+
45
+# General information about the project.
46
+project = u'Fuel NSX-T plugin'
47
+copyright = u'2016, Mirantis Inc.'
48
+
49
+# The version info for the project you're documenting, acts as replacement for
50
+# |version| and |release|, also used in various other places throughout the
51
+# built documents.
52
+#
53
+# The short X.Y version.
54
+version = '1.0.0'
55
+# The full version, including alpha/beta/rc tags.
56
+release = '1.0-1.0.0-1'
57
+
58
+# The language for content autogenerated by Sphinx. Refer to documentation
59
+# for a list of supported languages.
60
+#language = None
61
+
62
+# There are two options for replacing |today|: either, you set today to some
63
+# non-false value, then it is used:
64
+#today = ''
65
+# Else, today_fmt is used as the format for a strftime call.
66
+#today_fmt = '%B %d, %Y'
67
+
68
+# List of patterns, relative to source directory, that match files and
69
+# directories to ignore when looking for source files.
70
+#exclude_patterns = []
71
+
72
+# The reST default role (used for this markup: `text`) to use for all
73
+# documents.
74
+#default_role = None
75
+
76
+# If true, '()' will be appended to :func: etc. cross-reference text.
77
+#add_function_parentheses = True
78
+
79
+# If true, the current module name will be prepended to all description
80
+# unit titles (such as .. function::).
81
+#add_module_names = True
82
+
83
+# If true, sectionauthor and moduleauthor directives will be shown in the
84
+# output. They are ignored by default.
85
+#show_authors = False
86
+
87
+# The name of the Pygments (syntax highlighting) style to use.
88
+pygments_style = 'sphinx'
89
+
90
+# A list of ignored prefixes for module index sorting.
91
+#modindex_common_prefix = []
92
+
93
+# If true, keep warnings as "system message" paragraphs in the built documents.
94
+#keep_warnings = False
95
+
96
+
97
+# -- Options for HTML output ----------------------------------------------
98
+
99
+# The theme to use for HTML and HTML Help pages.  See the documentation for
100
+# a list of builtin themes.
101
+html_theme = 'default'
102
+
103
+# Theme options are theme-specific and customize the look and feel of a theme
104
+# further.  For a list of options available for each theme, see the
105
+# documentation.
106
+#html_theme_options = {}
107
+
108
+# Add any paths that contain custom themes here, relative to this directory.
109
+#html_theme_path = []
110
+
111
+# The name for this set of Sphinx documents.  If None, it defaults to
112
+# "<project> v<release> documentation".
113
+#html_title = None
114
+
115
+# A shorter title for the navigation bar.  Default is the same as html_title.
116
+#html_short_title = None
117
+
118
+# The name of an image file (relative to this directory) to place at the top
119
+# of the sidebar.
120
+#html_logo = None
121
+
122
+# The name of an image file (within the static path) to use as favicon of the
123
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
124
+# pixels large.
125
+#html_favicon = None
126
+
127
+# Add any paths that contain custom static files (such as style sheets) here,
128
+# relative to this directory. They are copied after the builtin static files,
129
+# so a file named "default.css" will overwrite the builtin "default.css".
130
+#html_static_path = ['_static']
131
+
132
+# Add any extra paths that contain custom files (such as robots.txt or
133
+# .htaccess) here, relative to this directory. These files are copied
134
+# directly to the root of the documentation.
135
+#html_extra_path = []
136
+
137
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
138
+# using the given strftime format.
139
+#html_last_updated_fmt = '%b %d, %Y'
140
+
141
+# If true, SmartyPants will be used to convert quotes and dashes to
142
+# typographically correct entities.
143
+#html_use_smartypants = True
144
+
145
+# Custom sidebar templates, maps document names to template names.
146
+#html_sidebars = {}
147
+
148
+# Additional templates that should be rendered to pages, maps page names to
149
+# template names.
150
+#html_additional_pages = {}
151
+
152
+# If false, no module index is generated.
153
+#html_domain_indices = True
154
+
155
+# If false, no index is generated.
156
+#html_use_index = True
157
+
158
+# If true, the index is split into individual pages for each letter.
159
+#html_split_index = False
160
+
161
+# If true, links to the reST sources are added to the pages.
162
+#html_show_sourcelink = True
163
+
164
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
165
+#html_show_sphinx = True
166
+
167
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
168
+#html_show_copyright = True
169
+
170
+# If true, an OpenSearch description file will be output, and all pages will
171
+# contain a <link> tag referring to it.  The value of this option must be the
172
+# base URL from which the finished HTML is served.
173
+#html_use_opensearch = ''
174
+
175
+# This is the file name suffix for HTML files (e.g. ".xhtml").
176
+#html_file_suffix = None
177
+
178
+# Output file base name for HTML help builder.
179
+htmlhelp_basename = 'FuelNSX-Tplugindoc'
180
+
181
+
182
+# -- Options for LaTeX output ---------------------------------------------
183
+
184
+latex_elements = {
185
+  'classoptions': ',openany,oneside',
186
+  'babel': '\\usepackage[english]{babel}'
187
+}
188
+
189
+# Grouping the document tree into LaTeX files. List of tuples
190
+# (source start file, target name, title,
191
+#  author, documentclass [howto, manual, or own class]).
192
+latex_documents = [
193
+  ('index', 'nsx-t-user-guide-' + version + '.tex', u'Fuel NSX-T plugin documentation',
194
+   u'Mirantis Inc.', 'manual'),
195
+]
196
+
197
+# The name of an image file (relative to this directory) to place at the top of
198
+# the title page.
199
+#latex_logo = None
200
+
201
+# For "manual" documents, if this is true, then toplevel headings are parts,
202
+# not chapters.
203
+#latex_use_parts = False
204
+
205
+# If true, show page references after internal links.
206
+#latex_show_pagerefs = False
207
+
208
+# If true, show URL addresses after external links.
209
+#latex_show_urls = False
210
+
211
+# Documents to append as an appendix to all manuals.
212
+#latex_appendices = []
213
+
214
+# If false, no module index is generated.
215
+#latex_domain_indices = True
216
+
217
+
218
+# -- Options for manual page output ---------------------------------------
219
+
220
+# One entry per manual page. List of tuples
221
+# (source start file, name, description, authors, manual section).
222
+man_pages = [
223
+    ('index', 'fuelnsxtplugin', u'Fuel NSX-T plugin documentation',
224
+     [u'Mirantis Inc.'], 1)
225
+]
226
+
227
+# If true, show URL addresses after external links.
228
+#man_show_urls = False
229
+
230
+
231
+# -- Options for Texinfo output -------------------------------------------
232
+
233
+# Grouping the document tree into Texinfo files. List of tuples
234
+# (source start file, target name, title, author,
235
+#  dir menu entry, description, category)
236
+texinfo_documents = [
237
+  ('index', 'FuelNSX-Tplugin', u'Fuel NSX-T plugin documentation',
238
+   u'Mirantis Inc.', 'FuelNSX-Tplugin', 'One line description of project.',
239
+   'Miscellaneous'),
240
+]
241
+
242
+# Documents to append as an appendix to all manuals.
243
+#texinfo_appendices = []
244
+
245
+# If false, no module index is generated.
246
+#texinfo_domain_indices = True
247
+
248
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
249
+#texinfo_show_urls = 'footnote'
250
+
251
+# If true, do not generate a @detailmenu in the "Top" node's menu.
252
+#texinfo_no_detailmenu = False
253
+
254
+# Insert footnotes where they are defined instead of at the end.
255
+pdf_inline_footnotes = True

BIN
doc/user/image/floating-ip.png View File


BIN
doc/user/image/neutron-nsxt-item.png View File


BIN
doc/user/image/nsx-t-mgmt.png View File


BIN
doc/user/image/nsx-t-public.png View File


BIN
doc/user/image/nsxt-settings.png View File


BIN
doc/user/image/public-network-assignment.png View File


BIN
doc/user/image/stt-interface.png View File


BIN
doc/user/image/uca-archive.png View File


+ 27
- 0
doc/user/index.rst View File

@@ -0,0 +1,27 @@
1
+.. Fuel NSX-T plugin documentation master file
2
+
3
+Welcome to Fuel NSX-T plugin's documentation!
4
+============================================
5
+
6
+The Fuel NSX-T plugin allows end user to use VMware NSX Transformers SDN
7
+as network backend for Neutron.
8
+
9
+The plugin supports VMware NSX Transformers version 1.0.0 and 1.0.1.
10
+
11
+The pre-built package of the plugin is in
12
+`Fuel Plugin Catalog <https://www.mirantis.com/products/openstack-drivers-and-plugins/fuel-plugins>`_.
13
+
14
+Documentation contents
15
+======================
16
+
17
+.. toctree::
18
+   :maxdepth: 2
19
+
20
+   source/installation
21
+   source/environment
22
+   source/configuration
23
+   source/limitations
24
+   source/usage
25
+   source/troubleshooting
26
+   source/release-notes
27
+   source/build

+ 49
- 0
doc/user/source/build.rst View File

@@ -0,0 +1,49 @@
1
+How to build the plugin from source
2
+===================================
3
+
4
+To build the plugin, you first need to install fuel-plugin-builder_ 4.1.0
5
+
6
+.. code-block:: bash
7
+
8
+  $ pip install fuel-plugin-builder==4.1.0
9
+
10
+Build the plugin:
11
+
12
+.. code-block:: bash
13
+
14
+  $ git clone https://git.openstack.org/openstack/fuel-plugin-nsx-t
15
+
16
+  $ cd fuel-plugin-nsx-t/
17
+
18
+The librarian-puppet_ ruby package is required to be installed. It is used to fetch
19
+upstream fuel-library_ puppet modules that the plugin uses. It can be installed via
20
+the *gem* package manager:
21
+
22
+.. code-block:: bash
23
+
24
+  $ gem install librarian-puppet
25
+
26
+or if you are using ubuntu linux, you can install it from the repository:
27
+
28
+.. code-block:: bash
29
+
30
+  $ apt-get install librarian-puppet
31
+
32
+and build the plugin:
33
+
34
+.. code-block:: bash
35
+
36
+  $ fpb --build .
37
+
38
+fuel-plugin-builder will produce an .rpm package of the plugin which you need to
39
+upload to the Fuel master node:
40
+
41
+.. code-block:: bash
42
+
43
+  $ ls nsx*.rpm
44
+
45
+  nsx-t-1.0-1.0.0-1.noarch.rpm
46
+
47
+.. _fuel-plugin-builder: https://pypi.python.org/pypi/fuel-plugin-builder/4.1.0
48
+.. _librarian-puppet: http://librarian-puppet.com
49
+.. _fuel-library: https://github.com/openstack/fuel-library

+ 86
- 0
doc/user/source/configuration.rst View File

@@ -0,0 +1,86 @@
1
+Configuration
2
+=============
3
+
4
+Node interfaces for overlay traffic
5
+-----------------------------------
6
+
7
+NSX Transformers uses STT protocol to carry virtual machines traffic.  Plugin
8
+requires that interfaces which are going to be used for STT traffic must not
9
+carry any other traffic (PXE, storage, openstack management).
10
+
11
+.. image:: /image/stt-interface.png
12
+
13
+Switch to the :guilabel:`Networks` tab of the Fuel web UI and click the
14
+:guilabel:`Settings`/`Other` label. The plugin checkbox is enabled
15
+by default. The screenshot below shows only the settings in focus:
16
+
17
+.. image:: /image/nsxt-settings.png
18
+   :scale: 60 %
19
+
20
+The plugin contains the following settings:
21
+
22
+#. Bypass NSX Manager certificate verification -- if enabled, the HTTPS
23
+   connection to NSX Manager is not verified. Otherwise, the two following
24
+   options are available:
25
+
26
+   * The setting "CA certificate file" appears below making it possible to
27
+     upload a CA certificate that issued the NSX Manager certificate.
28
+
29
+   * With no CA certificate provided, the NSX Manager certificate is verified
30
+     against the CA certificate bundle that comes with Ubuntu 14.04.
31
+
32
+#. NSX Manager -- IP address or hostname, multiple values can be separated by
33
+   comma. If you are going to use hostname in this textbox, ensure that your
34
+   OpenStack controller can resolve the hostname.  Add necessary DNS servers in
35
+   the :guilabel:`Host OS DNS Servers` section.
36
+
37
+   OpenStack Controller must have L3 connectivity with NSX Manager through
38
+   the Public network which is used as default route.
39
+
40
+#. Overlay transport zone ID -- UUID of overlay (STT) transport zone which must
41
+   be pre-created in NSX Manager.
42
+
43
+#. VLAN transport zone ID --- UUID of transport zone which represents network
44
+   that connects virtual machines with physical infrastructure.
45
+
46
+#. Tier-0 router ID -- UUID of tier0 router that must exist in NSX Transformers.
47
+
48
+#. Edge cluster -- UUID of NSX edge nodes cluster that must be installed and
49
+   configured.
50
+
51
+#. Uplink profile ID -- UUID of uplink profile which specifies STT interfaces
52
+   configuration (e.g. MTU value).
53
+
54
+
55
+#. IP pool ID for controller VTEPs -- UUID of IP pool that will be assigned to
56
+   controllers STT interfaces.
57
+
58
+#. Colon separated pnics pairs for controller nodes -- this field sets
59
+   correspondence between physical NIC and uplink name that is used in "Uplink
60
+   profile ID" on controller nodes, e.g. ``enp0s1:uplink``. Each pair must be one
61
+   separate line.
62
+
63
+   .. warning::
64
+      Uplink name must exactly match value of "Active uplink" or "Standby
65
+      uplink" in uplink switch profile that was specified above.
66
+
67
+#. IP pool ID for compute VTEPs -- UUID of IP pool that will be assigned to
68
+   STT interfaces of compute nodes.
69
+
70
+#. Colon separated pnics pairs for compute nodes -- this fields sets
71
+   correspondence between physical NIC and uplink name that is used in "Uplink
72
+   profile ID" on compute nodes, e.g. "enp0s1:uplink". Each pair must be one
73
+   separate line.
74
+
75
+#. Floating IP ranges -- dash-separated IP addresses allocation pool for
76
+   external network, e.g. "172.16.212.2-172.16.212.40".
77
+
78
+#. External network CIDR -- network in CIDR notation that includes floating IP ranges.
79
+
80
+#. Gateway -- default gateway for the external network; if not defined, the
81
+   first IP address of the network is used.
82
+
83
+#. Internal network CIDR -- network in CIDR notation for use as internal.
84
+
85
+#. DNS for internal network -- comma-separated IP addresses of DNS server for
86
+   internal network.

+ 58
- 0
doc/user/source/environment.rst View File

@@ -0,0 +1,58 @@
1
+OpenStack environment notes
2
+===========================
3
+
4
+Environment configuration
5
+-------------------------
6
+
7
+The Fuel NSX-T plugin cannot deploy NSX Transformers.
8
+
9
+Before you start OpenStack deployment, verify that your VMware NSX Transformers
10
+is configured and functions properly:
11
+
12
+* VLAN transport zone must present
13
+* Overlay transport zone must present
14
+* tier0 router must be created
15
+* uplink profile for OpenStack nodes must be created
16
+* NSX edge cluster must be formed
17
+* IP address pool for OpenStack controllers and compute nodes must exist
18
+
19
+To use the NSX-T plugin, create a new OpenStack environment using the Fuel web
20
+UI by doing the following:
21
+
22
+#. On the :guilabel:`Networking setup` configuration step, select
23
+   :guilabel:`Neutron with NSX-T plugin` radio button
24
+
25
+   .. image:: /image/neutron-nsxt-item.png
26
+      :scale: 70 %
27
+
28
+Network setup
29
+-------------
30
+
31
+Pay attention to on which interface you assign the *Public* network. The
32
+OpenStack controllers must have connectivity with the NSX Manager host
33
+through the *Public* network since the *Public* network is the default
34
+route for packets.
35
+
36
+If NSX Manager and NSX Controllers are going to communicate with OpenStack
37
+controllers and computes through Public network then setting :guilabel:`Assign
38
+public network to all nodes` (Networks tab -> Settings/Other label) must be
39
+enabled. Otherwise compute node will be communicating with NSX Manager through
40
+controller that perform NAT which will hide compute node IP addresses and will
41
+prevent them to register in NSX management plane.
42
+
43
+  .. image:: /image/nsx-t-public.png
44
+     :scale: 100%
45
+
46
+Another way is to locate NSX nodes in OpenStack management network. In this
47
+setup there is no need to assign public network to all nodes, because OpenStack
48
+and NSX nodes has L2 connectivity and no NAT is performed. OpenStack
49
+controllers and computes will still use Public network as default route.
50
+
51
+  .. image:: /image/nsx-t-mgmt.png
52
+     :scale: 100%
53
+
54
+During the deployment, the plugin creates a simple network topology for
55
+the admin tenant. The plugin creates a provider network which connects the
56
+tenants with the transport (physical) network: one internal network and
57
+a router that is connected to both networks.
58
+

+ 41
- 0
doc/user/source/installation.rst View File

@@ -0,0 +1,41 @@
1
+Installation
2
+============
3
+
4
+#. Download the plugin .rpm package from the `Fuel plugin catalog`_.
5
+
6
+#. Upload the package to the Fuel master node.
7
+
8
+#. Install the plugin with the ``fuel`` command-line tool:
9
+
10
+   .. code-block:: bash
11
+
12
+    [root@nailgun ~] fuel plugins --install nsx-t-1.0-1.0.0-1.noarch.rpm
13
+
14
+
15
+#. Verify that the plugin installation is successful:
16
+
17
+  .. code-block:: bash
18
+
19
+    [root@nailgun ~] fuel plugins list
20
+    id | name  | version | package_version | releases           
21
+    ---+-------+---------+-----------------+--------------------
22
+    6  | nsx-t | 1.0.0   | 4.0.0           | ubuntu (mitaka-9.0)
23
+
24
+After the installation, the plugin can be used on new OpenStack clusters;
25
+you cannot enable the plugin on the deployed clusters.
26
+
27
+
28
+
29
+Uninstallation
30
+--------------
31
+
32
+Before uninstalling the plugin, ensure there no environments left that use the
33
+plugin, otherwise the uninstallation is not possible.
34
+
35
+To uninstall the plugin, run following:
36
+
37
+.. code-block:: bash
38
+
39
+   [root@nailgun ~] fuel plugins --remove nsx-t==1.0.0
40
+
41
+.. _Fuel plugin catalog: https://www.mirantis.com/products/openstack-drivers-and-plugins/fuel-plugins

+ 41
- 0
doc/user/source/limitations.rst View File

@@ -0,0 +1,41 @@
1
+Limitations
2
+===========
3
+
4
+NSX-T plugin cannot be used simultaneously with NSXv plugin
5
+-----------------------------------------------------------
6
+
7
+Since both plugins provide the same network component called
8
+``network:neutron:core:nsx`` it is not possible to use both plugins together.
9
+
10
+
11
+The plugin is not hotpluggable
12
+------------------------------
13
+
14
+It is not possible to enable plugin on already existing OpenStack.
15
+
16
+
17
+Ubuntu cloud archive distribution is not supported
18
+--------------------------------------------------
19
+
20
+   .. image:: /image/uca-archive.png
21
+      :scale: 70 %
22
+
23
+Fuel 9.0 provides two options for OpenStack release. One is plain Ubuntu
24
+distribution, another one includes Ubuntu cloud archive. The plugin does not
25
+support Ubuntu cloud archive packages.
26
+
27
+
28
+Ironic service is not supported
29
+-------------------------------
30
+
31
+Ironic service requires control of top of rack switches and can not be used
32
+with NSX Transformers.
33
+
34
+
35
+OpenStack environment reset/deletion
36
+------------------------------------
37
+
38
+The Fuel NSX-T plugin does not provide a cleanup mechanism when an OpenStack
39
+environment is reset or deleted. All registered transport nodes, logical
40
+switches and routers remain intact, it is up to the operator to delete them and
41
+free resources.

+ 6
- 0
doc/user/source/release-notes.rst View File

@@ -0,0 +1,6 @@
1
+Release notes
2
+=============
3
+
4
+Release notes for Fuel NSX-T plugin 1.0.0:
5
+
6
+  * Plugin is compatible with Fuel 9.0 and 9.1.

+ 84
- 0
doc/user/source/troubleshooting.rst View File

@@ -0,0 +1,84 @@
1
+
2
+.. _troubleshooting:
3
+
4
+Troubleshooting
5
+===============
6
+
7
+Neutron NSX plugin issues
8
+-------------------------
9
+
10
+The Neutron NSX-T plugin does not have a separate log file, its messages
11
+are logged by the neutron server. The default log file on OpenStack controllers
12
+for neutron server is ``/var/log/neutron/server.log``
13
+
14
+Inability to resolve NSX Manager hostname
15
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16
+
17
+If you see following message:
18
+
19
+::
20
+
21
+ 2016-10-18 ... INFO vmware_nsx.plugins.nsx_v3.plugin [-] Starting NsxV3Plugin
22
+ 2016-10-18 ... INFO vmware_nsx.nsxlib.v3.cluster [-] Endpoint 'https://nsxmanager.mydom.org'
23
+    changing from state 'INITIALIZED' to 'DOWN'
24
+ 2016-10-18 ... WARNING vmware_nsx.nsxlib.v3.cluster [-] Failed to validate API cluster endpoint
25
+    '[DOWN] https://nsxmanager.mydom.org' due to: HTTPSConnectionPool(host='nsxmanager.mydom.org',
26
+    port=443): Max retries exceeded with url: /a...nes (Caused by NewConnectionError(
27
+    '<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7ff69b3c4b90>:
28
+    Failed to establish a new connection: [Errno -2] Name or service not known',))
29
+ 2016-10-18 ... ERROR neutron.service [-] Unrecoverable error: please check log for details.
30
+ 2016-10-18 ... ERROR neutron.service Traceback (most recent call last):
31
+ ...
32
+ 2016-10-18 ... ERROR neutron.service ServiceClusterUnavailable: Service cluster:
33
+    'https://nsxmanager.mydom.org' is unavailable. Please, check NSX setup and/or configuration
34
+
35
+
36
+It means that the controller cannot resolve the NSX Manager hostname
37
+(``nsxmanager.mydom.org`` in this example) that is specified in the
38
+configuration file.
39
+Check that the DNS server IP addresses that you specified in the
40
+:guilabel:`Host OS DNS Servers` section of the Fuel web UI are correct
41
+and reachable by all controllers; pay attention to that the default route
42
+for controllers is *Public* network. Also, verify that the hostname that you
43
+entered is correct by trying to resolve it via the ``host`` or ``dig`` programs.
44
+
45
+SSL/TLS certificate problems
46
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47
+
48
+::
49
+
50
+ 2016-10-28 12:32:26.086 2832 INFO vmware_nsx.nsxlib.v3.cluster [-] Endpoint
51
+   'https://172.16.0.249' changing from state 'INITIALIZED' to 'DOWN'
52
+ 2016-10-28 12:32:26.087 2832 WARNING vmware_nsx.nsxlib.v3.cluster [-] Failed to
53
+   validate API cluster endpoint '[DOWN] https://172.16.0.249' due to: [Errno 1]
54
+   _ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
55
+
56
+
57
+This error indicates that you enabled the SSL/TLS certificate verification, but
58
+the certificate verification failed during connection to NSX Manager.
59
+The possible causes are:
60
+
61
+ #. NSX Manager certificate expired. Log into NSX Manager web GUI and check
62
+    certificate validation dates.
63
+ #. Check if the certification authority (CA) certificate is still valid.
64
+    The CA certificate is specified by ``ca_file`` directive in ``nsx.ini``
65
+    (usually ``/etc/neutron/plugins/vmware/nsx.ini`` on controller node).
66
+
67
+User access problems
68
+~~~~~~~~~~~~~~~~~~~~
69
+
70
+::
71
+
72
+ 2016-10-28 12:28:20.060 18259 INFO vmware_nsx.plugins.nsx_v3.plugin [-] Starting NsxV3Plugin
73
+ 2016-10-28 12:28:20.201 18259 WARNING vmware_nsx.nsxlib.v3.client [-] The HTTP request returned error code 403,
74
+    whereas 200 response codes were expected. Response body {u'module_name': u'common-service',
75
+    u'error_message': u'The username/password combination is incorrect or the account specified has been locked.', u'error_code': u'98'}
76
+ 2016-10-28 12:28:20.202 18259 INFO vmware_nsx.nsxlib.v3.cluster [-] Endpoint 'https://172.16.0.249' changing
77
+    from state 'INITIALIZED' to 'DOWN'
78
+ 2016-10-28 12:28:20.203 18259 WARNING vmware_nsx.nsxlib.v3.cluster [-] Failed to validate API cluster endpoint
79
+    '[DOWN] https://172.16.0.249' due to: Unexpected error from backend manager (['172.16.0.249']) for GET https://172.16.0.249/api/
80
+    v1/transport-zones : The username/password combination is incorrect or the account specified has been locked.
81
+
82
+
83
+Verify that username and password that are entered on the plugins pane are
84
+correct.

+ 36
- 0
doc/user/source/usage.rst View File

@@ -0,0 +1,36 @@
1
+Usage
2
+=====
3
+
4
+The easiest way to check that the plugin works as expected is to create a
5
+network or router using the ``neutron`` command-line tool:
6
+
7
+::
8
+
9
+  [root@nailgun ~]# ssh node-4    # node-4 is a controller node
10
+  root@node-4:~# . openrc
11
+  root@node-4:~# neutron router-create r1
12
+
13
+You can monitor the plugin actions in ``/var/log/neutron/server.log`` and see
14
+how edges appear in the list of the ``Networking & Security -> NSX Edges``
15
+pane in vSphere Web Client. If you see error messages, check the
16
+:ref:`Troubleshooting <troubleshooting>` section.
17
+
18
+STT MTU considerations
19
+----------------------
20
+
21
+NSX Transformers uses STT protocol to encapsulate VM traffic. The protocol adds
22
+additional data to the packet. Consider increasing MTU on the network equipment
23
+connected to hosts that will emit STT traffic.
24
+
25
+Consider the following calculation:
26
+
27
+Outer IPv4 header    == 20 bytes
28
+
29
+Outer TCP header     == 24 bytes
30
+
31
+STT header           == 18 bytes
32
+
33
+Inner Ethernet frame == 1518 (14 bytes header, 4 bytes 802.1q header, 1500 Payload)
34
+
35
+Summarizing all of these we get 1580 bytes. Consider increasing MTU on the
36
+network hardware up to 1600 bytes.

Loading…
Cancel
Save