)]}'
{"doc/source/installation-and-configuration.rst":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"d4aef7af56f85bc6de5f50fff5d1a9b413a058cd","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* `Zabbix Configuration \u003chttp://docs.openstack.org/developer/vitrage/zabbix_vitrage.html\u003e`_"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* `SNMP Sender Configuration \u003chttps://github.com/openstack/vitrage/blob/master/doc/source/notifier-snmp-plugin.rst\u003e`_"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_7a0f5d2e","line":50,"range":{"start_line":50,"start_character":2,"end_line":50,"end_character":117},"updated":"2017-03-19 10:00:35.000000000","message":"You better write the html file, like all others. After the change is merged, an html file will be automatically generated and placed under http://docs.openstack.org/developer/vitrage (and it will look much nicer than the rst file)","commit_id":"9cdf03ac03746537c4197969db09b47aefb16023"}],"doc/source/notifier-snmp-plugin.rst":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9440beb506a51bbc3de658f8913d35e03a2d45d4","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Vitrage Notifier plugins - SNMP"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Overview"},{"line_number":6,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":7,"context_line":"The Evaluator may determine that an alarm should be created, deleted or otherwise updated."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Other components are notified of such changes by the Vitrage Notifier service. Among others, Vitrage Notifier is responsible for sending snmp traps for raised and deleted deduced alarms."}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a1ff146_3336d6e6","line":6,"range":{"start_line":5,"start_character":0,"end_line":6,"end_character":8},"updated":"2017-03-16 12:43:40.000000000","message":"Please add a link to this page in installation-and-configuration.rst","commit_id":"51348e86b40f875230807c4351d761d84f66a028"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9440beb506a51bbc3de658f8913d35e03a2d45d4","unresolved":false,"context_lines":[{"line_number":20,"context_line":"--------------------------------"},{"line_number":21,"context_line":"1. The default SNMP sender: ``vitrage.notifier.plugins.snmp.snmp_sender.py``, in order to use it:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":" - Add to ``vitrage.conf``:"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    * [snmp]"},{"line_number":26,"context_line":"    * consumers \u003d \u003cpath to consumers yaml file\u003e"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a1ff146_73276eb6","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":27},"updated":"2017-03-16 12:43:40.000000000","message":"You also need to add:\nnotifiers: snmp\n\nRight?","commit_id":"51348e86b40f875230807c4351d761d84f66a028"}],"vitrage/notifier/plugins/snmp/base.py":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"30e27747d1d27eac25712d2fcdf4020ccbf7574b","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":20,"context_line":"class SnmpSenderBase(object):"},{"line_number":21,"context_line":"    \"\"\"Abstract Vitrage snmp trap sender\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def __init__(self, conf):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_1b71afa8","line":20,"range":{"start_line":20,"start_character":6,"end_line":20,"end_character":29},"updated":"2017-02-23 14:39:56.000000000","message":"do we relay need a base class here ?\nare there going to be many implementations ?","commit_id":"0454ceedae5e81c391e575bae0caa5035ddc7c49"}],"vitrage/notifier/plugins/snmp/snmp_notifier.py":[{"author":{"_account_id":19122,"name":"Alexey Weyl","email":"aloshaweyl@gmail.com","username":"alexey_weyl"},"change_message_id":"1cb6c364dbc6c11150b05b8d6465600373ec6aad","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def process_event(self, data, event_type):"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        if event_type \u003d\u003d NotifierEventTypes.ACTIVATE_DEDUCED_ALARM_EVENT \\"},{"line_number":38,"context_line":"                or event_type \u003d\u003d \\"},{"line_number":39,"context_line":"                NotifierEventTypes.DEACTIVATE_DEDUCED_ALARM_EVENT:"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"            LOG.info(\u0027Vitrage snmp Info: Sending snmp trap\u0027)"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_5d3eadda","line":39,"range":{"start_line":37,"start_character":11,"end_line":39,"end_character":65},"updated":"2017-03-22 06:40:52.000000000","message":"check with Idan if you also handle edges here or only vertices.","commit_id":"9018c4915dd680031e016cc4c9140ef0294fe3cf"}],"vitrage/notifier/plugins/snmp/snmp_sender.py":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"7ca688cf163998e2b4a198e22c872419dbfd0efb","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        alarm_name \u003d alarm_data.get(VProps.NAME, None)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        if not alert_severity_oid and \\"},{"line_number":63,"context_line":"                self.oids.get(SEVERITY, None):"},{"line_number":64,"context_line":"            return"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        alert_details \u003d self.alarm_mapping.get(alarm_name, None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_bb00a302","line":63,"range":{"start_line":63,"start_character":40,"end_line":63,"end_character":44},"updated":"2017-02-23 14:38:46.000000000","message":"None is the default no need to put this","commit_id":"0454ceedae5e81c391e575bae0caa5035ddc7c49"},{"author":{"_account_id":19122,"name":"Alexey Weyl","email":"aloshaweyl@gmail.com","username":"alexey_weyl"},"change_message_id":"1cb6c364dbc6c11150b05b8d6465600373ec6aad","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    def _get_var_binds(self, alert_values):"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        var_binds \u003d [(self.oids[field],"},{"line_number":120,"context_line":"                      OctetString(alert_values.get(field, \u0027NA\u0027)))"},{"line_number":121,"context_line":"                     for field in self.var_fields]"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        return var_binds"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_b81b2f72","line":120,"range":{"start_line":120,"start_character":58,"end_line":120,"end_character":62},"updated":"2017-03-22 06:40:52.000000000","message":"if this is a constant that is used in another place in the code please define a constant for it.","commit_id":"9018c4915dd680031e016cc4c9140ef0294fe3cf"}],"vitrage/tests/unit/notifier/snmp_notifier/test_snmp_sender_with_severity_map.py":[{"author":{"_account_id":19122,"name":"Alexey Weyl","email":"aloshaweyl@gmail.com","username":"alexey_weyl"},"change_message_id":"1cb6c364dbc6c11150b05b8d6465600373ec6aad","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        self.assertEqual(len(var_binds), 3)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        self.assertIn((oid_with_alarm_objects + \u0027.\u0027 + common.NAME_OID,"},{"line_number":82,"context_line":"                      OctetString(common.alarm_data.get(VProps.NAME, \u0027NA\u0027))),"},{"line_number":83,"context_line":"                      var_binds)"},{"line_number":84,"context_line":"        self.assertIn((oid_with_alarm_objects + \u0027.\u0027 + common.IS_DELETED_OID,"},{"line_number":85,"context_line":"                       OctetString(common.alarm_data.get"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_f875a797","line":82,"range":{"start_line":82,"start_character":69,"end_line":82,"end_character":73},"updated":"2017-03-22 06:40:52.000000000","message":"use the constant","commit_id":"9018c4915dd680031e016cc4c9140ef0294fe3cf"}]}
