Merge 2.5.0 doc additions into 2.5.1

Change-Id: I201e043b80d72abddd2e8745ec5779101f510a98
This commit is contained in:
Olivier Bourdon 2016-07-28 13:53:20 +02:00
parent 1261dcef13
commit 43ee34c76f
13 changed files with 817 additions and 147 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

After

Width:  |  Height:  |  Size: 140 KiB

View File

@ -1,11 +1,11 @@
==================
========
Appendix
==================
========
.. _tuning:
Zabbix configuration tuning
============================
===========================
*New in version 2.5.0*
@ -51,29 +51,48 @@ The plugin also configures the maximum shared memory to 1GB (sysctl kernel.shmma
Refer to the `How to configure shared memory <https://www.zabbix.org/wiki/How_to/configure_shared_memory>`_ for further details.
.. _links:
Links
=========================
=====
- `Zabbix Official site <http://www.zabbix.com>`_
- `Zabbix 2.4 documentation <https://www.zabbix.com/documentation/2.4/start>`_
- `Zabbix 2.4 documentation - SNMP traps <https://www.zabbix.com/documentation
/2.4/manual/config/items/itemtypes/snmptrap>`_
- `Fuel Plugins CLI guide <https://docs.mirantis.com/openstack/fuel/fuel-7.0
/user-guide.html#fuel-plugins-cli>`_
.. _licenses:
Components licenses
=========================
===================
deb packages::
deb packages
------------
zabbix-frontend-php: GPL-2.0
zabbix-server-mysql: GPL-2.0
zabbix-agent: GPL-2.0
zabbix-sender: GPL-2.0
=================== =======
Name License
=================== =======
zabbix-agent GPL-2.0
zabbix-frontend-php GPL-2.0
zabbix-get GPL-2.0
zabbix-sender GPL-2.0
zabbix-server-mysql GPL-2.0
=================== =======
rpm packages::
rpm packages
------------
=================== =======
Name License
=================== =======
zabbix-agent GPLv2+
zabbix-get GPLv2+
zabbix-sender GPLv2+
zabbix-server GPLv2+
zabbix-server-mysql GPLv2+
zabbix-web GPLv2+
zabbix-web-mysql GPLv2+
=================== =======
zabbix-agent: GPLv2+
zabbix-server: GPLv2+
zabbix-server-mysql: GPLv2+
zabbix-web: GPLv2+
zabbix-web-mysql: GPLv2+

View File

@ -7,6 +7,7 @@ Release notes / Changelog
**2.5.0**
* Compatibility with MOS 8.0
* Service "zabbix_server" was restarted after executing of task "upload_core_repos" (bug 1529642_)
* Monitoring of HAProxy vips doesn't work when the backend name contains dots (bug 1525713_)
* Zabbix plugin should provide zabbix_get command (bug 1525924_)
@ -16,7 +17,8 @@ Release notes / Changelog
* Add :ref:`MySQL` cluster metrics (wsrep global variables)
* Embed all package dependencies (bug 1483983_)
* Fix HAproxy configuration behind the Zabbix VIP (bug 1510115_)
* Compatibility with MOS 7.0 and 8.0
* Reduced set of HA proxy gathered data to be in sync with LMA (bug 1531834_ + see `LMA metrics <http://fuel-plugin-lma-collector.readthedocs.org/en/latest/appendix_metrics.html#haproxy>`_)
* Compatibility with MOS 7.0 (follow up)
* Fix NTP monitoring on controller nodes (bug 1513454_)
* Monitor `cinder-volume` process (instead of the Pacemaker resource which has
@ -43,6 +45,7 @@ Release notes / Changelog
.. _1517472: https://bugs.launchpad.net/fuel/+bug/1517472
.. _1517005: https://bugs.launchpad.net/fuel/+bug/1517005
.. _1515956: https://bugs.launchpad.net/fuel-plugins/+bug/1515956
.. _1531834: https://bugs.launchpad.net/fuel-plugins/+bug/1531834
**2.0.0**

View File

@ -1,6 +1,6 @@
===================================================
=============================================
Guide to the Zabbix Plugin extension for Fuel
===================================================
=============================================
This plugin extends Mirantis OpenStack functionality by adding Zabbix
monitoring system. It installs Zabbix server, frontend and agent components.
@ -10,9 +10,33 @@ services and APIs.
Requirements
============
================================== ================
Requirement Version/Comment
================================== ================
Fuel 7.0, 8.0 and 9.0
================================== ================
=========== ================
Requirement Version/Comment
=========== ================
Fuel 7.0, 8.0 and 9.0
=========== ================
Operational limitations
=======================
* If a base-os role node is deployed within the environment, the plugin
installation may fail because the management network is not configured
(see bug `1515956 <https://bugs.launchpad.net/fuel-plugins/+bug/1515956>`_).
* Prior to version 2.5.0, the plugin requires access to distribution repository,
external or local mirror, in order to download necessary packages for proper
installation.
Since plugin version 2.5.0, the `fuel-createmirror` command is supported.
* If you remove some nodes after initial deployments, their related informations
will not be removed from the Zabbix collected metrics and you will have to
remove these manually from the Zabbix UI.
* MySQL database is common with other OpenStack services (see `1531834 <https://bugs.launchpad.net/fuel-plugins/+bug/1531834>`_)
This has a potential high impact on the disk sizing for /var/lib/mysql even
though the biggest set of data has been cut down drastically.
* Zabbix server service is located on one of the controller nodes
therefore and in the exact same manner than `1531834 <https://bugs.launchpad.net/fuel-plugins/+bug/1531834>`_ can impact disk space,
this can have a significant CPU and/or memory usage on controller nodes for large deployment.

View File

@ -2,12 +2,55 @@
User Guide
==========
Important preliminary notes
===========================
- It is highly recommended to do a network verification check prior
to any deployment.
- This plugin version only supports Ubuntu OS type.
- You can also choose any supervisor and/or also change the
networking configuration according to your needs but you can not use
the old legacy networking mode (nova-network) as this is not supported.
- Please note however that the Zabbix server will be located on the
controller nodes and that the MySQL database which Zabbix will use
is common to all other OpenStack components. This might have a very
important impact on CPU and/or memory usage on controller nodes as
well as disk space consumption in /var/lib/mysql due to the fact that
Zabbix is gathering quite an important number of metrics and quite
frequently (see known problems hereafter).
- If you want Zabbix to operate in HA mode, you need to select several
nodes as controllers so that the deployment automatically enables
Zabbix high-availability.
Known problems
==============
- If a base-os role node is deployed within the environment, the plugin
installation may fail because the management network is not configured
(see bug `1515956 <https://bugs.launchpad.net/fuel-plugins/+bug/1515956>`_).
- If you remove some nodes after initial deployments, their related informations
will not be removed from the Zabbix collected metrics and you will have to
remove these manually from the Zabbix UI.
- MySQL database is common with other OpenStack services (see `1531834 <https://bugs.launchpad.net/fuel-plugins/+bug/1531834>`_)
This has a potential high impact on the disk sizing for /var/lib/mysql even
though the biggest set of data has been cut down drastically.
- Zabbix server service is located on one of the controller nodes
therefore and in the exact same manner than `1531834 <https://bugs.launchpad.net/fuel-plugins/+bug/1531834>`_ can impact disk space,
this can have a significant CPU and/or memory usage on controller nodes for large deployment.
Environment configuration
=========================
#. Create an environment. For more information about environment creation, see
`Mirantis OpenStack User Guide <http://docs.mirantis.com/openstack/fuel
/fuel-7.0/user-guide.html#create-a-new-openstack-environment>`_.
.. highlight:: none
#. Create an environment.
For more information about environment creation, see
`Create a new OpenStack environment in Mirantis OpenStack User Guide
<http://docs.mirantis.com/openstack/fuel/fuel-7.0/user-guide.html#create-a-new-openstack-environment>`_.
#. Choose in *Environments* an environment for which you want to run Zabbix
plugin.
@ -18,17 +61,22 @@ Environment configuration
#. Set credentials for *Zabbix for Fuel*:
.. image:: ../images/settings.png
:width: 100%
:alt: settings.png
:width: 80%
You could see default passwords by clicking on the eye icon. It is highly
recommended to change default passwords for Zabbix Administrator,
Zabbix Database and Monitoring user. User 'monitoring' will be added in
Openstack for zabbix API checks.
You could see default passwords by clicking on the eye icon.
It is highly recommended to change default passwords for Zabbix Administrator,
Zabbix Database and Monitoring user.
User 'monitoring' will be added in Openstack for zabbix API checks.
#. Adjust other environment settings to your requirements and deploy the
environment. For more information, see
`Mirantis OpenStack User Guide <http://docs.mirantis.com/openstack/fuel
/fuel-7.0/user-guide.html#create-a-new-openstack-environment>`_.
environment.
For more information, see
`Deploy changes in Mirantis OpenStack User Guide
<http://docs.mirantis.com/openstack/fuel/fuel-7.0/user-guide.html#deploy-changes>`_.
#. If you are using Fuel network-template you should add new roles mapping
named 'zabbix'. Here is a sample::
@ -50,104 +98,130 @@ Zabbix frontend UI
of environment 'test' is done. Access the OpenStack dashboard (Horizon) at
`http://172.16.0.2/ <http://172.16.0.2/>`_”.
In this example, 172.16.0.2 is a VIP address.
In this example, 172.16.0.2 is a VIP address (see troubleshooting
section to see how to get this IP address).
Zabbix UI will be available
at `http://172.16.0.2/zabbix <http://172.16.0.2/zabbix>`_
(at ``http://<VIP>/zabbix`` in general).
Zabbix UI will be available at `http://172.16.0.2/zabbix
<http://172.16.0.2/zabbix>`_ (at http://<VIP>/zabbix in general).
After opening this address in a browser, you should see Zabbix login page:
.. image:: ../images/login.png
:alt: login.png
:width: 50%
#. Now log into Zabbix with the credentials set provided on the Settings tab of
the Fuel web UI (see step 2 in the Environment configuration section).
the Fuel web UI (see step 2 in the `Environment
configuration <#environment-configuration>`_ section).
After logging into Zabbix, you will see the Zabbix Dashboard page:
.. image:: ../images/dashboard.png
:width: 150%
:alt: dashboard.png
:width: 80%
#. The Zabbix Dashboard page provides information on running processes and
their state. If all processes are running successfully in the environment,
you should see only green color. To demonstrate that monitoring is working
properly, the Nova Scheduler process had been turned off. You can notice
that Zabbix detected the halted process and provided the problem
their state.
If all processes are running successfully in the environment,
you should see only green color.
To demonstrate that monitoring is working properly, the Nova Scheduler
process had been turned off.
You can notice that Zabbix detected the halted process and provided the problem
description: Nova Scheduler process is not running on node-13.domain.tld.
When you go to Monitoring->Screens page, you will see the OpenStack Cluster
screen:
.. image:: ../images/openstackcluster1.png
:alt: openstackcluster1.png
:width: 100%
.. image:: ../images/openstackcluster2.png
:alt: openstackcluster2.png
:width: 100%
On this screen you have general statistics and graphs presenting resources
usage in OpenStack environment. There is also a list of last 10 events
recorded by Zabbix.
usage in OpenStack environment.
There is also a list of last 10 events recorded by Zabbix.
.. _Pages:
Pages
=====
-----
Below there are a few screenshots from Zabbix configuration pages to show how
it should look after a successful environment deployment. Zabbix UI provides
several pages placed under Configuration tab.
#. Host groups page
Host groups page
^^^^^^^^^^^^^^^^
This page has a list of host groups with their members. There are separate
groups for Controllers and Computes. These groups are used to join nodes
with the same role in OpenStack environment. There is also ManagedByPuppet
group which contains all OpenStack nodes. Remaining host groups are created
by default in Zabbix. For more information and instructions, see `6.1 Hosts
and host groups <https://www.zabbix.com/documentation/2.4/manual/config
/hosts>`_ chapter in the official Zabbix Documentation.
This page has a list of host groups with their members. There are separate
groups for Controllers and Computes. These groups are used to join nodes
with the same role in OpenStack environment. There is also ManagedByPuppet
group which contains all OpenStack nodes. Remaining host groups are created
by default in Zabbix. For more information and instructions, see `6.1 Hosts
and host groups <https://www.zabbix.com/documentation/2.4/manual/config
/hosts>`_ chapter in the official Zabbix Documentation.
.. image:: ../images/hostgroupspage.png
:alt: hostgroupspage.png
:width: 100%
.. image:: ../images/hostgroupspage.png
:width: 100%
Hosts page
^^^^^^^^^^
#. Hosts page
This page contains a list of all monitored OpenStack nodes and, additionally
one OpenStackCluster virtual host which represents OpenStack API. There are
also lists of linked monitoring templates to particular hosts. During
installation, the plugin detects which services have been installed on a
particular node and links appropriate templates to the node to enable
monitoring for those services. There is an Zabbix agent availability report
in the last column. When Z icon is green, the Zabbix agent on this node is
running and available.
This page contains a list of all monitored OpenStack nodes and, additionally
one OpenStackCluster virtual host which represents OpenStack API. There are
also lists of linked monitoring templates to particular hosts. During
installation, the plugin detects which services have been installed on a
particular node and links appropriate templates to the node to enable
monitoring for those services. There is an Zabbix agent availability report
in the last column. When Z icon is green, the Zabbix agent on this node is
running and available.
.. image:: ../images/hostpage.png
:alt: hostpage.png
:width: 100%
.. image:: ../images/hostpage.png
:width: 100%
.. image:: ../images/hostpage2.png
:alt: hostpage2.png
:width: 50%
.. image:: ../images/hostpage2.png
:width: 50%
Templates page
^^^^^^^^^^^^^^
#. Templates page
This page contains a list of all monitoring templates and list of hosts to
which they are linked. A monitoring template is a way to group items, graphs
and thresholds which monitor a particular resource type, for example an
OpenStack service like Nova Compute. For more information and instructions,
see `6.6 Templates chapter <https://www.zabbix.com/documentation/2.4/manual
/config/templates>`_ in the official Zabbix Documentation.
This page contains a list of all monitoring templates and list of hosts to
which they are linked. A monitoring template is a way to group items, graphs
and thresholds which monitor a particular resource type, for example an
OpenStack service like Nova Compute. For more information and instructions,
see `6.6 Templates chapter <https://www.zabbix.com/documentation/2.4/manual
/config/templates>`_ in the official Zabbix Documentation.
.. image:: ../images/templatespage.png
:alt: templatespage.png
:width: 100%
.. image:: ../images/templatespage.png
:width: 100%
.. image:: ../images/templatespage2.png
:alt: templatespage2.png
:width: 100%
.. image:: ../images/templatespage2.png
:width: 100%
You can add an additional items (checks), create triggers and events via
Zabbix UI. For more information and instructions, see `6.2 Items
<https://www.zabbix.com/documentation/2.4/manual/config/items>`_, `6.3
Triggers <https://www.zabbix.com/documentation/2.4/manual/config/triggers>`_
and `6.4 Events chapters <https://www.zabbix.com/documentation/2.4/manual
/config/events>`_ in the official Zabbix Documentation.
You can add an additional items (checks), create triggers and events via
Zabbix UI. For more information and instructions, see `6.2 Items
<https://www.zabbix.com/documentation/2.4/manual/config/items>`_, `6.3
Triggers <https://www.zabbix.com/documentation/2.4/manual/config/triggers>`_
and `6.4 Events chapters <https://www.zabbix.com/documentation/2.4/manual
/config/events>`_ in the official Zabbix Documentation. By default, there
are no notifications configured, but you can add them into the Zabbix UI.
For more information and instructions, see `6.7 Notifications
<https://www.zabbix.com/documentation/2.4/manual/config/notifications>`_
upon events chapter in the official Zabbix Documentation.
By default, there are no notifications configured, but you can add them into the Zabbix UI.
For more information and instructions, see `6.7 Notifications
<https://www.zabbix.com/documentation/2.4/manual/config/notifications>`_
upon events chapter in the official Zabbix Documentation.
.. _Ceph:
@ -237,3 +311,4 @@ and 4 triggers are configured:
- the cluster node is ready
- the cluster node is connected to the cluster
- the cluster node status (Primary, Non-Primary or Disconnected)

View File

@ -7,6 +7,8 @@ Zabbix plugin installation
To install Zabbix plugin, follow these steps:
.. highlight:: none
#. Download the plugin from the
`Fuel Plugins Catalog <https://www.mirantis.com/products/
openstack-drivers-and-plugins/fuel-plugins/>`_.

View File

@ -5,29 +5,45 @@ Revision history
======= ============= ============================ =====================
Version Revision date Editor Comment
======= ============= ============================ =====================
0.1 08.17.2015 Marciej Relewicz First release
(mrelewicz@mirantis.com)
0.1 01.23.2014 Irina Povolotskaya Created the template
(ipovolotskaya@mirantis.com) structure.
------- ------------- ---------------------------- ---------------------
0.2 09.04.2015 Marciej Relewicz Updated release
(mrelewicz@mirantis.com)
0.2 03.23.2015 Piotr Misiak First release.
(pmisiak@mirantis.com)
------- ------------- ---------------------------- ---------------------
0.3 09.09.2015 Bartosz Kupidura Network templates
(bkupidura@mirantis.com)
0.3 03.25.2015 Irina Povolotskaya Minor changes.
(ipovolotskaya@mirantis.com)
------- ------------- ---------------------------- ---------------------
0.4 09.18.2015 Marciej Relewicz Doc fixes
(mrelewicz@mirantis.com)
0.4 03.30.2015 Irina Povolotskaya Added `Document
(ipovolotskaya@mirantis.com) purpose <#document-
purpose>`_ and `Key
terms, acronyms and
abbreviations <#key-
terms-acronyms-and-
abbreviations>`_
sections.
------- ------------- ---------------------------- ---------------------
1.0.0 09.22.2015 Marciej Relewicz New updated release
(mrelewicz@mirantis.com)
0.5 03.31.2015 Piotr Misiak Installation guide
(pmisiak@mirantis.com) changed to rpm
package
------- ------------- ---------------------------- ---------------------
2.0.0 11.05.2015 Swann Croiset New Major version
(scroiset@mirantis.com)
0.6 04.02.2015 Piotr Misiak User guide added
(pmisiak@mirantis.com)
------- ------------- ---------------------------- ---------------------
2.0.1 11.10.2015 Swann Croiset Added troubleshooting
(scroiset@mirantis.com)
1.0 04.15.2015 Piotr Misiak Major version
(pmisiak@mirantis.com)
------- ------------- ---------------------------- ---------------------
2.5.0 11.13.2015 Swann Croiset Added MOS 8.0 support
(scroiset@mirantis.com)
1.0.1 02.05.2016 Olivier Bourdon Minor version
(obourdon@mirantis.com)
------- ------------- ---------------------------- ---------------------
2.0.0 11.23.2015 Swann Croiset Major version
(scroiset@mirantis.com)
------- ------------- ---------------------------- ---------------------
2.5.0 11.20.2015 Swann Croiset Major version
(scroiset@mirantis.com)
------- ------------- ---------------------------- ---------------------
2.5.0 03.10.2016 Olivier Bourdon Doc fixes
(obourdon@mirantis.com)
------- ------------- ---------------------------- ---------------------
2.5.1 07.20.2016 Olivier Bourdon Added MOS 9.0 support
(obourdon@mirantis.com)

View File

@ -1,66 +1,113 @@
===============
Troubleshooting
===============
Zabbix UI
---------
Finding the active Zabbix server node
=====================================
.. highlight:: none
To find the node(s) where Zabbix server is active, run the following command on Fuel master node::
# fuel nodes | grep controller | awk -F\| '{print $1,$NF}' | sort -n -k 2 | \
uniq -s 1 | while read cnode lenv; do echo "=========== Environment $lenv" ; \
ssh -q node-$cnode 'for r in p_zabbix-server vip__public; do \
crm resource status $r; \
done' ; done
=========== Environment 1
resource p_zabbix-server is running on: node-4.test.domain.local
resource vip__public is running on: node-3.test.domain.local
Finding the public VIP
======================
On the returned node from the command above for a given environment, you might also want to know what is the Zabbix VIP address, so run the following command on Fuel master node::
# ssh -q node-3 ip netns exec haproxy ifconfig b_public | \
grep 'inet addr:' | sed -e 's/[^:]\*://' -e 's/ .\*//'
172.16.0.2
Finding the management VIP
==========================
On the returned node from the command above for a given environment, you might also want to know what is the Zabbix VIP address, so run the following command on Fuel master node::
# ssh -q node-4 ip netns exec haproxy ifconfig b_zbx_vip_mgmt | \
grep 'inet addr:' | sed -e 's/[^:]*://' -e 's/ .*//'
192.168.0.3
# ssh -q node-4 awk '/zbx_vip_mgmt/ {n=1} n==1 && /ipaddr/ {print;exit}' \
/etc/astute.yaml | sed -e 's/.*: //'
192.168.0.3
Connect to Zabbix Web GUI
=========================
Use the URI using the public VIP::
http://172.16.0.2/zabbix
If you cannot access to the Zabbix UI, check that the HTTP `Apache` server is
running on all controller nodes::
# /etc/init.d/apache2 status
# /etc/init.d/apache2 status
* apache2 is running
Zabbix server
-------------
=============
If the Zabbix UI reports 'Zabbix server is not running', check the following:
#. Check if the zabbix-server process runs and where is located, in the following
example the server runs on node-2::
# crm status
# crm status
[snip]
p_zabbix-server (ocf::fuel:zabbix-server): Started node-2.test.domain.local
p_zabbix-server (ocf::fuel:zabbix-server): Started node-2.test.domain.local
#. Check logs in '/var/log/zabbix/zabbix_server.log' to see eventual error.
#. If the zabbix-server is down, start it by using the `pacemaker` command::
# crm resource start p_zabbix-server
# crm resource start p_zabbix-server
#. If the zabbix-server is still down, try the following::
# crm resource stop p_zabbix-server
# crm resource cleanup p_zabbix-server
# crm resource start p_zabbix-server
# crm resource stop p_zabbix-server
# crm resource cleanup p_zabbix-server
# crm resource start p_zabbix-server
#. If after the previous commands the zabbix-server is still down and you didn't
find any explanation in the logs, try to increase the log level::
# sed -i 's/DebugLevel=3/DebugLevel=4/' /etc/zabbix/zabbix_server.conf
# crm resource restart p_zabbix-server
# sed -i 's/DebugLevel=3/DebugLevel=4/' /etc/zabbix/zabbix_server.conf
# crm resource restart p_zabbix-server
Zabbix agents
-------------
=============
If a Zabbix agent don't report data (this can be determined on the Zabbix UI
page: configuration > hosts).
#. Check if the corresponding agent is running::
# /etc/init.d/zabbix-agent status
# /etc/init.d/zabbix-agent status
#. Restart the zabbix-agent if not running::
# /etc/init.d/zabbix-agent restart
# /etc/init.d/zabbix-agent restart
#. If the zabbix-agent is still down or doesn't report any data try the following
command to validate the agent's configuration. This command should display all
data that agent is configured to collect, if not the command should display
an explicit error with regard to the configuration::
# zabbix_agentd -p
# zabbix_agentd -p
Zabbix log files
================
On any of the cluster node, you might want to look into the Zabbix
agents and server log files under::
/var/log/zabbix

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# The Zabbix plugin for Fuel documentation build configuration file, created by
# The Zabbix plugin for Fuel test plan documentation build configuration file, created by
# sphinx-quickstart on Tue Nov 3 10:53:03 2015.
#
# This file is execfile()d with the current directory set to its
@ -14,7 +14,6 @@
import sys
import os
import shlex
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
@ -29,9 +28,7 @@ import shlex
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.todo',
]
extensions = [ ]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
@ -48,9 +45,9 @@ source_suffix = '.rst'
master_doc = 'index'
# General information about the project.
project = u'The Zabbix plugin for Fuel'
copyright = u'2015, Mirantis'
author = u'Mirantis'
project = u'The Zabbix plugin for Fuel Test Plan'
copyright = u'2016, Mirantis Inc.'
author = u'Mirantis Inc.'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@ -59,14 +56,14 @@ author = u'Mirantis'
# The short X.Y version.
version = '2.5'
# The full version, including alpha/beta/rc tags.
release = '2.5.1'
release = '2.5-2.5.1-1'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
#language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
@ -76,7 +73,7 @@ language = None
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = []
#exclude_patterns = []
# The reST default role (used for this markup: `text`) to use for all
# documents.
@ -103,14 +100,14 @@ pygments_style = 'sphinx'
#keep_warnings = False
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = True
#todo_include_todos = True
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'classic'
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
@ -202,7 +199,7 @@ html_static_path = ['_static']
#html_search_scorer = 'scorer.js'
# Output file base name for HTML help builder.
htmlhelp_basename = 'TheZabbixpluginforFueldoc'
htmlhelp_basename = 'TheZabbixpluginforFuelTestPlanDoc'
# -- Options for LaTeX output ---------------------------------------------
@ -218,14 +215,17 @@ latex_elements = {
# Latex figure (float) alignment
#'figure_align': 'htbp',
'classoptions': ',openany,oneside',
'babel': '\\usepackage[english]{babel}'
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'TheZabbixpluginforFuel.tex', u'The Zabbix plugin for Fuel Documentation',
u'Mirantis', 'manual'),
(master_doc, 'TheZabbixpluginforFuelTestPlan-' + version + '.tex', u'The Zabbix plugin for Fuel Test Plan Documentation',
author, 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
@ -254,7 +254,7 @@ latex_documents = [
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'thezabbixpluginforfuel', u'The Zabbix plugin for Fuel Documentation',
(master_doc, 'thezabbixpluginforfueltestplan', u'The Zabbix plugin for Fuel Test Plan Documentation',
[author], 1)
]
@ -268,9 +268,8 @@ man_pages = [
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'TheZabbixpluginforFuel', u'The Zabbix plugin for Fuel Documentation',
author, 'TheZabbixpluginforFuel', 'One line description of project.',
'Miscellaneous'),
(master_doc, 'TheZabbixpluginforFuelTestPlan', u'The Zabbix plugin for Fuel Test Plan Documentation',
author, 'TheZabbixpluginforFuelTestPlan')
]
# Documents to append as an appendix to all manuals.
@ -284,3 +283,6 @@ texinfo_documents = [
# If true, do not generate a @detailmenu in the "Top" node's menu.
#texinfo_no_detailmenu = False
# Insert footnotes where they are defined instead of at the end.
pdf_inline_footnotes = True

192
doc/specs/Makefile Normal file
View File

@ -0,0 +1,192 @@
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = build
# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(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/)
endif
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " applehelp to make an Apple Help Book"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
@echo " coverage to run coverage check of the documentation (if enabled)"
clean:
rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/TheZabbixpluginforFuel.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/TheZabbixpluginforFuel.qhc"
applehelp:
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
@echo
@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
@echo "N.B. You won't be able to view it unless you put it in" \
"~/Library/Documentation/Help or install it in your application" \
"bundle."
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/TheZabbixpluginforFuel"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/TheZabbixpluginforFuel"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
coverage:
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
@echo "Testing of coverage in the sources finished, look at the " \
"results in $(BUILDDIR)/coverage/python.txt."
xml:
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
pseudoxml:
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."

View File

288
doc/specs/source/conf.py Normal file
View File

@ -0,0 +1,288 @@
# -*- coding: utf-8 -*-
#
# The Zabbix plugin for Fuel specification documentation build configuration file, created by
# sphinx-quickstart on Tue Nov 3 10:53:03 2015.
#
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys
import os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [ ]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'The Zabbix plugin for Fuel Specification'
copyright = u'2016, Mirantis Inc.'
author = u'Mirantis Inc.'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '2.5'
# The full version, including alpha/beta/rc tags.
release = '2.5-2.5.0-1'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
#language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
#exclude_patterns = []
# The reST default role (used for this markup: `text`) to use for all
# documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents.
#keep_warnings = False
# If true, `todo` and `todoList` produce output, else they produce nothing.
#todo_include_todos = True
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#html_extra_path = []
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Language to be used for generating the HTML full-text search index.
# Sphinx supports the following languages:
# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr'
#html_search_language = 'en'
# A dictionary with options for the search language support, empty by default.
# Now only 'ja' uses this config value
#html_search_options = {'type': 'default'}
# The name of a javascript file (relative to the configuration directory) that
# implements a search results scorer. If empty, the default will be used.
#html_search_scorer = 'scorer.js'
# Output file base name for HTML help builder.
htmlhelp_basename = 'TheZabbixpluginforFuelSpecDoc'
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
# Latex figure (float) alignment
#'figure_align': 'htbp',
'classoptions': ',openany,oneside',
'babel': '\\usepackage[english]{babel}'
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'TheZabbixpluginforFuelSpec-' + version + '.tex', u'The Zabbix plugin for Fuel Specification Documentation',
author, 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output ---------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'thezabbixpluginforfuelspec', u'The Zabbix plugin for Fuel Specification Documentation',
[author], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output -------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'TheZabbixpluginforFuelSpec', u'The Zabbix plugin for Fuel Specification Documentation',
author, 'TheZabbixpluginforFuelSpec')
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
#texinfo_no_detailmenu = False
# Insert footnotes where they are defined instead of at the end.
pdf_inline_footnotes = True

View File

@ -106,6 +106,8 @@ Assignee(s)
| Piotr Misiak <pmisiak@mirantis.com> (developer)
| Szymon Bańka <sbanka@mirantis.com> (developer)
| Alexander Zatserklyany <azatserklyany@mirantis.com> (QA engineer)
| Swann Croiset <scroiset@mirantis.com> (developer)
| Olivier Bourdon <obourdon@mirantis.com> (developer)
Work Items
----------