[release-announce] vitrage 4.1.0 (stein)

no-reply at openstack.org no-reply at openstack.org
Tue Feb 26 00:06:27 UTC 2019


We are overjoyed to announce the release of:

vitrage 4.1.0: The OpenStack RCA Service

This release is part of the stein release series.

The source is available from:

    https://git.openstack.org/cgit/openstack/vitrage

Download the package from:

    https://tarballs.openstack.org/vitrage/

For more details, please see below.

4.1.0
^^^^^

New Features

* Added a new API to list all vitrage services present in the
  system.

* A new "zaqar notifier" was added, in order to send alrmas from
  Vitrage to zaqar messaging framework.

* Added support for a yaml configuration file that maps the
  Prometheus alert labels to  a corresponding Vitrage resource with
  specific properties (id or other unique properties).

* Added support for get_all alerts from Prometheus Alertmanager.

* Added support for parameters in Vitrage templates. A template may
  contain one or more "parameters" that are assigned with actual
  values upon template creation. This enables easy reuse of common
  templates.

* Introduced template version 3, a shorter, more fluent template
  language. Overall template yaml appearance improvements. *condition*
  definitions were revised, *relationships* declarations removed.

Changes in vitrage 4.0.0..4.1.0
-------------------------------

e72846d Template v3 causing alarm implemented.
7bed18c use the right assertion
76fd30f Support parameters in Vitrage templates
2b1f91d Prometheus get_all support
28bd060 Template parameters documentation
a2ce45c Document version 3 template format
12f70b9 add a new service list api
3e725e7 properties should be created in c'tor
a859882 Template version 3 - short format
49b5fbc Documentation for Prometheus datasource and Release note for Prometheus configuration
8e751d3 Generalize prometheus datasource
b9aaaa3 WIP - add libvirt instance_name to Vitrage entity
15aec9d add pre_test_hook file
cbf1b32 Add a new zaqar notifier
3ca2eb6 [Trivial Fix] Add missing block quote
94483c2 Update the bugs link to storyboard


Diffstat (except docs and test files)
-------------------------------------

CONTRIBUTING.rst                                   |   4 +-
devstack/plugin.sh                                 |   6 +
.../template_validation_status_code.rst            |   9 +
.../contributor/vitrage-template-format-v2.rst     | 729 +++++++++++++++++++++
lower-constraints.txt                              |   4 +
openstack-common.conf                              |   6 -
playbooks/legacy/vitrage-dsvm-api-py27/run.yaml    |   5 +
playbooks/legacy/vitrage-dsvm-api-py35/run.yaml    |   5 +
.../legacy/vitrage-dsvm-datasources-py27/run.yaml  |   5 +
.../legacy/vitrage-dsvm-datasources-py35/run.yaml  |   5 +
playbooks/legacy/vitrage-dsvm-mock-py27/run.yaml   |   5 +
playbooks/legacy/vitrage-dsvm-mock-py35/run.yaml   |   5 +
.../notes/add_service_list-d8e28adabc26f1cf.yaml   |   3 +
.../notes/add_zaqar_notifier-63de714384091ce5.yaml |   3 +
.../prometheus-enhancement-b9dc2ef5705d1000.yaml   |   6 +
...pport-template-parameters-f9552fef4fc66122.yaml |   5 +
.../notes/template_version_3-cd8a0775b2f2e7cd.yaml |   5 +
requirements.txt                                   |   3 +
test-requirements.txt                              |   1 +
vitrage/api/app.py                                 |   3 +-
vitrage/api/controllers/v1/root.py                 |   2 +
vitrage/api/controllers/v1/service.py              |  49 ++
vitrage/api/controllers/v1/template.py             |  19 +-
vitrage/api/hooks.py                               |  12 +
vitrage/api_handler/apis/template.py               |  12 +-
vitrage/common/constants.py                        |   5 +-
vitrage/common/policies/__init__.py                |   4 +-
vitrage/common/policies/service.py                 |  37 ++
vitrage/coordination/__init__.py                   |  21 +
vitrage/coordination/coordination.py               | 113 ++++
vitrage/coordination/service.py                    |  32 +
.../datasources/nova/instance/field_extractor.py   |  13 +
vitrage/datasources/nova/instance/transformer.py   |   4 +
vitrage/datasources/prometheus/__init__.py         |   9 +
vitrage/datasources/prometheus/driver.py           | 432 +++++++++---
vitrage/datasources/prometheus/properties.py       |  50 +-
vitrage/datasources/prometheus/transformer.py      |  40 +-
vitrage/entity_graph/workers.py                    |   6 +-
.../actions/evaluator_event_transformer.py         |  22 +-
vitrage/evaluator/base.py                          |  21 +-
vitrage/evaluator/condition.py                     |   9 +-
vitrage/evaluator/scenario_evaluator.py            |   2 +-
vitrage/evaluator/scenario_repository.py           |  25 +-
vitrage/evaluator/template_data.py                 |   9 +-
.../evaluator/template_db/template_repository.py   |  39 +-
vitrage/evaluator/template_fields.py               |   3 +
vitrage/evaluator/template_functions/__init__.py   |  17 +
.../template_functions/function_resolver.py        |  96 +++
.../evaluator/template_functions/v2/__init__.py    |  43 ++
.../evaluator/template_functions/v2/functions.py   | 101 ++-
.../evaluator/template_loading/scenario_loader.py  | 105 +--
.../evaluator/template_loading/template_loader.py  |  32 +-
.../template_loading/template_loader_v3.py         | 158 +++++
.../evaluator/template_loading/v1/action_loader.py |   4 +-
vitrage/evaluator/template_loading/v3/__init__.py  |   0
.../evaluator/template_loading/v3/action_loader.py |  35 +
.../template_loading/v3/raise_alarm_loader.py      |  41 ++
vitrage/evaluator/template_schemas.py              |  48 +-
vitrage/evaluator/template_validation/__init__.py  |  25 +-
vitrage/evaluator/template_validation/base.py      |  23 +-
.../content/template_content_validator.py          |  13 +-
.../content/template_content_validator_v3.py       | 135 ++++
.../content/v1/execute_mistral_validator.py        |   2 +-
.../content/v1/get_param_validator.py              |  31 +
.../content/v2/execute_mistral_validator.py        |   2 +-
.../content/v2/get_param_validator.py              |  30 +
.../template_validation/status_messages.py         |  24 +-
.../template_syntax_validator.py                   |  35 +-
.../template_syntax_validator_v3.py                | 137 ++++
vitrage/graph/driver/elements.py                   |   7 +-
vitrage/graph/filter.py                            |   6 +-
vitrage/machine_learning/service.py                |   8 +-
vitrage/notifier/plugins/__init__.py               |  15 -
vitrage/notifier/plugins/aodh/aodh_notifier.py     |   4 +-
vitrage/notifier/plugins/nova/nova_notifier.py     |   4 +-
vitrage/notifier/plugins/webhook/webhook.py        |  19 +-
vitrage/notifier/plugins/zaqar/__init__.py         |  28 +
vitrage/notifier/plugins/zaqar/zaqar_notifier.py   |  40 ++
vitrage/notifier/service.py                        |   9 +-
vitrage/opts.py                                    |   4 +
vitrage/os_clients.py                              |  13 +
vitrage/persistency/service.py                     |   8 +-
vitrage/snmp_parsing/service.py                    |   8 +-
.../listener_service/test_listener_service.py      |   2 +-
.../driver/driver_prometheus_update_dynamic.json   | 166 +++--
.../transformer_prometheus_update_dynamic.json     |  11 +-
.../resources/prometheus/prometheus_conf.yaml      |  22 +
.../templates/parameters/with_extra_param_def.yaml |  43 ++
.../parameters/with_missing_param_def.yaml         |  37 ++
.../templates/parameters/with_params.yaml          |  41 ++
.../templates/parameters/without_params.yaml       |  32 +
.../templates/v3_templates/valid_actions.yaml      |  63 ++
.../templates/v3_templates/valid_conditions.yaml   |  58 ++
.../nova/base_nova_instance_transformer.py         |  10 +-
.../test_instance_transformer_snapshot_events.py   |   3 +-
.../prometheus/test_prometheus_driver.py           | 202 +++++-
.../prometheus/test_prometheus_transformer.py      |  68 +-
.../datasources/test_alarm_transformer_base.py     |  34 +-
.../template_loading/test_template_loading_v3.py   | 451 +++++++++++++
.../template_loading/v2/test_template_loader.py    |   4 +-
.../content/v1/test_parameters_validator.py        |  40 ++
.../content/v2/test_parameters_validator.py        | 200 ++++++
.../test_template_syntax_validator.py              |  17 +-
.../test_template_validator_v3.py                  | 346 ++++++++++
.../test_jaccard_correlation.py                    |  39 +-
131 files changed, 5846 insertions(+), 1158 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index bee35a9..2deac1f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -18,0 +19 @@ python-troveclient>=2.2.0 # Apache-2.0
+python-zaqarclient >=1.2.0
@@ -53,0 +55,2 @@ tenacity>=4.9.0
+tooz>=1.58.0 # Apache-2.0
+psutil>=5.4.3 # BSD
\ No newline at end of file
diff --git a/test-requirements.txt b/test-requirements.txt
index 1cee643..b39f308 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -14,0 +15 @@ mock>=2.0.0 # BSD
+zake>=0.1.6 # Apache-2.0






More information about the Release-announce mailing list