Commit Graph

30 Commits (master)

Author SHA1 Message Date
Ghanshyam Mann 017210703c [goal] Deprecate the JSON formatted policy file
As per the community goal of migrating the policy file
the format from JSON to YAML[1], we need to do two things:

1. Change the default value of '[oslo_policy] policy_file''
config option from 'policy.json' to 'policy.yaml' with
upgrade checks.

2. Deprecate the JSON formatted policy file on the project side
via warning in doc and releasenotes.

Also replace policy.json to policy.yaml ref from doc and tests.

[1]https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html

Change-Id: Id369108f00acb6977bf24f48ff77b45a69b2908f
2 years ago
jiasirui ac2978f0aa it will not be printed using LOG.info
Depends-On: https://review.opendev.org/#/c/701543/
Change-Id: I2dc31522df85d145041d8967ce5d639cc0b7c4fa
3 years ago
Ivan Kolodyazhny abb6164722 Add ability to upgrade db
This commit adds support for database migrations via alembic.

First revision corresponds to Train release.

Co-Authored-By: Oleksiy Petrenko <opetrenko@mirantis.com>
Change-Id: I50eae6ae50a924ce5b325fc6637404902c035f7f
Implements: blueprint db-upgrade
4 years ago
Ivan Kolodyazhny 66c608cb56 Refactor vitrage to use global CONF instead of local one
Remove usage of local config object in Vitrage
services and tests. Instead, it's been replaced
with the global CONF object. The structure of the
code becomes more like in other OpenStack projects.
Also, this change provides an opportunity to
introduce migrations and tests for them.

Story: 2004059
Task: 27065
Change-Id: I37544a350adf8ca38a6fc4ff5d0fd96e38a3f922
4 years ago
Zuul 6777012bc3 Merge "Change init fork order" 5 years ago
Idan Hefetz 81e3d950cd Change init fork order
Workers should be forked right at the start, to avoid forked processes
containing allot of irrelevant objects.
Instead of depending on forked memory to receive the graph, workers
will load the graph from the database once it is available.

APIs should be refused until vitrage-graph is fully loaded. This was
previously supported because API processes were only started when ready.

GraphInit waits untill all worker processes are started and listen on
the multiprocessing queue.

Change-Id: I67eed9f6e87b58b8a085c13e7467ebeed8ab8751
Depends-On: Ieecaedbed1cf9069756a2b87347d289fbb532e6d
5 years ago
Zuul a11c91e2ae Merge "Add framework for vitrage-status upgrade check" 5 years ago
akhiljain23 3a83fc8b9d Add framework for vitrage-status upgrade check
This commit adds the functionality of vitrage-status CLI for performing
upgrade checks as part of the Stein cycle upgrade-checkers goal.
It only includes a sample check which must be replaced by real checks in
future.

Change-Id: Ib0c880b15a2f99a4db75654b5c41c6f10d9261af
Story: 2003657
Task: 26163
5 years ago
Idan Hefetz 842f9d6cea Complete removal of vitrage-collector service.
- vitrage-graph will execute the drivers.
 - Simplify large data transfer from drivers to processor by obsoleting rpc.
 - Drivers don't need to create the complete list by taking advantage of python
   generators in order to conserve memory.
 - Lowering the total signiture of vitrage processes.
 - LockByDriver will enforce a driver does not run get_changes and get_all in parallel.

Story: 2004384
Change-Id: Ie713456b2df96e24d0b15d2362a666162bfb4300
5 years ago
Anna Reznikov 114966027c alarm and RCA history support
Change-Id: I03a303e79ee12a399d32db3bfebad98eef50b52d
Depends-On: I67a3c35d7bc96d966a90e962f197beebca7e0298
5 years ago
Idan Hefetz fb4088c32c Graph fast fail-over
* Initialize quickly upon fail-over without requesting updates.
* In case of downtime, Vitrage-graph startup will requests collector updates
* vitrage-persistor has an expirer timer to remove old db events

Story: 2002663
Task: 22473
Change-Id: Icccf230e69c41a2f115c0797e60df774db637594
Depends-On: I042665e0d642ba36a97af84a6dc0581888025207
Depends-On: Id5dbd165a1e0220e4e24207e8d237f94415fc490
5 years ago
Idan Hefetz ad35fd527f move db deletion from main to graph_init
Change-Id: I9df3b8b7a9fbecb5e112e36af7bbcdce9f35c293
5 years ago
Idan Hefetz 7d484d979c separate api handler to a dedicated process
Event processing and api handling should be able to run in parallel.

Change-Id: Ia70fe97f926f854a7c9c3c860064cb0997f639ed
Depends-On: I84268a8ff458374f40d09854fa64f6e66034ca27
Depends-On: Id1b7470cae1d85a0b6cc1a9c9cf0c4cf97bae641
5 years ago
Eyal 6acd8b2b8d try cotyledon
Depends-On: Id4e3b9c866b867f9e9a1f03d05d22ac53c270b86
Change-Id: I928d6c570061afd1e684808e74cefca7672b31d1
5 years ago
Idan Hefetz d8f14571ac rpc collector
active-active Collector service, detached from vitrage-graph service,
 exposing it's methods by RPC, so to only run when needed.

Change-Id: I4a72420b5096e8483e5e99cceb16d99798c3bbe7
implements: blueprint rpc-collector
5 years ago
Idan Hefetz af3ab0fdd2 refactoring vitrage processes
oslo service replaced by cotyledon.
Motivation:
Oslo service uses eventlet and green threads for timers and threads.
In Vitrage we use real threads and multiprocessing, it seems this 
combination causes unexpected behavior (such as timers not running, 
processes not starting) so the entire solution is very delicate to 
changes.

As part of an ongoing effort (previously, monkeypatching was removed)
this commit solves issues encountered in rpc_collector commit in 
addition it removes unnecessary complications in the application.

Co-Authored-By: Eyal <eyal.bar-ilan@nokia.com>
Change-Id: If33708e128d7aeb420a9aa79f71cfccd2b48dfb3
5 years ago
idan kinory f381a42583 support adding and deleting templates without the need to restart vitrage.
* templates are now stored in the database.
* evaluator is reloaded whenever a template is added/removed.
* supporting all types of templates (standard, equivalence, definition)
* new cli commands:
  - vitrage template add
  - vitrage template delete

Change-Id: I58abf5e034662206bd6919493c95c450c0ecdf9c
Depends-On: I07741ed100b9eb70b303567706b659d10a34b156
Implements: blueprint crud-templates
5 years ago
Muhamad Najjar 9c47a1178e Graph Persistor
Store/Load graph snapshots in/from database

Part from Vitrage HA and History Vision
https://docs.openstack.org/vitrage/latest/contributor/vitrage-ha-and-history-vision.html

Change-Id: I92ca74dabc22e8991c96d7f090be9978b8c93894
5 years ago
xupeipei 90778cf903 Add snmp_parsing service
Parsing part and devstack deploy part will be added
later, with unit tests and tempest tests.

Implements: blueprint snmp-support
Change-Id: I4c3afd735a8301c215cfc50f970ecde6b2a04c6e
Signed-off-by: xupeipei <xu.peipei1@zte.com.cn>
6 years ago
Idan Hefetz 72f8164f04 use messaging instead of multiprocessing queue
Multiprocessing queue causes deadlocks and is removed.
Entity graph service now listens on two topics,
evaluator notifications should be handled with a higher priority.

Change-Id: I53f94a684c72353a7aa7b88fe7322f83ebc7194a
6 years ago
Muhamad Najjar c708a6784e Vitrage Persistor Service
Change-Id: I4c70157ef8380825bcef844b572b1747ce95b262
6 years ago
Idan Hefetz e94e7a075c Support multiprocessing parallel evaluation of Vitrage templates.
Per event template matching runs in parallel,
using N EvaluatorWorkers each holding a copy of the graph,
and executing different templates.

Change-Id: I9d777fde1ea2bc3155c3eca8a30877aedd669081
Depends-On: I2d1e31e386a2576b3a44ec5b8e15dc49d2a474d3
Implements: blueprint parallel-evaluation
6 years ago
Idan Hefetz cd72303b26 Store the Evaluator action tracker cache to db
Change-Id: Ic94ebbd5a856a293d4f5b99f653a2fe9776185ee
6 years ago
Jenkins 06dd09b332 Merge "Moving vitrage_id logic to transformer" 6 years ago
Eyal d3f7b7de29 fix the vitrage title
Change-Id: I44a9f9febbeed972475f93a1c6c006fd8a1d8fbe
6 years ago
Anna fd4159b38f Moving vitrage_id logic to transformer
every event will receive real vitrage_id in the transformer
instead of getting temporary vitrage_id in the transformer
and then replaceing it in the processor

Change-Id: I965bbe86be418df321b870a81bbf0ddab410a37e
Closes-bug: #1707609
6 years ago
Eyal 1ecb33c946 add title to services
Change-Id: If2fc1a4c73d11664b2a10f9d001bbb2a32a2e67d
6 years ago
Idan Hefetz cce475a8be sqlalchemy initial commit
Change-Id: Id3204c78b00852f6e628066de3ca46631ff84fc4
6 years ago
Anna 0b506a745d adding machine learning service
at this first step, the service includes one
plugin,this plugin use jaccard correlation
in order to measure correlation between a
pair of alarms.
once in configured amount of alarms this
service generates a report and saves it to
configured directory.

Change-Id: I2428dcf05365e6b68fb0e86ccd82554c82b94c2f
6 years ago
Eyal dbf5c610de add some tests for keycloak
rename cmd package to cli to prevent module collision when running
unittests in pycharm

Change-Id: I24625526b593eae3430c1e1320a1693bf590fe79
6 years ago