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
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
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
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
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
- 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
* 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
Event processing and api handling should be able to run in parallel.
Change-Id: Ia70fe97f926f854a7c9c3c860064cb0997f639ed
Depends-On: I84268a8ff458374f40d09854fa64f6e66034ca27
Depends-On: Id1b7470cae1d85a0b6cc1a9c9cf0c4cf97bae641
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
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
* 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
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>
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
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
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
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