[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