[release-announce] [vitrage] vitrage 1.4.0 (ocata)

no-reply at openstack.org no-reply at openstack.org
Wed Jan 25 19:00:52 UTC 2017


We are jazzed to announce the release of:

vitrage 1.4.0: The OpenStack RCA Service

This release is part of the ocata release series.

The source is available from:

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

Download the package from:

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

For more details, please see below.

Changes in vitrage 1.3.0..1.4.0
-------------------------------

329fe51 Support post event API
3fc88cb fix tempests in gate
c771ad1 Neighbor validation for static datasource transformer
bc81ada Remove evacuate - this functionality is not working well, and should not be a part of Vitrage.
180d557 Updated Vitrage documentation and architecture diagram
1c82d12 update the collectd readme
2ee6bef Rename `static_info_re` to `static_info` to avoid confusion
a694084 Implement static datasource transformer
f9bdab1 small changes
4120ea1 Some fixes in the tests
edc2862 add collectd datasource
42609df test fix
0d0bcf0 Add update neighbors tests
73f97e1 Fix warning from PyCharm: Default argument value is mutable
e5ff9a0 Transformers refactoring
e67b908 Tempests fix
9bd11b9 Vitrage Topology graph-type=tree requires filter
2c1432c Implement Doctor datasource for handling alarms coming from OPNFV Doctor monitor Implements: blueprint doctor-datasource
9844aa0 Tempsets exception raise change
d57af32 Implement aodh alarm notification
ca16897 enable blank relationships in template
21fb960 Updated from global requirements
f1865eb Replaces uuid.uuid4 with uuidutils.generate_uuid()
ffe967b enrich_event should not be a static method
fcd49f8 change vitrage.conf to work with username vitrage instead of admin
e88d96f add aodh functional tests
3f9fbdb Implement static datasource driver
483dfdb tox.ini changes due to kombu 4.0.1 dependency
2627a89 Use assertGreater(len(x), y) instead of assertTrue(len(x) > y)
54d1f07 Updated from global requirements
fe3a8e9 heat tempest fix
bd02779 enable heat in gate
22f94b5 Separate common fields from TemplateFields
6110c6c add aodh transformer unit test
074d119 restore checking the action about alarm with 'ok' state
6d759a8 add prints for exceptions
8bc5dca Updated from global requirements
2125293 Bug fix: When creating a vertex by the evaluator transformer, take only parameters that are not None. Otherwise, a None parameter may overwrite a "real" parameter that already exists on the vertex.
e41ab6e Replaced e.message with str(e)
d2e46d1 Changed the home-page link
a801b00 Move utility methods from `common/utils` to `utils`
c7f2468 change constants names
d32c2b1 refactor the '_extract_action_type' function
9cb1be7 support cors
aac14c5 rename internal vitrage properties
f130ef5 Show team and repo badges on README
1e81777 Updated from global requirements
931921f test for removing is_deleted edges
2be46ca remove is_deleted edges
fd464e5 Use more specific asserts in tests
70d9ab8 update the clean stage to clean all config data
ca82e62 Updated from global requirements
bb5e94e skip heat tempest temporary
c892333 Replace six.iteritems with dict.items()
4e6bcce resolve the conflict about event_type in different namespace
74c65ea Skeleton for static datasource
9b44077 bug fix in heat. 1. show heat stack in error state. 2. event property changed to "project" insead of "project_id"
29f5cf4 Refactoring common/file_utils.py
67f4ad3 template str dependant uuid
e2b21d5 Beautify, correct URLs in documentation files
6e64f0a delete 'resource_id' as a component of key_values
b98919d Add apache license to source files
9cad273 Replace deprecated LOG.warn with warning LOG
8c2d94b remove edges which are is_deleted=true
1cfa87f Fix warnings in PyCharm
917dbb8 Don't include openstack/common in flake8 exclude list
985cc18 Add notice to nagios devstack installation
a784457 use aodh alarm_id as alarm_key
eab6a2e fix the parameter type of input and output
d32898e Modify variable's using method in Log Messages
4170911 evaluator fix for startup phase
4f06e3a Multi tenancy for topology, alarms and rca apis.
07dcbc3 Fixed some diagrams
0ff6eec Heat.stack datasource values fix
f94d0df Added Comprised relationship to constants
d6d4f4c Shorten rescheduler test time
36fb360 Re-indent lines and add code block
7667274 Add details to config nagios GUI, re-indent lines
184d885 Clarify zabbix with vitrage installation guide
f414ac7 Drop *openstack/common* in flake8 exclude list
c50bf9e delete useless input parameter
d38d7ee fix the error URL in nagios-devstack-installation.rst
01125f2 Stop adding ServiceAvailable group option
6527733 Enable release notes translation
9f0c14b Updated from global requirements
589d16e Maintain releasenotes for vitrage
980b976 RCA API changes
1e3988b Change RCA API to index
104c06f Correct installation file name stack -> stack.sh
ea1ab3c Updated from global requirements
7f9226b rename vitrage engine to vitrage service
5e05d16 Documentation updates
271bad0 make the os clients dynamiclly imported
9295b09 Correct reraising of exception


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

README.rst                                         |  17 +-
devstack/README.rst                                |  23 +-
devstack/gate_hook.sh                              |   7 +
devstack/plugin.sh                                 |  14 +-
devstack/settings                                  |   8 +-
etc/vitrage/api-paste.ini                          |   6 +-
etc/vitrage/datasources_values/collectd.yaml       |  17 ++
etc/vitrage/datasources_values/doctor.yaml         |  12 +
etc/vitrage/datasources_values/heat.stack.yaml     |  30 +-
etc/vitrage/policy.json                            |  20 +-
.../templates.sample/host_down_scenarios.yaml      |  70 +++++
initial.txt                                        |   2 +-
releasenotes/notes/.placeholder                    |   0
releasenotes/source/_static/.placeholder           |   0
releasenotes/source/_templates/.placeholder        |   0
releasenotes/source/conf.py                        |  78 +++++
releasenotes/source/index.rst                      |  17 ++
releasenotes/source/unreleased.rst                 |   5 +
requirements.txt                                   |  22 +-
setup.cfg                                          |   4 +-
test-requirements.txt                              |  23 +-
tox.ini                                            |   8 +-
vitrage/api/controllers/__init__.py                |  15 +
vitrage/api/controllers/v1/alarm.py                |  21 +-
vitrage/api/controllers/v1/event.py                |  53 ++++
vitrage/api/controllers/v1/rca.py                  |  21 +-
vitrage/api/controllers/v1/root.py                 |   2 +
vitrage/api/controllers/v1/topology.py             |  30 +-
vitrage/api/policy.py                              |   2 +-
vitrage/api_handler/apis.py                        | 283 ------------------
vitrage/api_handler/apis/__init__.py               |  15 +
vitrage/api_handler/apis/alarm.py                  | 102 +++++++
vitrage/api_handler/apis/base.py                   | 216 ++++++++++++++
vitrage/api_handler/apis/event.py                  |  62 ++++
vitrage/api_handler/apis/rca.py                    | 150 ++++++++++
vitrage/api_handler/apis/template.py               | 122 ++++++++
vitrage/api_handler/apis/topology.py               | 205 +++++++++++++
vitrage/api_handler/service.py                     |  14 +-
vitrage/clients.py                                 | 116 --------
vitrage/cmd/graph.py                               |   3 +-
vitrage/common/constants.py                        |  60 ++--
vitrage/common/datetime_utils.py                   |  30 --
vitrage/common/file_utils.py                       |  62 ----
vitrage/common/utils.py                            |   3 +-
vitrage/datasources/alarm_driver_base.py           |  55 ++--
vitrage/datasources/alarm_transformer_base.py      |  36 +--
vitrage/datasources/aodh/__init__.py               |   2 +-
vitrage/datasources/aodh/driver.py                 | 188 +++++++++++-
vitrage/datasources/aodh/properties.py             |   9 +
vitrage/datasources/aodh/transformer.py            |  21 +-
vitrage/datasources/cinder/volume/driver.py        |  17 +-
vitrage/datasources/cinder/volume/transformer.py   |  81 ++---
vitrage/datasources/collectd/__init__.py           |  40 +++
.../collectd/collectd_vitrage/__init__.py          |  15 +
.../collectd/collectd_vitrage/getsigchld.py        |  24 ++
.../collectd/collectd_vitrage/plugin.py            | 155 ++++++++++
.../datasources/collectd/collectd_vitrage/readme   |  32 ++
.../collectd/collectd_vitrage/vitrageplugin.py     | 100 +++++++
vitrage/datasources/collectd/driver.py             |  94 ++++++
vitrage/datasources/collectd/properties.py         |  23 ++
vitrage/datasources/collectd/transformer.py        | 103 +++++++
vitrage/datasources/consistency/transformer.py     |  10 +-
vitrage/datasources/doctor/__init__.py             |  37 +++
vitrage/datasources/doctor/driver.py               | 117 ++++++++
vitrage/datasources/doctor/properties.py           |  40 +++
vitrage/datasources/doctor/transformer.py          | 102 +++++++
vitrage/datasources/driver_base.py                 |  44 ++-
vitrage/datasources/heat/stack/driver.py           |  23 +-
vitrage/datasources/heat/stack/transformer.py      |  56 ++--
vitrage/datasources/launcher.py                    |   3 +-
vitrage/datasources/listener_service.py            |   7 +-
vitrage/datasources/nagios/config.py               |   2 +-
vitrage/datasources/nagios/driver.py               |   5 +-
vitrage/datasources/nagios/transformer.py          |  55 +---
vitrage/datasources/neutron/base.py                |   4 +-
vitrage/datasources/neutron/network/driver.py      |  13 +-
vitrage/datasources/neutron/network/transformer.py |   8 +-
vitrage/datasources/neutron/port/driver.py         |  13 +-
vitrage/datasources/neutron/port/transformer.py    |  73 ++---
vitrage/datasources/nova/__init__.py               |  13 +
vitrage/datasources/nova/host/driver.py            |   4 +-
vitrage/datasources/nova/host/transformer.py       |  59 +---
vitrage/datasources/nova/instance/driver.py        |  13 +-
vitrage/datasources/nova/instance/transformer.py   |  63 ++--
vitrage/datasources/nova/nova_driver_base.py       |   4 +-
vitrage/datasources/nova/zone/driver.py            |   6 +-
vitrage/datasources/nova/zone/transformer.py       |  97 +++---
vitrage/datasources/rescheduler.py                 |   4 +-
vitrage/datasources/resource_transformer_base.py   |  25 --
vitrage/datasources/services.py                    |  16 +-
vitrage/datasources/static/__init__.py             |  51 ++++
vitrage/datasources/static/driver.py               | 141 +++++++++
vitrage/datasources/static/transformer.py          | 113 +++++++
vitrage/datasources/static_physical/driver.py      |  55 ++--
vitrage/datasources/static_physical/transformer.py |  60 ++--
vitrage/datasources/transformer_base.py            | 162 ++++++----
.../datasources/zabbix/auxiliary/zabbix_vitrage.py |   5 +-
vitrage/datasources/zabbix/driver.py               |  13 +-
vitrage/datasources/zabbix/transformer.py          |  56 +---
.../consistency/consistency_enforcer.py            |  19 +-
.../mappings/datasource_info_mapper.py             |   4 +-
vitrage/entity_graph/processor/entity_graph.py     |   2 +-
vitrage/entity_graph/processor/processor.py        |  34 +--
vitrage/entity_graph/transformer_manager.py        |  40 +--
vitrage/evaluator/actions/action_executor.py       |   8 +-
.../actions/evaluator_event_transformer.py         |  25 +-
vitrage/evaluator/scenario_evaluator.py            |  19 +-
vitrage/evaluator/scenario_repository.py           |  14 +-
vitrage/evaluator/template_fields.py               |  19 +-
vitrage/evaluator/template_validation/base.py      |   2 +-
.../template_validation/status_messages.py         |  10 +-
.../template_content_validator.py                  |  22 +-
.../template_syntax_validator.py                   |  51 ++--
vitrage/graph/algo_driver/algorithm.py             |  53 +++-
vitrage/graph/algo_driver/networkx_algorithm.py    |  77 ++++-
vitrage/graph/algo_driver/sub_graph_matching.py    |   5 +-
vitrage/graph/driver/graph.py                      |  30 +-
vitrage/graph/driver/networkx_graph.py             |  29 +-
vitrage/graph/utils.py                             |   6 +-
vitrage/notifier/plugins/aodh/aodh_notifier.py     |   4 +-
vitrage/notifier/plugins/nova/__init__.py          |   5 -
vitrage/notifier/plugins/nova/nova_notifier.py     |  34 +--
vitrage/opts.py                                    |   4 +-
vitrage/os_clients.py                              | 131 ++++++++
.../functional/datasources/nagios/test_nagios.py   |   3 +-
.../static_physical/test_static_physical.py        |   2 +-
.../entity_graph/consistency/test_consistency.py   |   4 +-
.../states/test_datasource_info_mapper.py          |  10 +-
.../functional/evaluator/test_action_executor.py   |  20 +-
.../evaluator/test_scenario_evaluator.py           |   5 +-
.../driver/driver_aodh_update_dynamic.json         |  11 +
.../driver/driver_collectd_update_dynamic.json     |  11 +
.../driver/driver_consistency_update_dynamic.json  |   8 +-
.../driver/driver_doctor_update_dynamic.json       |  13 +
.../driver/driver_host_snapshot_dynamic.json       |   6 +-
.../driver/driver_inst_snapshot_dynamic.json       |   6 +-
.../driver/driver_inst_update_dynamic.json         |   6 +-
.../driver/driver_nagios_snapshot_dynamic.json     |   6 +-
.../driver/driver_stack_snapshot_dynamic.json      |   8 +-
.../driver/driver_stack_update_dynamic.json        |  10 +-
.../driver/driver_static_snapshot_dynamic.json     |  11 +
.../driver/driver_static_snapshot_static.json      |   6 +
.../driver/driver_switch_snapshot_dynamic.json     |   6 +-
.../driver/driver_volume_snapshot_dynamic.json     |   6 +-
.../driver/driver_volume_update_dynamic.json       |   8 +-
.../driver/driver_zabbix_snapshot_dynamic.json     |   6 +-
.../driver/driver_zone_snapshot_dynamic.json       |   6 +-
.../transformer_aodh_snapshot_dynamic.json         |  37 +++
.../transformer_aodh_update_dynamic.json           |  37 +++
.../transformer_collectd_update_dynamic.json       |  15 +
.../transformer_doctor_update_dynamic.json         |  16 +
.../transformer_host_snapshot_static.json          |   4 +-
.../transformer_inst_snapshot_dynamic.json         |   8 +-
.../transformer_inst_snapshot_static.json          |   2 +-
.../transformer_zone_snapshot_static.json          |   4 +-
.../static_datasources/switch_to_host.yaml         |  64 ++++
.../datasources/aodh/aodh_transformer_base_test.py | 114 +++++++
.../unit/datasources/aodh/test_aodh_driver.py      | 222 ++++++++++++++
.../unit/datasources/aodh/test_aodh_transformer.py | 153 ++++++++++
.../cinder/test_cinder_volume_transformer.py       |   6 +-
.../datasources/collectd/test_collectd_driver.py   |  87 ++++++
.../collectd/test_collectd_transformer.py          | 116 ++++++++
.../consistency/test_consistency_transformer.py    |   6 +-
.../unit/datasources/doctor/test_doctor_driver.py  | 134 +++++++++
.../datasources/doctor/test_doctor_transformer.py  | 121 ++++++++
.../heat/test_heat_stack_transformer.py            |   6 +-
.../unit/datasources/nagios/test_nagios_driver.py  |   8 +-
.../datasources/nagios/test_nagios_transformer.py  |  21 +-
.../datasources/nova/test_nova_host_transformer.py |  73 ++---
.../nova/test_nova_instance_transformer.py         | 321 ++++++++++++++++++++
.../nova/test_nova_instance_transformers.py        | 309 -------------------
.../datasources/nova/test_nova_zone_transformer.py |  69 +++--
.../unit/datasources/static/test_static_driver.py  | 118 ++++++++
.../datasources/static/test_static_transformer.py  | 141 +++++++++
.../static_physical/test_static_physical_driver.py |  17 +-
.../test_static_physical_transformer.py            |   5 +-
.../datasources/test_alarm_transformer_base.py     |  84 ++++++
.../unit/datasources/test_rescheduler_functions.py |  20 +-
.../unit/datasources/test_transformer_base.py      |  32 ++
.../unit/datasources/zabbix/test_zabbix_driver.py  |   6 +-
.../datasources/zabbix/test_zabbix_transformer.py  |  21 +-
.../unit/entity_graph/processor/test_processor.py  | 127 ++++++--
.../unit/evaluator/test_scenario_repository.py     |   4 +-
.../evaluator/test_template_content_validator.py   |   7 +-
.../evaluator/test_template_syntax_validator.py    |   8 +-
vitrage/utils/__init__.py                          |  39 ++-
vitrage/utils/datetime.py                          |  36 +++
vitrage/utils/file.py                              |  66 +++++
249 files changed, 7802 insertions(+), 2426 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 6796f74..17d1f51 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +5 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -7 +7 @@ Babel>=2.3.4 # BSD
-lxml>=2.3 # BSD
+lxml!=3.7.0,>=2.3 # BSD
@@ -11 +11 @@ python-dateutil>=2.4.2 # BSD
-python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0
+python-keystoneclient>=3.8.0 # Apache-2.0
@@ -14 +14 @@ python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
-python-heatclient>=1.4.0 # Apache-2.0
+python-heatclient>=1.6.1 # Apache-2.0
@@ -17,4 +17,4 @@ networkx>=1.10 # BSD
-oslo.config>=3.14.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
+oslo.policy>=1.17.0 # Apache-2.0
@@ -23 +23 @@ oslo.i18n>=2.1.0 # Apache-2.0
-pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD
+pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
@@ -26,2 +26,2 @@ Werkzeug>=0.7 # BSD License
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
-stevedore>=1.16.0 # Apache-2.0
+keystonemiddleware>=4.12.0 # Apache-2.0
+stevedore>=1.17.1 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 1d9c516..bcb362e 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7,2 +7,2 @@ python-dateutil>=2.4.2 # BSD
-coverage>=3.6 # Apache-2.0
-lxml>=2.3 # BSD
+coverage>=4.0 # Apache-2.0
+lxml!=3.7.0,>=2.3 # BSD
@@ -14 +14 @@ python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
-python-heatclient>=1.4.0 # Apache-2.0
+python-heatclient>=1.6.1 # Apache-2.0
@@ -17,3 +17,3 @@ pyzabbix>=0.7.4 # LGPL
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
-oslo.log>=1.14.0 # Apache-2.0
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
+oslo.log>=3.11.0 # Apache-2.0
+oslosphinx>=4.7.0 # Apache-2.0
@@ -22,2 +22,2 @@ oslo.service>=1.10.0 # Apache-2.0
-oslo.config>=3.14.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
@@ -25,2 +25,2 @@ oslo.i18n>=2.1.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
-pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD
+oslo.policy>=1.17.0 # Apache-2.0
+pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
@@ -31 +31 @@ testtools>=1.4.0 # MIT
-stevedore>=1.16.0 # Apache-2.0
+stevedore>=1.17.1 # Apache-2.0
@@ -33,0 +34 @@ sympy>=0.7.6 # BSD
+reno>=1.8.0 # Apache-2.0





More information about the Release-announce mailing list