diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/configguide/feature.configuration.rst | 28 | ||||
-rw-r--r-- | docs/configguide/index.rst | 13 | ||||
-rw-r--r-- | docs/development/design/index.rst | 1 | ||||
-rw-r--r-- | docs/development/overview/index.rst | 1 | ||||
-rw-r--r-- | docs/development/requirements/01-intro.rst (renamed from docs/requirements/01-intro.rst) | 60 | ||||
-rwxr-xr-x | docs/development/requirements/02-collectd.rst (renamed from docs/requirements/02-collectd.rst) | 0 | ||||
-rw-r--r-- | docs/development/requirements/03-dpdk.rst (renamed from docs/requirements/03-dpdk.rst) | 0 | ||||
-rwxr-xr-x | docs/development/requirements/barometer_scope.png (renamed from docs/requirements/barometer_scope.png) | bin | 39958 -> 39958 bytes | |||
-rw-r--r-- | docs/development/requirements/dpdk_ka.png (renamed from docs/requirements/dpdk_ka.png) | bin | 100808 -> 100808 bytes | |||
-rw-r--r-- | docs/development/requirements/index.rst (renamed from docs/release/index.rst) | 15 | ||||
-rw-r--r-- | docs/development/requirements/stats_and_timestamps.png (renamed from docs/requirements/stats_and_timestamps.png) | bin | 52193 -> 52193 bytes | |||
-rw-r--r-- | docs/index.rst | 63 | ||||
-rw-r--r-- | docs/release/01-release.rst | 40 | ||||
-rw-r--r-- | docs/release/configguide/featureconfig.rst | 60 | ||||
-rw-r--r-- | docs/release/configguide/index.rst | 15 | ||||
-rw-r--r-- | docs/release/configguide/postinstall.rst | 81 | ||||
-rw-r--r-- | docs/release/release-notes/Features_to_date1.png (renamed from docs/release/Features_to_date1.png) | bin | 80139 -> 80139 bytes | |||
-rw-r--r-- | docs/release/release-notes/Features_to_date2.png (renamed from docs/release/Features_to_date2.png) | bin | 111037 -> 111037 bytes | |||
-rw-r--r-- | docs/release/release-notes/index.rst (renamed from docs/requirements/index.rst) | 15 | ||||
-rw-r--r-- | docs/release/release-notes/release-notes.rst | 245 | ||||
-rw-r--r-- | docs/release/scenarios/index.rst | 16 | ||||
-rw-r--r-- | docs/release/scenarios/os-nosdn-kvm_ovs_dpdk_bar-ha/scenario.description.rst | 118 | ||||
-rw-r--r-- | docs/release/userguide/collectd.ves.userguide.rst (renamed from docs/userguide/collectd.ves.userguide.rst) | 5 | ||||
-rw-r--r-- | docs/release/userguide/feature.userguide.rst (renamed from docs/userguide/collectd.userguide.rst) | 136 | ||||
-rw-r--r-- | docs/release/userguide/index.rst (renamed from docs/userguide/index.rst) | 18 | ||||
-rw-r--r-- | docs/release/userguide/monitoring_interfaces.png (renamed from docs/userguide/monitoring_interfaces.png) | bin | 94097 -> 94097 bytes | |||
-rw-r--r-- | docs/testing/index.rst | 1 |
27 files changed, 713 insertions, 218 deletions
diff --git a/docs/configguide/feature.configuration.rst b/docs/configguide/feature.configuration.rst deleted file mode 100644 index e7c8d5ce..00000000 --- a/docs/configguide/feature.configuration.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright (c) 2016 Open Platform for NFV Project, Inc. and its contributors - -Installing Collectd Ceilometer Fuel Plugin -========================================== - -* On the Fuel UI, create a new environment. -* In Settings > OpenStack Services -* Enable "Install Ceilometer and Aodh" -* In Settings > Other -* Enable "Deploy Collectd Ceilometer Plugin" -* Continue with environment configuration and deployment as normal. - - -Upgrading the plugin --------------------- - -From time to time new versions of the plugin may become available. - -The plugin cannot be upgraded if an active environment is using the plugin. - -In order to upgrade the plugin: - -* Copy the updated plugin file to the fuel-master. -* On the Fuel UI, reset the environment. -* On the Fuel CLI "fuel plugins --update <fuel-plugin-file>" -* On the Fuel UI, re-deploy the environment. diff --git a/docs/configguide/index.rst b/docs/configguide/index.rst deleted file mode 100644 index b336d2d5..00000000 --- a/docs/configguide/index.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright (c) 2016 Open Platform for NFV Project, Inc. and its contributors - -*************************************** -Barometer configuration Guide in OPNFV -*************************************** - -.. toctree:: - :numbered: - :maxdepth: 3 - - feature.configuration.rst diff --git a/docs/development/design/index.rst b/docs/development/design/index.rst new file mode 100644 index 00000000..392b39f4 --- /dev/null +++ b/docs/development/design/index.rst @@ -0,0 +1 @@ +.. To be decided diff --git a/docs/development/overview/index.rst b/docs/development/overview/index.rst new file mode 100644 index 00000000..392b39f4 --- /dev/null +++ b/docs/development/overview/index.rst @@ -0,0 +1 @@ +.. To be decided diff --git a/docs/requirements/01-intro.rst b/docs/development/requirements/01-intro.rst index bc0e9ba0..70abc553 100644 --- a/docs/requirements/01-intro.rst +++ b/docs/development/requirements/01-intro.rst @@ -2,56 +2,8 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation and others. -Introduction -============ -Barometer is the project that renames Software Fastpath service Quality Metrics -(SFQM) and updates its scope which was networking centric. - -The goal of SFQM was to develop the utilities and libraries in DPDK to -support: - -* Measuring Telco Traffic and Performance KPIs. Including: - - * Packet Delay Variation (by enabling TX and RX time stamping). - * Packet loss (by exposing extended NIC stats). - -* Performance Monitoring of the DPDK interfaces (by exposing - extended NIC stats + collectd Plugin). -* Detecting and reporting violations that can be consumed by VNFs - and higher level management systems (through DPDK Keep Alive). - -With Barometer the scope is extended to monitoring the NFVI. The ability to -monitor the Network Function Virtualization Infrastructure (NFVI) where VNFs -are in operation will be a key part of Service Assurance within an NFV -environment, in order to enforce SLAs or to detect violations, faults or -degradation in the performance of NFVI resources so that events and relevant -metrics are reported to higher level fault management systems. -If physical appliances are going to be replaced by virtualized appliances -the service levels, manageability and service assurance needs to remain -consistent or improve on what is available today. As such, the NFVI needs to -support the ability to monitor: - -* Traffic monitoring and performance monitoring of the components that provide - networking functionality to the VNF, including: physical interfaces, virtual - switch interfaces and flows, as well as the virtual interfaces themselves and - their status, etc. -* Platform monitoring including: CPU, memory, load, cache, themals, fan speeds, - voltages and machine check exceptions, etc. - -All of the statistics and events gathered must be collected in-service and must -be capable of being reported by standard Telco mechanisms (e.g. SNMP), for -potential enforcement or correction actions. In addition, this information -could be fed to analytics systems to enable failure prediction, and can also be -used for intelligent workload placement. - - -All developed features will be upstreamed to Open Source projects relevant to -telemetry such as `collectd`_ and `Ceilometer`_. - -The OPNFV project wiki can be found @ `Barometer`_ - Problem Statement -================== +------------------ Providing carrier grade Service Assurance is critical in the network transformation to a software defined and virtualized network (NFV). Medium-/large-scale cloud environments account for between hundreds and @@ -92,7 +44,7 @@ measured in-service and must be capable of being reported by standard Telco mechanisms (e.g. SNMP traps), for potential enforcement actions. Barometer updated scope -======================= +------------------------ The scope of the project is to provide interfaces to support monitoring of the NFVI. The project will develop plugins for telemetry frameworks to enable the collection of platform stats and events and relay gathered information to fault @@ -104,7 +56,7 @@ gathered information. .. image: barometer_scope.png Scope of SFQM -============= +^^^^^^^^^^^^^^ **NOTE:** The SFQM project has been replaced by Barometer. The output of the project will provide interfaces and functions to support monitoring of Packet Latency and Network Interfaces while the VNF is in service. @@ -156,7 +108,7 @@ this and would report to a VNF-level Failover and High Availability mechanism that would then determine what actions, including failover, may be triggered. Consumption Models -=================== +^^^^^^^^^^^^^^^^^^^ In reality many VNFs will have an existing performance or traffic monitoring utility used to monitor VNF behavior and report statistics, counters, etc. @@ -177,7 +129,3 @@ Management support in the VIM, and the VES project, which addresses the integration of VNF telemetry-related data into automated VNF management systems. To that end, the project committers and contributors for the Barometer project wish to collaborate with the Doctor and VES projects to facilitate this. - -.. _Barometer: https://wiki.opnfv.org/display/fastpath -.. _collectd: http://collectd.org/ -.. _Ceilometer: https://wiki.openstack.org/wiki/Telemetry diff --git a/docs/requirements/02-collectd.rst b/docs/development/requirements/02-collectd.rst index 2303fadc..2303fadc 100755 --- a/docs/requirements/02-collectd.rst +++ b/docs/development/requirements/02-collectd.rst diff --git a/docs/requirements/03-dpdk.rst b/docs/development/requirements/03-dpdk.rst index ad7c8c78..ad7c8c78 100644 --- a/docs/requirements/03-dpdk.rst +++ b/docs/development/requirements/03-dpdk.rst diff --git a/docs/requirements/barometer_scope.png b/docs/development/requirements/barometer_scope.png Binary files differindex 03783bde..03783bde 100755 --- a/docs/requirements/barometer_scope.png +++ b/docs/development/requirements/barometer_scope.png diff --git a/docs/requirements/dpdk_ka.png b/docs/development/requirements/dpdk_ka.png Binary files differindex 4a45e10c..4a45e10c 100644 --- a/docs/requirements/dpdk_ka.png +++ b/docs/development/requirements/dpdk_ka.png diff --git a/docs/release/index.rst b/docs/development/requirements/index.rst index 30b2524c..685f611e 100644 --- a/docs/release/index.rst +++ b/docs/development/requirements/index.rst @@ -2,11 +2,14 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation and others. -************************ -Barometer Release Notes -************************ +============================= +OPNFV Barometer Requirements +============================= + .. toctree:: - :maxdepth: 3 - :numbered: + :maxdepth: 1 + + 01-intro + 02-collectd + 03-dpdk - 01-release.rst diff --git a/docs/requirements/stats_and_timestamps.png b/docs/development/requirements/stats_and_timestamps.png Binary files differindex 84aef726..84aef726 100644 --- a/docs/requirements/stats_and_timestamps.png +++ b/docs/development/requirements/stats_and_timestamps.png diff --git a/docs/index.rst b/docs/index.rst index 9b1c6137..5e5eb616 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,7 +6,8 @@ Barometer ========= -:Project: Barometer, https://wiki.opnfv.org/display/fastpath/Barometer+Home +:Project: `Barometer`_ + :Authors: Maryam Tahhan <maryam.tahhan@intel.com> @@ -18,15 +19,67 @@ Barometer 16.12.2014 Project creation ========== ===================================================== +Barometer is the project that renames Software Fastpath service Quality Metrics +(SFQM) and updates its scope which was networking centric. + +The goal of SFQM was to develop the utilities and libraries in DPDK to +support: + +* Measuring Telco Traffic and Performance KPIs. Including: + + * Packet Delay Variation (by enabling TX and RX time stamping). + * Packet loss (by exposing extended NIC stats). + +* Performance Monitoring of the DPDK interfaces (by exposing + extended NIC stats + collectd Plugin). +* Detecting and reporting violations that can be consumed by VNFs + and higher level management systems (through DPDK Keep Alive). + +With Barometer the scope is extended to monitoring the NFVI. The ability to +monitor the Network Function Virtualization Infrastructure (NFVI) where VNFs +are in operation will be a key part of Service Assurance within an NFV +environment, in order to enforce SLAs or to detect violations, faults or +degradation in the performance of NFVI resources so that events and relevant +metrics are reported to higher level fault management systems. +If physical appliances are going to be replaced by virtualized appliances +the service levels, manageability and service assurance needs to remain +consistent or improve on what is available today. As such, the NFVI needs to +support the ability to monitor: + +* Traffic monitoring and performance monitoring of the components that provide + networking functionality to the VNF, including: physical interfaces, virtual + switch interfaces and flows, as well as the virtual interfaces themselves and + their status, etc. +* Platform monitoring including: CPU, memory, load, cache, themals, fan speeds, + voltages and machine check exceptions, etc. + +All of the statistics and events gathered must be collected in-service and must +be capable of being reported by standard Telco mechanisms (e.g. SNMP), for +potential enforcement or correction actions. In addition, this information +could be fed to analytics systems to enable failure prediction, and can also be +used for intelligent workload placement. + +All developed features will be upstreamed to Open Source projects relevant to +telemetry such as `collectd`_, `Ceilometer`_. and other relavent Openstack +projects. + .. toctree:: :maxdepth: 3 :numbered: - ./requirements/index.rst - ./userguide/index.rst - ./configguide/index.rst - ./release/index.rst + ./release/configguide/index.rst + ./release/scenarios/index.rst + ./release/userguide/index.rst + ./release/release-notes/index.rst + ./development/requirements/index.rst + ./development/design/index.rst + ./development/testing/index.rst Indices ======= * :ref:`search` + +.. _Barometer: https://wiki.opnfv.org/display/fastpath +.. _collectd: http://collectd.org/ +.. _Ceilometer: https://wiki.openstack.org/wiki/Telemetry + diff --git a/docs/release/01-release.rst b/docs/release/01-release.rst deleted file mode 100644 index dcf6e180..00000000 --- a/docs/release/01-release.rst +++ /dev/null @@ -1,40 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Intel Corporation and others. - -Features to Date -================ -This section provides a summary of the features implemented to date and their -relevant upstream projects. - -.. Figure:: Features_to_date1.png - - Barometer features to date - -.. Figure:: Features_to_date2.png - - Barometer features to date cont. - -Please note the timeline denotes DPDK releases. - -Release B -========= -The features implemented for OPNFV release B (as part of SFQM) in DPDK include: - -* Callback API to enable TX/RX timestamping to measure latency through DPDK. -* Extended NIC statistics API for 1GB, 10GB and 40GB NICs to expose detailed - statistics for DPDK interfaces in addition to the overall aggregate statistics. -* DPDK Keep Alive. - -Release C -========= -The features implemented for OPNFV release C (as part of SFQM) include: - -* DPDK extended NIC stats API improvement; migrate from key value pairs to - using id value pairs. -* DPDK Keep Alive improvement, so that core status is exposed through a posix - shared memory object. -* collectd dpdkstat plugin that can retrieve DPDK interface statistics. -* collectd ceilometer plugin that can publish any statistics collected by - collectd to ceilometer. -* Fuel plugin support for the collectd ceilometer plugin for OPNFV. diff --git a/docs/release/configguide/featureconfig.rst b/docs/release/configguide/featureconfig.rst new file mode 100644 index 00000000..f7f7ec5e --- /dev/null +++ b/docs/release/configguide/featureconfig.rst @@ -0,0 +1,60 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +======================== +Barometer Configuration +======================== +This document provides guidelines on how to install and configure the Barometer +plugin when using Fuel as a deployment tool. The plugin name is: Collectd +Ceilometer Plugin. This plugin installs collectd on a compute node and enables +a number of collectd plugins to collect metrics and events from the platform +and send them to ceilometer. + +.. contents:: + :depth: 3 + :local: + +Pre-configuration activities +---------------------------- +The Barometer Fuel plugin can be found in /opt/opnfv on the fuel master. +To enable this plugin: + +.. code:: bash + + $ cd /opt/opnfv + $ fuel plugins --install fuel-plugin-collectd-ceilometer-1.0-1.0.0-1.noarch.rpm + +On the Fuel UI, create a new environment. +* In Settings > OpenStack Services +* Enable "Install Ceilometer and Aodh" +* In Settings > Other +* Enable "Deploy Collectd Ceilometer Plugin" +* Enable the barometer plugins you'd like to deploy using the checkboxes +* Continue with environment configuration and deployment as normal. + +Hardware configuration +---------------------- +There's no specific Hardware configuration required for this the barometer fuel plugin. + +Feature configuration +--------------------- +Describe the procedures to configure your feature on the platform in order +that it is ready to use according to the feature instructions in the platform +user guide. Where applicable you should add content in the postinstall.rst +to validate the feature is configured for use. +(checking components are installed correctly etc...) + +Upgrading the plugin +-------------------- + +From time to time new versions of the plugin may become available. + +The plugin cannot be upgraded if an active environment is using the plugin. + +In order to upgrade the plugin: + +* Copy the updated plugin file to the fuel-master. +* On the Fuel UI, reset the environment. +* On the Fuel CLI "fuel plugins --update <fuel-plugin-file>" +* On the Fuel UI, re-deploy the environment. + diff --git a/docs/release/configguide/index.rst b/docs/release/configguide/index.rst new file mode 100644 index 00000000..7f0e14a9 --- /dev/null +++ b/docs/release/configguide/index.rst @@ -0,0 +1,15 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (c) 2017 Open Platform for NFV Project, Inc. and its contributors + +====================================== +OPNFV Barometer configuration Guide +====================================== + +.. toctree:: + :numbered: + :maxdepth: 3 + + featureconfig + postinstall + diff --git a/docs/release/configguide/postinstall.rst b/docs/release/configguide/postinstall.rst new file mode 100644 index 00000000..5ebdc031 --- /dev/null +++ b/docs/release/configguide/postinstall.rst @@ -0,0 +1,81 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Barometer post installation procedures +====================================== +Add a brief introduction to the methods of validating the installation +according to this specific installer or feature. + +Automated post installation activities +-------------------------------------- +Describe specific post installation activities performed by the OPNFV +deployment pipeline including testing activities and reports. Refer to +the relevant testing guides, results, and release notes. + +note: this section should be singular and derived from the test projects +once we have one test suite to run for all deploy tools. This is not the +case yet so each deploy tool will need to provide (hopefully very simillar) +documentation of this. + +Barometer post configuration procedures +-------------------------------------- +The fuel plugin installs collectd and its plugins on compute nodes. +separate config files for each of the collectd plugins. These +configuration files can be found on the compute node @ +`/etc/collectd/collectd.conf.d/` directory. Each collectd plugin will +have its own configuration file with a default configuration for each +plugin. You can override any of the plugin configurations, by modifying +the configuration file and restarting the collectd service on the compute node. + +Platform components validation +--------------------------------- +1. SSH to a compute node and ensure that the collectd service is running. + +2. On the compute node, you need to inject a corrected memory error: + +.. code:: bash + + $ git clone https://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git + $ cd mce-inject + $ make + $ modprobe mce-inject + +Modify the test/corrected script to include the following: + +.. code:: bash + + CPU 0 BANK 0 + STATUS 0xcc00008000010090 + ADDR 0x0010FFFFFFF + +Inject the error: + +.. code:: bash + + $ ./mce-inject < test/corrected + +3. SSH to openstack controller node and query the ceilometer DB: + +.. code:: bash + + $ source openrc + $ ceilometer sample-list -m interface.if_packets + $ ceilometer sample-list -m hugepages.vmpage_number + $ ceilometer sample-list -m ovs_events.gauge + $ ceilometer sample-list -m mcelog.errors + +As you run each command above, you should see output similar to the examples below: + +.. code:: bash + | node-6.domain.tld-br-prv-link_status | ovs_events.gauge | gauge | 1.0 | None | 2017-01-20T18:18:40 | + | node-6.domain.tld-int-br-prv-link_status | ovs_events.gauge | gauge | 1.0 | None | 2017-01-20T18:18:39 | + | node-6.domain.tld-br-int-link_status | ovs_events.gauge | gauge | 0.0 | None | 2017-01-20T18:18:39 | + + | node-6.domain.tld-mm-2048Kb-free | hugepages.vmpage_number | gauge | 0.0 | None | 2017-01-20T18:17:12 | + | node-6.domain.tld-mm-2048Kb-used | hugepages.vmpage_number | gauge | 0.0 | None | 2017-01-20T18:17:12 | + +-------------------------------------+-------------------------+-------+--------+------+---------------------+ + + | bf05daca-df41-11e6-b097-5254006ed58e | node-6.domain.tld-SOCKET_0_CHANNEL_0_DIMM_any-uncorrected_memory_errors_in_24h | mcelog.errors | gauge | 0.0 | None | 2017-01-20T18:53:34 | + | bf05dacb-df41-11e6-b097-5254006ed58e | node-6.domain.tld-SOCKET_0_CHANNEL_any_DIMM_any-uncorrected_memory_errors_in_24h | mcelog.errors | gauge | 0.0 | None | 2017-01-20T18:53:34 | + | bdcb930d-df41-11e6-b097-5254006ed58e | node-6.domain.tld-SOCKET_0_CHANNEL_any_DIMM_any-uncorrected_memory_errors | mcelog.errors | gauge | 0.0 | None | 2017-01-20T18:53:33 | + diff --git a/docs/release/Features_to_date1.png b/docs/release/release-notes/Features_to_date1.png Binary files differindex 2469fe3a..2469fe3a 100644 --- a/docs/release/Features_to_date1.png +++ b/docs/release/release-notes/Features_to_date1.png diff --git a/docs/release/Features_to_date2.png b/docs/release/release-notes/Features_to_date2.png Binary files differindex edd2c074..edd2c074 100644 --- a/docs/release/Features_to_date2.png +++ b/docs/release/release-notes/Features_to_date2.png diff --git a/docs/requirements/index.rst b/docs/release/release-notes/index.rst index e5d04896..44713cd3 100644 --- a/docs/requirements/index.rst +++ b/docs/release/release-notes/index.rst @@ -2,13 +2,12 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation and others. -********************** -Barometer Requirements -********************** +================================================== +OPNFV Barometer Release Notes +================================================== + .. toctree:: - :maxdepth: 3 - :numbered: + :maxdepth: 1 + + release-notes - 01-intro.rst - 02-collectd.rst - 03-dpdk.rst diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst new file mode 100644 index 00000000..3837b1e7 --- /dev/null +++ b/docs/release/release-notes/release-notes.rst @@ -0,0 +1,245 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +====================================================================== +OPNFV Barometer Release Notes +====================================================================== + +This document provides the release notes for Danube Release of Barometer. + +.. contents:: + :depth: 3 + :local: + + +Version history +------------------ + ++--------------------+--------------------+--------------------+--------------------+ +| **Date** | **Ver.** | **Author** | **Comment** | +| | | | | ++--------------------+--------------------+--------------------+--------------------+ +| 2017-02-16 | 0.1.0 | Maryam Tahhan | First draft | +| | | | | ++--------------------+--------------------+--------------------+--------------------+ + +Important notes +----------------- +None to date. + +Summary +------------ +The Barometer@OPNFV project adds a platform telemetry agent to compute nodes +that is capabable of retrieving platform statistics and events, and relay them +to Openstack ceilometer. The telemetry agent currently supported by Barometer +is collectd. Some additional collectd plugin were developed to add functionality +to retrieve statistics or events for: + +- Hugepages +- mcelog memory machine check exceptions +- Open vSwitch events +- Ceilometer + +Release Data +--------------- + ++--------------------------------------+--------------------------------------+ +| **Project** | Danube/barometer/barometer@opnfv | +| | | ++--------------------------------------+--------------------------------------+ +| **Repo/commit-ID** | barometer/ | +| | | ++--------------------------------------+--------------------------------------+ +| **Release designation** | Danube 1.0 | +| | | ++--------------------------------------+--------------------------------------+ +| **Release date** | | +| | | ++--------------------------------------+--------------------------------------+ +| **Purpose of the delivery** | Official OPNFV release | +| | | ++--------------------------------------+--------------------------------------+ + +Version change +^^^^^^^^^^^^^^^^ + +Module version changes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- There have been no version changes. + +Document version changes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- The Barometer@OPNFV installation guide version has changed from version 0.1 to to 0.2 + +Reason for version +^^^^^^^^^^^^^^^^^^^^ +Feature additions +~~~~~~~~~~~~~~~~~~~~~~~ + +**JIRA BACK-LOG:** + ++--------------------------------------+--------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++--------------------------------------+--------------------------------------+ +| BAROMETER-38 | RAS Collectd Plugin | +| | | ++--------------------------------------+--------------------------------------+ +| BAROMETER-41 | OVS Collectd Plugin | +| | | ++--------------------------------------+--------------------------------------+ +| BAROMETER-43 | Fuel Plugin for D Release | +| | | ++--------------------------------------+--------------------------------------+ +| BAROMETER-48 | Hugepages Plugin for Collectd | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | ++--------------------------------------+--------------------------------------+ + +Bug corrections +~~~~~~~~~~~~~~~~~~~~~ + +**JIRA TICKETS:** + ++--------------------------------------+--------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | ++--------------------------------------+--------------------------------------+ + +Deliverables +---------------- + +Software deliverables +^^^^^^^^^^^^^^^^^^^^^^^ + +Features to Date +~~~~~~~~~~~~~~~~ + +This section provides a summary of the features implemented to date and their +relevant upstream projects. + +.. Figure:: Features_to_date1.png + + Barometer features to date + +.. Figure:: Features_to_date2.png + + Barometer features to date cont. + +Please note the timeline denotes DPDK releases. + +Release B +~~~~~~~~~~ +The features implemented for OPNFV release B (as part of SFQM) in DPDK include: + +* Callback API to enable TX/RX timestamping to measure latency through DPDK. +* Extended NIC statistics API for 1GB, 10GB and 40GB NICs to expose detailed + statistics for DPDK interfaces in addition to the overall aggregate statistics. +* DPDK Keep Alive. + +Release C +~~~~~~~~~~ +The features implemented for OPNFV release C (as part of SFQM) include: + +* DPDK extended NIC stats API improvement; migrate from key value pairs to + using id value pairs. +* DPDK Keep Alive improvement, so that core status is exposed through a posix + shared memory object. +* collectd dpdkstat plugin that can retrieve DPDK interface statistics. +* collectd ceilometer plugin that can publish any statistics collected by + collectd to ceilometer. +* Fuel plugin support for the collectd ceilometer plugin for OPNFV. + +Documentation deliverables +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- Configuration guide +- User guide +- Release notes +- Scenario documentation. + +Known Limitations, Issues and Workarounds +-------------------------------------------- + +System Limitations +^^^^^^^^^^^^^^^^^^^^ + +Barometer has the same limiations as the fuel project in general as regards + +- **Max number of blades* + +- **Min number of blades** + +- **Storage** + +- **Max number of networks** + +- **L3Agent** + +The only additional limitiation is the following: + +**Telemetry:** Ceilometer service needs to be configured for compute nodes. + +Known issues +^^^^^^^^^^^^^^^ + +No known issues to date. + +**JIRA TICKETS:** + ++--------------------------------------+--------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | +| | | ++--------------------------------------+--------------------------------------+ + +Workarounds +^^^^^^^^^^^^^^^^^ + +- None to date. + +Test Result +--------------- + +Barometer@OPNFV Danube RC1 has undergone QA test runs with the following results: + ++--------------------------------------+--------------------------------------+ +| **TEST-SUITE** | **Results:** | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | +| | | +| | | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | +| | | +| | | +| | | ++--------------------------------------+--------------------------------------+ + +References +------------ + +For more information on the OPNFV Danube release, please see: + +http://opnfv.org/danube + diff --git a/docs/release/scenarios/index.rst b/docs/release/scenarios/index.rst new file mode 100644 index 00000000..12ca9933 --- /dev/null +++ b/docs/release/scenarios/index.rst @@ -0,0 +1,16 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) 2017 Intel Corporation and Others + +============================= +OPNFV Barometer Scenarios +============================= +.. This document will be used to provide a description of the scenario for an end user. +.. You should explain the purpose of the scenario, the types of capabilities provided and +.. the unique components that make up the scenario including how they are used. + +.. toctree:: + :maxdepth: 1 + + ./os-nosdn-kvm_ovs_dpdk_bar-ha/scenario.description + diff --git a/docs/release/scenarios/os-nosdn-kvm_ovs_dpdk_bar-ha/scenario.description.rst b/docs/release/scenarios/os-nosdn-kvm_ovs_dpdk_bar-ha/scenario.description.rst new file mode 100644 index 00000000..f98a05ab --- /dev/null +++ b/docs/release/scenarios/os-nosdn-kvm_ovs_dpdk_bar-ha/scenario.description.rst @@ -0,0 +1,118 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) <optionally add copywriters name> + +=================================== +OPNFV os-nosdn-kvm_ovs_dpdk_bar-ha +=================================== + +This document provides scenario level details for Danube of Barometer. + +.. contents:: + :depth: 3 + :local: + +Introduction +--------------- +.. In this section explain the purpose of the scenario and the types of +.. capabilities provided +This scenario combines the features from the following three projects in a +single instantiation of OPNFV: + +- KVM4NFV +- OVS4NFV +- Barometer + +A distinguishing factor for this scenario vs other scenarios that integrate +Open vSwitch and KVM is that collectd (a telemetry agent) is installed on +compute nodes so that their statistics and events can be relayed to ceilometer. +These are the first steps in paving the way for Platform (NFVI) Monitoring in +OPNFV. + +For Fuel this scenario installs the latest DPDK-enabled Open vSwitch component, +KVM4NFV latest software packages for Linux Kernel and QEMU patches for +achieving low latency, and the collectd telemetry agent. + +Scenario components and composition +------------------------------------- +.. In this section describe the unique components that make up the scenario, +.. what each component provides and why it has been included in order +.. to communicate to the user the capabilities available in this scenario. + +This scenario deploys the High Availability OPNFV Cloud based on the +configurations provided in ha_nfv-kvm_ovs_bar_heat_ceilometer_scenario.yaml. +This yaml file contains following configurations and is passed as an +argument to deploy.py script + +* scenario.yaml:This configuration file defines translation between a + short deployment scenario name(os-nosdn-kvm_ovs_dpdk_bar-ha) and an actual + deployment scenario configuration file + (ha_nfv-kvm_nfv-ovs-dpdk_bar_heat_ceilometer_scenario.yaml) + +* deployment-scenario-metadata:Contains the configuration metadata like + title,version,created,comment. + +* stack-extensions:Stack extentions are opnfv added value features in form + of a fuel-plugin.Plugins listed in stack extensions are enabled and + configured. + +* dea-override-config: Used to configure the HA mode,network segmentation + types and role to node assignments. These configurations overrides + corresponding keys in the dea_base.yaml and dea_pod_override.yaml. + These keys are used to deploy multiple nodes(3 controllers,2 computes) + as mention below. + +* **Node 1**: This node has MongoDB and Controller roles. The controller + node runs the Identity service, Image Service, management portions of + Compute and Networking, Networking plug-in and the dashboard. The + Telemetry service which was designed to support billing systems for + OpenStack cloud resources uses a NoSQL database to store information. + The database typically runs on the controller node. + +* **Node 2**: This node has Controller and Ceph-osd roles. Ceph is a + massively scalable, open source, distributed storage system. It is + comprised of an object store, block store and a POSIX-compliant distributed + file system. Enabling Ceph, configures Nova to store ephemeral volumes in + RBD, configures Glance to use the Ceph RBD backend to store images, + configures Cinder to store volumes in Ceph RBD images and configures the + default number of object replicas in Ceph. + +* **Node 3**: This node has Controller role in order to achieve high + availability. + +* **Node 4**: This node has Compute role. The compute node runs the + hypervisor portion of Compute that operates tenant virtual machines + instances. By default, Compute uses KVM as the hypervisor. Collectd + will be installed on this node. + +* **Node 5**: This node has compute role. + +* dha-override-config:Provides information about the VM definition and + Network config for virtual deployment. These configurations overrides + the pod dha definition and points to the controller,compute and + fuel definition files. + +* os-nosdn-kvm_ovs_dpdk_bar-ha scenario is successful when all the 5 Nodes are + accessible, up and running. + +Scenario usage overview +---------------------------- +.. Provide a brief overview on how to use the scenario and the features available to the +.. user. This should be an "introduction" to the userguide document, and explicitly link to it, +.. where the specifics of the features are covered including examples and API's + +After installation use of the scenario traffic on the private network will +automatically be processed by the upgraded DPDK datapath. + +Limitations, Issues and Workarounds +--------------------------------------- +.. Explain scenario limitations here, this should be at a design level rather than discussing +.. faults or bugs. If the system design only provide some expected functionality then provide +.. some insight at this point. + +References +----------------- + +For more information on the OPNFV Danube release, please visit +http://www.opnfv.org/danube + diff --git a/docs/userguide/collectd.ves.userguide.rst b/docs/release/userguide/collectd.ves.userguide.rst index a83b6469..3cf26004 100644 --- a/docs/userguide/collectd.ves.userguide.rst +++ b/docs/release/userguide/collectd.ves.userguide.rst @@ -2,8 +2,9 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation and others. -collectd VES plugin -=================== +============================== +collectd VES plugin User Guide +============================== The Barometer repository contains a python based write plugin for VES. The plugin currently supports pushing platform relevant metrics through the diff --git a/docs/userguide/collectd.userguide.rst b/docs/release/userguide/feature.userguide.rst index 855b0367..2be44d33 100644 --- a/docs/userguide/collectd.userguide.rst +++ b/docs/release/userguide/feature.userguide.rst @@ -1,66 +1,98 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Intel Corporation and others. +.. (c) <optionally add copywriters name> + +=================================== +OPNFV Barometer User Guide +=================================== + +.. contents:: + :depth: 3 + :local: + +Barometer collectd plugins description +--------------------------------------- +.. Describe the specific features and how it is realised in the scenario in a brief manner +.. to ensure the user understand the context for the user guide instructions to follow. + +collectd is a daemon which collects system performance statistics periodically +and provides a variety of mechanisms to publish the collected metrics. It +supports more than 90 different input and output plugins. Input plugins +retrieve metrics and publish them to the collectd deamon, while output plugins +publish the data they receive to an end point. collectd also has infrastructure +to support thresholding and notification. -collectd plugins -================= Barometer has enabled the following collectd plugins: -* dpdkstat plugin: A read plugin that retrieve stats from the DPDK extended +* *dpdkstat plugin*: A read plugin that retrieve stats from the DPDK extended NIC stats API. * `ceilometer plugin`_: A write plugin that pushes the retrieved stats to Ceilometer. It's capable of pushing any stats read through collectd to Ceilometer, not just the DPDK stats. -* hugepages plugin: A read plugin that retrieves the number of available +* *hugepages plugin*: A read plugin that retrieves the number of available and free hugepages on a platform as well as what is available in terms of hugepages per socket. -* RDT plugin: A read plugin that provides the last level cache utilitzation and +* *RDT plugin*: A read plugin that provides the last level cache utilitzation and memory bandwidth utilization -* Open vSwitch events Plugin: A read plugin that retrieves events from OVS. +* *Open vSwitch events Plugin*: A read plugin that retrieves events from OVS. -* mcelog plugin: A read plugin that uses mcelog client protocol to check for +* *mcelog plugin*: A read plugin that uses mcelog client protocol to check for memory Machine Check Exceptions and sends the stats for reported exceptions All the plugins above are available on the collectd master, except for the -ceilometer plugin as it's a python based plugin and only C plugins are accepted +plugin as it's a python based plugin and only C plugins are accepted by the collectd community. The ceilometer plugin lives in the OpenStack repositories. Other plugins under development or existing as a pull request into collectd master: -* dpdkevents: A read plugin that retrieves DPDK link status and DPDK +* *dpdkevents*: A read plugin that retrieves DPDK link status and DPDK forwarding cores liveliness status (DPDK Keep Alive). -* Open vSwitch stats Plugin: A read plugin that retrieve flow and interface +* *Open vSwitch stats Plugin*: A read plugin that retrieve flow and interface stats from OVS. -* SNMP Agent: A write plugin that will act as a AgentX subagent that receives +* *SNMP Agent*: A write plugin that will act as a AgentX subagent that receives and handles queries from SNMP master agent and returns the data collected by read plugins. The SNMP Agent plugin handles requests only for OIDs specified in configuration file. To handle SNMP queries the plugin gets data from collectd and translates requested values from collectd's internal format to SNMP format. Supports SNMP: get, getnext and walk requests. -* Legacy/IPMI: A read plugin that reports platform thermals, voltages, +* *Legacy/IPMI*: A read plugin that reports platform thermals, voltages, fanspeed, current, flow, power etc. Also, the plugin monitors Intelligent Platform Management Interface (IPMI) System Event Log (SEL) and sends the - collectd notification once a new record appears in the SEL. -Building collectd with the Barometer plugins and installing the dependencies -============================================================================= +**Plugins included in the Danube release:** + +* Hugepages +* Open vSwitch Events +* Ceilometer +* Mcelog -All Upstreamed plugins ------------------------ +collectd capabilities and usage +------------------------------------ +.. Describe the specific capabilities and usage for <XYZ> feature. +.. Provide enough information that a user will be able to operate the feature on a deployed scenario. + +**NOTE** Plugins included in the OPNFV D release will be built-in to the fuel +plugin and available in the /opt/opnfv directory on the fuel master. You don't +need to clone the barometer/collectd repos to use these, but you can configure +them as shown in the examples below. Please note, the collectd plugins in OPNFV +are configured with reasonable defaults, but can be overriden. + +Building all Barometer upstreamed plugins from scratch +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The plugins that have been merged to the collectd master branch can all be built and configured through the barometer repository. -**Note**: sudo permissions are required to install collectd. +**NOTE: sudo permissions are required to install collectd.** -**Note**: These are instructions for Ubuntu 16.04. +**NOTE: These are instructions for Ubuntu 16.04.** To build and install these dependencies, clone the barometer repo: @@ -92,12 +124,13 @@ other, existing user before starting collectd service. Please note if you are using any Open vSwitch plugins you need to run: + .. code:: bash $ sudo ovs-vsctl set-manager ptcp:6640 DPDK statistics plugin ------------------------ +^^^^^^^^^^^^^^^^^^^^^^ Repo: https://github.com/collectd/collectd Branch: master @@ -161,9 +194,8 @@ reboot). Pending a merge of https://github.com/collectd/collectd/pull/2073. $ ./configure LIBDPDK_CPPFLAGS="path to DPDK header files" LIBDPDK_LDFLAGS="path to DPDK libraries" - Hugepages Plugin ------------------ +^^^^^^^^^^^^^^^^^ Repo: https://github.com/collectd/collectd Branch: master @@ -209,7 +241,7 @@ For more information on the plugin parameters, please see: https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod Intel RDT Plugin ------------------ +^^^^^^^^^^^^^^^^ Repo: https://github.com/collectd/collectd Branch: master @@ -263,7 +295,7 @@ For more information on the plugin parameters, please see: https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod IPMI Plugin ------------ +^^^^^^^^^^^^ Repo: https://github.com/maryamtahhan/collectd Branch: feat_ipmi_events, feat_ipmi_analog @@ -329,22 +361,21 @@ dispatch the values to collectd and send SEL notifications. For more information on the IPMI plugin parameters and SEL feature configuration, please see: - https://github.com/maryamtahhan/collectd/blob/feat_ipmi_events/src/collectd.conf.pod -Extended analog sensors support doesn't require addition configuration. The usual -collectd IPMI documentation can be used. +Extended analog sensors support doesn't require additional configuration. The usual +collectd IPMI documentation can be used: -https://collectd.org/wiki/index.php/Plugin:IPMI -https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_ipmi +- https://collectd.org/wiki/index.php/Plugin:IPMI +- https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_ipmi IPMI documentation: -https://www.kernel.org/doc/Documentation/IPMI.txt -http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html +- https://www.kernel.org/doc/Documentation/IPMI.txt +- http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html -Mcelog Plugin: --------------- +Mcelog Plugin +^^^^^^^^^^^^^^ Repo: https://github.com/collectd/collectd Branch: master @@ -373,6 +404,7 @@ Or build from source $ systemctl enable mcelog.service $ systemctl start mcelog.service + Verify you got a /dev/mcelog. You can verify the daemon is running completely by running: @@ -450,7 +482,6 @@ runs. There will be some kernel messages about page offlining attempts. The test will also lose a few pages of memory in your system (not significant) **Note this test will kill any running mcelog, which needs to be restarted manually afterwards**. - **mce-inject:** A utility to inject corrected, uncorrected and fatal machine check exceptions @@ -510,9 +541,8 @@ To inject corrected memory errors: * Check the MCE statistic: mcelog --client. Check the mcelog log for injected error details: less /var/log/mcelog. - Open vSwitch Plugins ---------------------- +^^^^^^^^^^^^^^^^^^^^^ OvS Events Repo: https://github.com/collectd/collectd OvS Stats Repo: https://github.com/maryamtahhan/collectd @@ -593,8 +623,8 @@ https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod and https://github.com/maryamtahhan/collectd/blob/feat_ovs_stats/src/collectd.conf.pod -SNMP Agent Plugin: ------------------- +SNMP Agent Plugin +^^^^^^^^^^^^^^^^^ Repo: https://github.com/maryamtahhan/collectd/ Branch: feat_snmp @@ -709,7 +739,10 @@ For more details on AgentX subagent, please see: http://www.net-snmp.org/tutorial/tutorial-5/toolkit/demon/ Installing collectd as a service --------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +**NOTE**: In an OPNFV installation, collectd is installed and configured as a +service. + Collectd service scripts are available in the collectd/contrib directory. To install collectd as a service: @@ -739,14 +772,11 @@ Reload $ sudo systemctl status collectd.service should show success Additional useful plugins --------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^ -Exec Plugin -~~~~~~~~~~~ - -Can be used to show you when notifications are being generated by calling a -bash script that dumps notifications to file. (handy for debug). Modify -/opt/collectd/etc/collectd.conf: +* **Exec Plugin** : Can be used to show you when notifications are being + generated by calling a bash script that dumps notifications to file. (handy + for debug). Modify /opt/collectd/etc/collectd.conf: .. code:: bash @@ -783,10 +813,8 @@ output to /tmp/notifications should look like: linkstate of "br-ex" interface has been changed to "DOWN" -logfile plugin -~~~~~~~~~~~~~~~ -Can be used to log collectd activity. Modify /opt/collectd/etc/collectd.conf to -include: +* **logfile plugin**: Can be used to log collectd activity. Modify + /opt/collectd/etc/collectd.conf to include: .. code:: bash @@ -798,8 +826,9 @@ include: PrintSeverity false </Plugin> + Monitoring Interfaces and Openstack Support -------------------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. Figure:: monitoring_interfaces.png Monitoring Interfaces and Openstack Support @@ -812,7 +841,7 @@ and publishing the retrieved stats to Ceilometer through the ceilometer plugin. To see this demo in action please checkout: `Barometer OPNFV Summit demo`_ References ----------- +^^^^^^^^^^^ .. [1] https://collectd.org/wiki/index.php/Naming_schema .. [2] https://github.com/collectd/collectd/blob/master/src/daemon/plugin.h .. [3] https://collectd.org/wiki/index.php/Value_list_t @@ -823,3 +852,4 @@ References .. _Barometer OPNFV Summit demo: https://prezi.com/kjv6o8ixs6se/software-fastpath-service-quality-metrics-demo/ .. _ceilometer plugin: https://github.com/openstack/collectd-ceilometer-plugin/tree/stable/mitaka + diff --git a/docs/userguide/index.rst b/docs/release/userguide/index.rst index aaeadf91..287b16be 100644 --- a/docs/userguide/index.rst +++ b/docs/release/userguide/index.rst @@ -1,10 +1,10 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) Intel Corporation and OPNFV +.. (c) Intel and OPNFV -******************** -Barometer user guide -******************** +=========================== +OPNFV Barometer User Guide +=========================== .. The feature user guide should provide an OPNFV user with enough information to .. use the features provided by the feature project in the supported scenarios. @@ -13,7 +13,11 @@ Barometer user guide .. by the installer project. .. toctree:: - :maxdepth: 3 + :maxdepth: 1 + + feature.userguide + collectd.ves.userguide.rst +.. The feature.userguide.rst file should contain the text for this document +.. additional documents can be added to this directory and added in the right order +.. to this file as a list below. - collectd.userguide.rst - collectd.ves.userguide.rst diff --git a/docs/userguide/monitoring_interfaces.png b/docs/release/userguide/monitoring_interfaces.png Binary files differindex e57c4aa1..e57c4aa1 100644 --- a/docs/userguide/monitoring_interfaces.png +++ b/docs/release/userguide/monitoring_interfaces.png diff --git a/docs/testing/index.rst b/docs/testing/index.rst new file mode 100644 index 00000000..392b39f4 --- /dev/null +++ b/docs/testing/index.rst @@ -0,0 +1 @@ +.. To be decided |