27 Commits

Author SHA1 Message Date
Sean McGinnis
db7377f476 Use unittest.mock instead of third party mock
Now that we no longer support py27, we can use the standard library
unittest.mock module instead of the third party mock lib.

Change-Id: I380f25044c8f7b496d485aabf09215468f955818
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-04-23 10:29:22 +00:00
Witek Bedyk
d47bbae4e8 Use Confluent Kafka client
The change introduces the possibility to run the persister with the new
confluent-kafka client. It has to be enabled in the configuration file.

Story: 2003705
Task: 35858

Depends-On: https://review.opendev.org/675297
Change-Id: I8d9e173e9a252712fb285c0676c26334e1f677a7
2019-09-19 15:09:23 +02:00
Jui Chandwaskar
d396753a83 Update pep8 checks
* Set max line length to 100
* Clean up code for pep8 checks

Change-Id: Ie00dc204f522fb2112f02f4151ec8a15d5523459
Signed-off-by: Jui Chandwaskar <jchandwaskar@op5.com>
2018-04-11 14:16:27 +02:00
Tomasz Trębski
e1a9b9a96a Integrate with oslo.conf and oslo.log
Change upgrades the monasca-notification to leverage
the capabilities of both oslo.log and oslo.conf:

- configuration of logging separated from application settings
- ability to enforce data types for application settings
- ability to use oslo.config-generator capabilities
- automatic configuration parsing done by oslo.cfg

That change will bring it closer to the rest of monasca
components where such transition has happened already.
However, in the rest of monasca, oslo.cfg was partially
or fully implemented whereas monasca-notification has
been relying on YAML based configuration file.

Therefore backward compatybility for such format will
be kept for now.

Story: 2000959
Task: 4093
Task: 4092

Change-Id: Ia75c3b60d0fada854178f21ca5ccb9e6a880f37f
2017-10-20 09:32:11 +02:00
Artur Basiak
722ecaa7a5 Add config option for statsd
Add new section to config file with configuration for statsd
host and port. Add modification in notification engines.
According to the monasca-agent change:
https://review.openstack.org/#/c/381417

Change-Id: I6e99bae5e50f3670ae8b4a0c7ac5af3c747bcd68
2016-12-02 07:10:52 +01:00
Cao Xuan Hoang
69f4c2b8e3 Clean imports in code
This patch set modifies lines which are importing objects
instead of modules. As per openstack import guide lines, user should
import modules in a file not objects.

http://docs.openstack.org/developer/hacking/#imports

Change-Id: I3c5c7368fb006f3691d07cef9557c20a42cc5b76
2016-10-06 15:27:06 +07:00
Michael James Hoppal
063c4f1d1d Query database to see if the periodic notificiation changes
Also added notification id to notification object we construct in the
alarm processor

Change-Id: I6ccfffc9102bec8f670df13268e244cb0c998950
2016-08-29 15:11:20 -06:00
Michael James Hoppal
79189ca811 Adding support for periodic notifications
New periodic notification engine that will take a notification send it, and then
place it back onto the periodic notification topic. Once the alarm associated
with the notification has transitioned to a state that is different from the
original state the notification is removed from the queue.

Change-Id: Ie3103a0ec30abcd8dfc53869b1c3135953aabf3a
2016-05-09 08:18:11 -06:00
bklei
f333f92709 Support dynamic mysql port via config file
This is necessary in some installations to specify a non-default
mysql port (something other than 3306).  All of the other monasca
packages allow overriding this in the config file, this change
brings monasca-notification inline with the others.

Change-Id: Ibe6ffca9e5adb13e44594531358e2a8e5da46b9d
2016-03-02 09:06:24 -07:00
Ryan Brandt
97a401027a Change email notification format
Add severity to the subject line
Add up to 10 unique dimension sets in body
Add link and lifecycle state to email body

Change-Id: I85e2e9f2382c6ebadde072967e098e8109f65bfe
2016-01-29 16:42:56 -07:00
Michal Zielonka
94f5bdbd62 Migrate from MysqlDB to pymysql
Change-Id: I61b7a35badaa4a3480a1c786152b07c17a99bf80
2015-12-16 09:51:28 +01:00
Michal Zielonka
a82a49a1e8 Add configurable database setting (mysql, postgres, orm)
We used sqlalchemy.core for execute query for orm.
The configuration of db is based on monasca-api.
The default mode is mysql connection so we can use old configuration.

Change-Id: Iebb4d6dfca6d43298ced407178e7f9673a83a7ca
2015-08-04 22:34:57 +02:00
Maciej Maciaszek
28a686d7eb Add fix for local time bug
The test 'test_old_timestamp' was not able to pass in different
timezones due to hardcoded expected datetime

Change `test_alarm_processor.py` permissions

`test_alarm_processor.py` had different permissions than other test
files. While `unittest` module could collect tests in this file,
nosetests could't do it. Nose can collect tests in this file after
permissions change

Change-Id: I2b5791e7b352fbb0c05bc665b4000c412b63f1ef
2015-07-01 09:15:28 +02:00
Craig Bryant
c4b469c11d AlarmStateTransitionedEvent timestamp now in ms
This will ensure a unique timestamp. Influx V9 will only keep one
entry with the same timestamp

Some of the tests weren't using a numerica timestamp which caused
problems when the code tried to divide the timestamp by 1000

Change-Id: Ie0fefc61abe9a95503fa7611971a21ed2cb56224
2015-04-16 13:31:40 -06:00
Joe Keen
9f0e65028f Added retry engine to notification system
Change-Id: Iea1a05c1b7336b9e3e8aeb972e0f9ba1b7f74d69
2015-02-09 11:40:02 -07:00
Joe Keen
3eb169fac3 Notification engine refactored from many processes to one
Squished the notification down to one process in preparation for making
multiple engine instances able to talk to the same topic.

Added HA capabilities to the KafkaConsumer object.

Change-Id: Id4799d690c7caf10ae7ba89c2d4e0aeb76c54375
2015-01-30 11:59:57 -07:00
Steven Travis
ebc3c7fc89 Updated email notification
Change-Id: I7e8482b8c1f908ebe505a2f85eeca8397a12b9bf
2014-11-23 12:44:33 -07:00
Craig Bryant
eed5a4ad16 Changes for alarmed metrics
Use alarmDefintionId instead of alarmId to find the right notificaion.
Further changes are needed to complete this change.

Change-Id: I577559fd085261f01a36355095fa1c04a72fb9c9
2014-09-30 12:35:29 -06:00
Tim Kuhlman
e6e54c6576 Rename to monasca, setup for tox, removed legacy bits
Removed manual tests which are no longer valid with a modern mini-mon
Removed debian creation bits all distribution is with pypi now
Minor pep8 fixes

Change-Id: I1f2fc4d0ad6375f4c39446f9627247945066e4ad
2014-07-16 15:59:00 -06:00
Roland Hochmuth
78d7ce32d5 Added copyright header, LICENSE and HACKING.rst. 2014-05-01 12:27:06 -06:00
Tim Kuhlman
d481dd874c Fixed tests to match updated alarmtransition fields 2014-04-17 15:47:40 -06:00
Tim Kuhlman
a77fd0406d Added first notification processor test 2014-03-21 17:13:06 -06:00
Tim Kuhlman
bf33a2be6f pep8/flake8 formatting fixes 2014-03-21 14:21:37 -06:00
Tim Kuhlman
48b2cf7ee0 Fixed test on the build box.
The test worked fine on my box but on the build box would fail.
Switching the log entry to before the queue fixed it.
2014-03-21 14:16:23 -06:00
Tim Kuhlman
f2124a7e79 The build box is slow 2014-03-21 12:34:58 -06:00
Tim Kuhlman
e1c1ddc0be Added tests of the alarm processor. 2014-03-21 12:23:12 -06:00
Tim Kuhlman
8f87f819bf Initial test using mock with the multiprocess setup. 2014-03-21 10:04:51 -06:00