We contentedly announce the release of: vitrage 6.0.0: The OpenStack RCA Service This release is part of the ussuri release series. The source is available from: https://opendev.org/openstack/vitrage Download the package from: https://tarballs.openstack.org/vitrage/ Please report issues through: https://storyboard.openstack.org/#!/project/openstack/vitrage For more details, please see below. 6.0.0 ^^^^^ New Features ************ * Starting with Train release Vitrage supports database migrations. It means that starting U release you will be able to upgrade Vitrage from the previous release. Upgrade Notes ************* * Python 2.7 support has been dropped. Last release of vitrage to support py2.7 is OpenStack Train. The minimum version of Python now supported by vitrage is Python 3.6. Changes in vitrage 5.0.0..6.0.0 ------------------------------- ac2978f0 it will not be printed using LOG.info f628ca00 [train][goal] Define new vitrage-dsvm-api-ipv6-only job 6e59549e Fix tox and update hacking 19ebcd43 Fix keycloak authentication db91c4e1 Use py3 only 352cc33b Use only py3 as base 21c05bcb Repair Vitrage-ml callback raise time fmt error 2786ca71 Repair vitrage-ml run fail. 130e6e9b Faster deletion of old vertices 0b16f2e9 Start README.rst with a better title 5ade2938 Replace git.openstack.org with opendev.org e2a792a1 Bugfix - Processor check if neighbors are newer before updating them 8122f24e fix tests b2e03404 networkx node attribute is deprecated 1aac4646 Drop python 2.7 support and testing 8c027ee3 Overcome mysql failure during Vitrage init. e71b5a45 Switch to Ussuri jobs 91a9b069 Update master for stable/train cc46fdb4 Add database migrations release note abb61647 Add ability to upgrade db dc614c8c Add _static folder to fix docs build error 95106757 Fix sampling timestamp format of deduced alarms. 6ff29e73 Fix index in counter 82a0063c Add vitrage-specs link to readme.rst e272712b Modify vitrage api 6f271598 Run vertices cleanup at the end of get_all Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 64 +---- README.rst | 16 +- devstack/README.rst | 4 +- devstack/gate_hook.sh | 12 +- devstack/gate_hook_mock.sh | 4 +- devstack/plugin.sh | 4 +- playbooks/legacy/vitrage-dsvm-api-py27/post.yaml | 80 ------- .../run-ipv6.yaml} | 13 +- .../legacy/vitrage-dsvm-datasources-py27/post.yaml | 80 ------- .../legacy/vitrage-dsvm-datasources-py27/run.yaml | 68 ------ playbooks/legacy/vitrage-dsvm-mock-py27/post.yaml | 80 ------- playbooks/legacy/vitrage-dsvm-mock-py27/run.yaml | 66 ------ playbooks/legacy/vitrage-grenade/run.yaml | 1 + .../database-migrations-ffca2f9f3283f2a2.yaml | 6 + .../notes/drop-py-2-7-6add89c8aeb58399.yaml | 6 + releasenotes/source/index.rst | 1 + releasenotes/source/train.rst | 6 + requirements.txt | 4 +- setup.cfg | 4 +- test-requirements.txt | 2 +- tools/load_generator/load_generator.py | 5 +- tox.ini | 22 +- vitrage/api/controllers/v1/alarm.py | 21 +- vitrage/cli/graph.py | 2 +- vitrage/cli/storage.py | 35 ++- vitrage/datasources/alarm_transformer_base.py | 7 +- vitrage/datasources/driver_base.py | 1 + vitrage/datasources/heat/stack/driver.py | 2 +- .../kapacitor/auxiliary/kapacitor_vitrage.py | 4 +- vitrage/datasources/kapacitor/config.py | 4 +- vitrage/datasources/kapacitor/transformer.py | 7 +- .../datasources/zabbix/auxiliary/zabbix_vitrage.py | 4 +- .../consistency/consistency_enforcer.py | 21 +- vitrage/entity_graph/driver_exec.py | 48 +++- vitrage/entity_graph/graph_init.py | 22 +- .../mappings/datasource_info_mapper.py | 6 +- vitrage/entity_graph/processor/processor.py | 17 +- vitrage/entity_graph/processor/processor_utils.py | 6 +- vitrage/entity_graph/scheduler.py | 6 +- vitrage/evaluator/actions/action_executor.py | 2 +- vitrage/graph/algo_driver/networkx_algorithm.py | 2 +- vitrage/graph/driver/networkx_graph.py | 14 +- vitrage/machine_learning/service.py | 3 +- vitrage/middleware/keycloak.py | 56 ++++- vitrage/storage/__init__.py | 8 +- vitrage/storage/base.py | 4 - vitrage/storage/impl_sqlalchemy.py | 26 --- vitrage/storage/sqlalchemy/migration/__init__.py | 91 ++++++++ vitrage/storage/sqlalchemy/migration/alembic.ini | 58 +++++ .../sqlalchemy/migration/alembic_migrations/README | 18 ++ .../migration/alembic_migrations/__init__.py | 0 .../sqlalchemy/migration/alembic_migrations/env.py | 77 ++++++ .../migration/alembic_migrations/script.py.mako | 32 +++ .../versions/4e44c9414dff_initial_migration.py | 260 +++++++++++++++++++++ .../alembic_migrations/versions/__init__.py | 0 vitrage/storage/sqlalchemy/models.py | 6 +- .../entity_graph/consistency/test_consistency.py | 6 +- .../functional/evaluator/test_action_executor.py | 2 +- .../kubernetes/test_kubernetes_transformer.py | 11 +- .../content/v1/test_mark_down_validator.py | 4 +- 71 files changed, 1036 insertions(+), 627 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index a1de30f3..6936f5e7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,0 +6 @@ pbr>=3.1.1 # Apache-2.0 +alembic>=0.9.8 # MIT @@ -6,0 +8 @@ Babel>=2.5.3 # BSD +cachetools>=2.0.1 # MIT License @@ -23 +24,0 @@ pyzabbix>=0.7.4 # LGPL -networkx<2.3,>=2.0;python_version<'3.0' # BSD @@ -54 +54,0 @@ cotyledon>=1.6.8 # Apache-2.0 -futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # BSD diff --git a/test-requirements.txt b/test-requirements.txt index b39f3082..62da7ffe 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5 +5 @@ -hacking>=1.1.0,<1.2.0 # Apache-2.0 +hacking>=1.1.0 # Apache-2.0