)]}'
{"doc/source/contributor/kapacitor-datasouce.rst":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"9a9284cfd61ce4d5c78ba5b13fd73d8e31a24e85","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ffb9cba7_1648c484","updated":"2019-05-02 13:37:52.000000000","message":"there is a spelling mistake in the name of the file\nit should be kapacitor-datasource","commit_id":"66379cc055ddbe12ad63e98784a3cefeb39b0fa0"}],"doc/source/contributor/kapacitor-datasource.rst":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Kapacitor-Vitrage"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Kapacitor will send alert to vitrage by using [ exec-handle ], send to messeage queue topic of vitrage."},{"line_number":5,"context_line":"https://docs.influxdata.com/kapacitor/v1.5/working/alerts/"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_1f3cf791","line":4,"range":{"start_line":4,"start_character":71,"end_line":4,"end_character":79},"updated":"2019-05-05 10:46:36.000000000","message":"message","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"1. Define topic , which use for alert publish to. Create file ``foward_to_vitrage.yaml``:"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"      | topic: foward_to_vitrage"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_7f4ad327","line":24,"range":{"start_line":24,"start_character":64,"end_line":24,"end_character":70},"updated":"2019-05-05 10:46:36.000000000","message":"forward","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":24,"context_line":"1. Define topic , which use for alert publish to. Create file ``foward_to_vitrage.yaml``:"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"      | topic: foward_to_vitrage"},{"line_number":28,"context_line":"      | id: foward_to_vitrage"},{"line_number":29,"context_line":"      | kind: exec"},{"line_number":30,"context_line":"      | options:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_9f47871e","line":27,"range":{"start_line":27,"start_character":15,"end_line":27,"end_character":21},"updated":"2019-05-05 10:46:36.000000000","message":"forward","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"      | topic: foward_to_vitrage"},{"line_number":28,"context_line":"      | id: foward_to_vitrage"},{"line_number":29,"context_line":"      | kind: exec"},{"line_number":30,"context_line":"      | options:"},{"line_number":31,"context_line":"      | prog: \u0027/usr/bin/python\u0027"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_1f65d7b5","line":28,"range":{"start_line":28,"start_character":12,"end_line":28,"end_character":18},"updated":"2019-05-05 10:46:36.000000000","message":"forward","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":".. code-block:: bash"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"$ kapacitor define-topic-handler ./foward_to_vitrage.yaml"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"2. Asssign your Task to topic, in Tick script define that alert, add in \"alert()\" step:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_7f73b381","line":40,"range":{"start_line":40,"start_character":35,"end_line":40,"end_character":41},"updated":"2019-05-05 10:46:36.000000000","message":"forward","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":40,"context_line":"$ kapacitor define-topic-handler ./foward_to_vitrage.yaml"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"2. Asssign your Task to topic, in Tick script define that alert, add in \"alert()\" step:"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"      | ..."},{"line_number":46,"context_line":"      | alert()"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_9f70e774","line":43,"range":{"start_line":43,"start_character":3,"end_line":43,"end_character":10},"updated":"2019-05-05 10:46:36.000000000","message":"Assign","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":45,"context_line":"      | ..."},{"line_number":46,"context_line":"      | alert()"},{"line_number":47,"context_line":"      | ..."},{"line_number":48,"context_line":"      | .topic(\u0027foward_to_vitrage\u0027)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"In case your Task aready in topic and you don\u0027t want to add another, you only need to do: append \u0027exec handler\u0027 to TICK scipt which define it."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_3f6d3b98","line":48,"range":{"start_line":48,"start_character":16,"end_line":48,"end_character":22},"updated":"2019-05-05 10:46:36.000000000","message":"forward","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":47,"context_line":"      | ..."},{"line_number":48,"context_line":"      | .topic(\u0027foward_to_vitrage\u0027)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"In case your Task aready in topic and you don\u0027t want to add another, you only need to do: append \u0027exec handler\u0027 to TICK scipt which define it."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"      | ..."},{"line_number":53,"context_line":"      | alert()"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_1f0ab7d1","line":50,"range":{"start_line":50,"start_character":18,"end_line":50,"end_character":24},"updated":"2019-05-05 10:46:36.000000000","message":"already","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":47,"context_line":"      | ..."},{"line_number":48,"context_line":"      | .topic(\u0027foward_to_vitrage\u0027)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"In case your Task aready in topic and you don\u0027t want to add another, you only need to do: append \u0027exec handler\u0027 to TICK scipt which define it."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"      | ..."},{"line_number":53,"context_line":"      | alert()"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_7ff893c3","line":50,"range":{"start_line":50,"start_character":120,"end_line":50,"end_character":125},"updated":"2019-05-05 10:46:36.000000000","message":"script","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    kapacitor:"},{"line_number":85,"context_line":"      - alert:"},{"line_number":86,"context_line":"          host: cloud.compute1    # hostname of host been raised alarm"},{"line_number":87,"context_line":"        vitrage_resouce:"},{"line_number":88,"context_line":"          type: nova.host         # resouce type of enity vitrage"},{"line_number":89,"context_line":"          name: compute-1         # resouce name of enity vitrage"},{"line_number":90,"context_line":"      - alert:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_9ff547ce","line":87,"range":{"start_line":87,"start_character":16,"end_line":87,"end_character":23},"updated":"2019-05-05 10:46:36.000000000","message":"resource","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":94,"context_line":"          name: ${kapacitor_host}"},{"line_number":95,"context_line":"      - alert:"},{"line_number":96,"context_line":"          host: (.*)"},{"line_number":97,"context_line":"        vitrage_resouce:"},{"line_number":98,"context_line":"          type: nova.instance"},{"line_number":99,"context_line":"          name: ${kapacitor_host}"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_3f021bb6","line":97,"range":{"start_line":97,"start_character":16,"end_line":97,"end_character":23},"updated":"2019-05-05 10:46:36.000000000","message":"resource","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"alarm on host have hostname `compute-99` will map to resource name `compute-99`"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Another alarm, like alarm on instance will map with resouce type ``nova.instance`` and name equal with hostname of instance"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"4. Restart vitrage service in devstack/openstack"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfbec78f_5fffcfa9","line":106,"range":{"start_line":106,"start_character":52,"end_line":106,"end_character":59},"updated":"2019-05-05 10:46:36.000000000","message":"resource","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"}],"etc/vitrage/datasources_values/kapacitor.yaml":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":14,"context_line":"      priority: 20"},{"line_number":15,"context_line":"      original values:"},{"line_number":16,"context_line":"        - name: INFO"},{"line_number":17,"context_line":"          operational_value: N/A"},{"line_number":18,"context_line":"  - aggregated values:"},{"line_number":19,"context_line":"      priority: 10"},{"line_number":20,"context_line":"      original values:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3fce034c_fa9e80b6","line":17,"range":{"start_line":17,"start_character":10,"end_line":17,"end_character":32},"updated":"2019-04-17 15:16:11.000000000","message":"N/A is not a good choice, we use it as a default when we don\u0027t know what the status means. Please chose between WARNING and OK. Or, maybe you don\u0027t want to transfer INFO alarms to Vitrage at all - this is also fine.","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"}],"releasenotes/notes/kapacitor_datasource-c0c9563bb52ff1f1.yaml":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"05e45d04764d4f0db3ef1c2cb326f345601a6ef0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - A new ``Kapacitor Datasource`` was added, to handle alerts coming"},{"line_number":4,"context_line":"    from Kapacitor. Kapacitor is a alarming engine in the TICK Stack."},{"line_number":5,"context_line":"    It is build on an Open Source core, processing metric of host or "},{"line_number":6,"context_line":"    instance store in InfluxDB to export alerts."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dfbec78f_b4f2b205","line":4,"range":{"start_line":4,"start_character":33,"end_line":4,"end_character":35},"updated":"2019-05-05 07:09:32.000000000","message":"an","commit_id":"b3e819bfa32d485ce50e074df483044f9f7ac235"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"05e45d04764d4f0db3ef1c2cb326f345601a6ef0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - A new ``Kapacitor Datasource`` was added, to handle alerts coming"},{"line_number":4,"context_line":"    from Kapacitor. Kapacitor is a alarming engine in the TICK Stack."},{"line_number":5,"context_line":"    It is build on an Open Source core, processing metric of host or "},{"line_number":6,"context_line":"    instance store in InfluxDB to export alerts."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dfbec78f_d4f726f5","line":5,"range":{"start_line":5,"start_character":68,"end_line":5,"end_character":69},"updated":"2019-05-05 07:09:32.000000000","message":"remove this space","commit_id":"b3e819bfa32d485ce50e074df483044f9f7ac235"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"6d8ad1aa8e0ce7e9f2076c35551e7b7da2fe99e8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - A new ``Kapacitor Datasource`` was added, to handle alerts coming"},{"line_number":4,"context_line":"    from Kapacitor. Kapacitor is a alarming engine in the TICK Stack."},{"line_number":5,"context_line":"    It is build on an Open Source core, processing metric of host or"},{"line_number":6,"context_line":"    instance store in InfluxDB to export alerts."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"dfbec78f_74c51a8e","line":4,"range":{"start_line":4,"start_character":33,"end_line":4,"end_character":34},"updated":"2019-05-05 07:17:22.000000000","message":"an","commit_id":"007f7b870bdc2a76df0eb9847d8f3c47d26617cb"}],"vitrage/datasources/kapacitor/__init__.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 - Vitrage team"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_1ab90c2d","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":31},"updated":"2019-04-17 15:16:11.000000000","message":"2019 :-)  \n\nAnd in most files we have the company of the developer who wrote the initial implementation (but \"Vitrage team\" is also ok)","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                    \u0027Push: updates by getting notifications from the\u0027"},{"line_number":37,"context_line":"                    \u0027 datasource itself.\u0027,"},{"line_number":38,"context_line":"               required\u003dTrue),"},{"line_number":39,"context_line":"    cfg.IntOpt(DSOpts.CHANGES_INTERVAL,"},{"line_number":40,"context_line":"               default\u003d30,"},{"line_number":41,"context_line":"               min\u003d10,"},{"line_number":42,"context_line":"               help\u003d\u0027interval in seconds between checking changes in the\u0027"},{"line_number":43,"context_line":"                    \u0027kapacitor configuration files\u0027),"},{"line_number":44,"context_line":"    cfg.StrOpt(DSOpts.CONFIG_FILE, default\u003d\u0027/etc/vitrage/kapacitor_conf.yaml\u0027,"},{"line_number":45,"context_line":"               help\u003d\u0027Kapacitor configuration file\u0027)"},{"line_number":46,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_3a8de87a","line":43,"range":{"start_line":39,"start_character":0,"end_line":43,"end_character":53},"updated":"2019-04-17 15:16:11.000000000","message":"If you are using PUSH method, then you don\u0027t need the CHANGES_INTERVAL configuration. It is used only by datasources that do not handle notifications.","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"}],"vitrage/datasources/kapacitor/auxiliary/kapacitor_vitrage.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# coding: utf-8"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Copyright 2016 - Nokia"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":8,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_baf6b8f8","line":5,"range":{"start_line":5,"start_character":12,"end_line":5,"end_character":24},"updated":"2019-04-17 15:16:11.000000000","message":"Better change it...","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    duration: 0"},{"line_number":41,"context_line":"    priority: CRITICAL"},{"line_number":42,"context_line":"    previousLevel: OK"},{"line_number":43,"context_line":"    host: host1"},{"line_number":44,"context_line":"\u0027\u0027\u0027"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_3abba80e","line":43,"range":{"start_line":43,"start_character":4,"end_line":43,"end_character":15},"updated":"2019-04-17 15:16:11.000000000","message":"I\u0027m not familiar with Kapacitor. Is there always a \u0027host\u0027 field? what are the optional values? host name / instance id / etc.","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                                  publisher_id\u003dpublisher,"},{"line_number":70,"context_line":"                                  topics\u003d[\u0027vitrage_notifications\u0027])"},{"line_number":71,"context_line":"    alarm \u003d json.loads(data)"},{"line_number":72,"context_line":"    host \u003d alarm[\u0027data\u0027][\u0027series\u0027][0][\u0027tags\u0027][\u0027host\u0027]"},{"line_number":73,"context_line":"    priority \u003d alarm[\u0027level\u0027].lower()"},{"line_number":74,"context_line":"    timestamp \u003d datetime.utcnow()"},{"line_number":75,"context_line":"    alarm.update({"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_1a558cc6","line":72,"range":{"start_line":72,"start_character":16,"end_line":72,"end_character":53},"updated":"2019-04-17 15:16:11.000000000","message":"Are you sure that these properties always exist?","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    alarm \u003d json.loads(data)"},{"line_number":72,"context_line":"    host \u003d alarm[\u0027data\u0027][\u0027series\u0027][0][\u0027tags\u0027][\u0027host\u0027]"},{"line_number":73,"context_line":"    priority \u003d alarm[\u0027level\u0027].lower()"},{"line_number":74,"context_line":"    timestamp \u003d datetime.utcnow()"},{"line_number":75,"context_line":"    alarm.update({"},{"line_number":76,"context_line":"       \u0027host\u0027: host,"},{"line_number":77,"context_line":"       \u0027timestamp\u0027: timestamp,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_1a6eec94","line":74,"range":{"start_line":74,"start_character":4,"end_line":74,"end_character":33},"updated":"2019-04-17 15:16:11.000000000","message":"Why not use the \u0027times\u0027 property?","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"bfceb614404771b53d392cce16cd95bb8628f5cb","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import json"},{"line_number":21,"context_line":"import logging"},{"line_number":22,"context_line":"from logging.handlers import RotatingFileHandler"},{"line_number":23,"context_line":"import oslo_messaging as messaging"},{"line_number":24,"context_line":"from oslo_config import cfg"},{"line_number":25,"context_line":"from oslo_utils import uuidutils"},{"line_number":26,"context_line":"import socket"},{"line_number":27,"context_line":"import sys"}],"source_content_type":"text/x-python","patch_set":8,"id":"ffb9cba7_d65d4c47","line":24,"range":{"start_line":23,"start_character":0,"end_line":24,"end_character":27},"updated":"2019-05-02 13:39:18.000000000","message":"the order here is wrong","commit_id":"66379cc055ddbe12ad63e98784a3cefeb39b0fa0"}],"vitrage/datasources/kapacitor/auxiliary/readme.rst":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Kapacitor-Vitrage"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Kapacitor will send alert to vitrage by using [ exec-handle ], send to messeage queue topic of vitrage."},{"line_number":5,"context_line":"https://docs.influxdata.com/kapacitor/v1.5/working/alerts/"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fce034c_fa31a0a3","line":2,"range":{"start_line":2,"start_character":17,"end_line":2,"end_character":22},"updated":"2019-04-17 15:16:11.000000000","message":"Extra \u003d\u003d\u003d","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":32,"context_line":"      | args: [\u0027/etc/kapacitor/kapacitor_vitrage.py\u0027,\u0027rabbit://\u003crabbit_user\u003e:\u003crabbit_pass\u003e@controller\u0027]"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":" **Note:** rabbit://\u003crabbit_user\u003e:\u003crabbit_pass\u003e@controller is  Vitrage message bus url,  ``rabbit_user:rabbit_pass`` for devstack rabbitmq is ``stackrabbit/secret``"},{"line_number":35,"context_line":" "},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Run command to define topic"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fce034c_ba2b182e","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":1},"updated":"2019-04-17 15:16:11.000000000","message":"Extra space","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"In case your Task aready in topic and you don\u0027t want to add another, you only need to do: append \u0027exec handler\u0027 to TICK scipt which define it."},{"line_number":54,"context_line":"      "},{"line_number":55,"context_line":"      | ..."},{"line_number":56,"context_line":"      | |alert()"},{"line_number":57,"context_line":"      |  ..."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fce034c_1a1cac10","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":6},"updated":"2019-04-17 15:16:11.000000000","message":"Extra spaces","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":".. code::"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    [zabbix]"},{"line_number":81,"context_line":"    config_file \u003d /etc/vitrage/kapacitor_conf.yaml"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"3. Create ``/etc/vitrage/kapacitor_conf.yaml`` with this content"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fce034c_dad38437","line":80,"range":{"start_line":80,"start_character":5,"end_line":80,"end_character":11},"updated":"2019-04-17 15:16:11.000000000","message":"kapacitor","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":".. code ::"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    zabbix:"},{"line_number":88,"context_line":"    - kapacitor_host: hostname of host kapacitor monitor"},{"line_number":89,"context_line":"      type: nova.host"},{"line_number":90,"context_line":"      name: resouce name "}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fce034c_fad68027","line":87,"range":{"start_line":87,"start_character":4,"end_line":87,"end_character":10},"updated":"2019-04-17 15:16:11.000000000","message":"kapacitor","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":89,"context_line":"      type: nova.host"},{"line_number":90,"context_line":"      name: resouce name "},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"**Note** if type is nova.instance, you may replace ``name: resouce name`` by \u0027\u0027name: id of instance\u0027\u0027)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"4. Restart vitrage service in devstack/openstack"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fce034c_bae0f8fb","line":92,"range":{"start_line":92,"start_character":0,"end_line":92,"end_character":33},"updated":"2019-04-17 15:16:11.000000000","message":"Can you have a nova.instance? if so, the configuration file should be more complicated. See for example \"mapping alerts\" in: https://docs.openstack.org/vitrage/latest/contributor/prometheus-datasource.html","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"1f2f27f9d8bf2e493a6debfc2644e19480c6a67e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"      |  .topic(\u0027foward_to_vitrage\u0027)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"In case your Task aready in topic and you don\u0027t want to add another, you only need to do: append \u0027exec handler\u0027 to TICK scipt which define it."},{"line_number":51,"context_line":"      "},{"line_number":52,"context_line":"      | ..."},{"line_number":53,"context_line":"      | |alert()"},{"line_number":54,"context_line":"      |  ..."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ffb9cba7_477284e5","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":6},"updated":"2019-04-24 11:21:42.000000000","message":"Extra spaces","commit_id":"5ec65ef84ba92e1c8cf91e4b74cb8a9d6d3351fd"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"1f2f27f9d8bf2e493a6debfc2644e19480c6a67e","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    kapacitor:"},{"line_number":85,"context_line":"    - kapacitor_host: hostname of host is raised alert by kapacitor"},{"line_number":86,"context_line":"      type: nova.host"},{"line_number":87,"context_line":"      name: resouce name "},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"**Note** if type is nova.instance, you may replace ``name: resouce name`` by \u0027\u0027name: id of instance\u0027\u0027)"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ffb9cba7_077c8cb3","line":87,"range":{"start_line":87,"start_character":24,"end_line":87,"end_character":25},"updated":"2019-04-24 11:21:42.000000000","message":"Extra space","commit_id":"5ec65ef84ba92e1c8cf91e4b74cb8a9d6d3351fd"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"1f2f27f9d8bf2e493a6debfc2644e19480c6a67e","unresolved":false,"context_lines":[{"line_number":86,"context_line":"      type: nova.host"},{"line_number":87,"context_line":"      name: resouce name "},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"**Note** if type is nova.instance, you may replace ``name: resouce name`` by \u0027\u0027name: id of instance\u0027\u0027)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"4. Restart vitrage service in devstack/openstack"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ffb9cba7_07556c1d","line":89,"range":{"start_line":89,"start_character":35,"end_line":89,"end_character":99},"updated":"2019-04-24 11:21:42.000000000","message":"This is not recommended. You don\u0027t want to edit the configuration file for every new instance that is created.","commit_id":"5ec65ef84ba92e1c8cf91e4b74cb8a9d6d3351fd"}],"vitrage/datasources/kapacitor/config.py":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":26,"context_line":"TYPE \u003d \u0027type\u0027"},{"line_number":27,"context_line":"NAME \u003d \u0027name\u0027"},{"line_number":28,"context_line":"ALERT \u003d \u0027alert\u0027"},{"line_number":29,"context_line":"VITRAGE_RESOURCE \u003d \u0027vitrage_resouce\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class KapacitorConfig(object):"}],"source_content_type":"text/x-python","patch_set":13,"id":"dfbec78f_9f1ea70a","line":29,"range":{"start_line":29,"start_character":28,"end_line":29,"end_character":35},"updated":"2019-05-05 10:46:36.000000000","message":"resource","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"}],"vitrage/datasources/kapacitor/driver.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            return {}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def _enrich_alarms(self, alarms):"},{"line_number":77,"context_line":"        \"\"\"Enrich kapacitor alarm using capacitor configuration file"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        converting Kapacitor host name to Vitrage resource type and name"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_9ab65cfa","line":77,"range":{"start_line":77,"start_character":40,"end_line":77,"end_character":49},"updated":"2019-04-17 15:16:11.000000000","message":"Kapacitor","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        \"\"\""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        for alarm in alarms:"},{"line_number":86,"context_line":"            kapacitor_host \u003d alarm[KProps.ZABBIX_RESOURCE_NAME]"},{"line_number":87,"context_line":"            vitrage_host \u003d KapacitorDriver.conf_map[zabbix_host]"},{"line_number":88,"context_line":"            alarm[KProps.RESOURCE_TYPE] \u003d vitrage_host[KProps.RESOURCE_TYPE]"},{"line_number":89,"context_line":"            alarm[KProps.RESOURCE_NAME] \u003d vitrage_host[KProps.RESOURCE_NAME]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_bab9d8e9","line":86,"range":{"start_line":86,"start_character":42,"end_line":86,"end_character":62},"updated":"2019-04-17 15:16:11.000000000","message":"KAPACITOR","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c45bc63db17c5a5152ab27065ed474d5cb4bbba3","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        for alarm in alarms:"},{"line_number":86,"context_line":"            kapacitor_host \u003d alarm[KProps.ZABBIX_RESOURCE_NAME]"},{"line_number":87,"context_line":"            vitrage_host \u003d KapacitorDriver.conf_map[zabbix_host]"},{"line_number":88,"context_line":"            alarm[KProps.RESOURCE_TYPE] \u003d vitrage_host[KProps.RESOURCE_TYPE]"},{"line_number":89,"context_line":"            alarm[KProps.RESOURCE_NAME] \u003d vitrage_host[KProps.RESOURCE_NAME]"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_7acb7071","line":87,"range":{"start_line":87,"start_character":52,"end_line":87,"end_character":63},"updated":"2019-04-17 15:16:11.000000000","message":"kapacitor_host","commit_id":"418aa380f6d053c040bbe1d70a379fa3af9947fc"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"1f2f27f9d8bf2e493a6debfc2644e19480c6a67e","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _get_alarms(self):"},{"line_number":114,"context_line":"        \"\"\"Query all alarm and send to vitrage"},{"line_number":115,"context_line":"        "},{"line_number":116,"context_line":"        not implement yet"},{"line_number":117,"context_line":"        \"\"\""},{"line_number":118,"context_line":"        return []"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffb9cba7_673b08eb","line":115,"range":{"start_line":115,"start_character":0,"end_line":115,"end_character":8},"updated":"2019-04-24 11:21:42.000000000","message":"Extra spaces","commit_id":"5ec65ef84ba92e1c8cf91e4b74cb8a9d6d3351fd"}],"vitrage/tests/mocks/mock_driver.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"1f2f27f9d8bf2e493a6debfc2644e19480c6a67e","unresolved":false,"context_lines":[{"line_number":622,"context_line":"def simple_kapacitor_alarm_generators(update_vals\u003dNone):"},{"line_number":623,"context_line":"    \"\"\"A function for returning Kapacitor alarm event generators."},{"line_number":624,"context_line":""},{"line_number":625,"context_line":"    Returns generators for a given number of Collectd alarms."},{"line_number":626,"context_line":""},{"line_number":627,"context_line":"    :param update_vals: preset values for ALL update events"},{"line_number":628,"context_line":"    :return: generators for alarms as specified"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffb9cba7_072a4c8f","line":625,"range":{"start_line":625,"start_character":45,"end_line":625,"end_character":53},"updated":"2019-04-24 11:21:42.000000000","message":"Kapacitor","commit_id":"5ec65ef84ba92e1c8cf91e4b74cb8a9d6d3351fd"}],"vitrage/tests/mocks/mock_transformer.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"1f2f27f9d8bf2e493a6debfc2644e19480c6a67e","unresolved":false,"context_lines":[{"line_number":216,"context_line":"def simple_kapacitor_alarm_generators(update_vals\u003dNone):"},{"line_number":217,"context_line":"    \"\"\"A function for returning Kapacitor alarm event generators."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    Returns generators for a given number of Collectd alarms."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    :param update_vals: preset values for ALL update events"},{"line_number":222,"context_line":"    :return: generators for alarms as specified"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffb9cba7_87171c52","line":219,"range":{"start_line":219,"start_character":45,"end_line":219,"end_character":53},"updated":"2019-04-24 11:21:42.000000000","message":"Kapacitor","commit_id":"5ec65ef84ba92e1c8cf91e4b74cb8a9d6d3351fd"}],"vitrage/tests/resources/kapacitor/kapacitor_conf.yaml":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"1f2f27f9d8bf2e493a6debfc2644e19480c6a67e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    type: nova.host"},{"line_number":4,"context_line":"    name: host1"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"  - kapacitor_host: compute-2"},{"line_number":7,"context_line":"    type: nova.host"},{"line_number":8,"context_line":"    name: host2"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ffb9cba7_f91c806b","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":18},"updated":"2019-04-24 11:21:42.000000000","message":"I suggest that you add a test also for nova.instance","commit_id":"5ec65ef84ba92e1c8cf91e4b74cb8a9d6d3351fd"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"kapacitor:"},{"line_number":2,"context_line":"  - alert:"},{"line_number":3,"context_line":"      host: cloud.compute1"},{"line_number":4,"context_line":"    vitrage_resouce:"},{"line_number":5,"context_line":"      type: nova.host"},{"line_number":6,"context_line":"      name: compute-1"},{"line_number":7,"context_line":"  - alert:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"dfbec78f_1f3397ad","line":4,"range":{"start_line":4,"start_character":12,"end_line":4,"end_character":19},"updated":"2019-05-05 10:46:36.000000000","message":"resource","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":6,"context_line":"      name: compute-1"},{"line_number":7,"context_line":"  - alert:"},{"line_number":8,"context_line":"      host: compute-(.*)"},{"line_number":9,"context_line":"    vitrage_resouce:"},{"line_number":10,"context_line":"      type: nova.host"},{"line_number":11,"context_line":"      name: ${kapacitor_host}"},{"line_number":12,"context_line":"  - alert:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"dfbec78f_bf27eb64","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":19},"updated":"2019-05-05 10:46:36.000000000","message":"resource","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"5f1eb6afb1ffdabed5aa6330afc6cd12121d45bf","unresolved":false,"context_lines":[{"line_number":11,"context_line":"      name: ${kapacitor_host}"},{"line_number":12,"context_line":"  - alert:"},{"line_number":13,"context_line":"      host: (.*)"},{"line_number":14,"context_line":"    vitrage_resouce:"},{"line_number":15,"context_line":"      type: nova.instance"},{"line_number":16,"context_line":"      name: ${kapacitor_host}"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"dfbec78f_df2c1f49","line":14,"range":{"start_line":14,"start_character":12,"end_line":14,"end_character":19},"updated":"2019-05-05 10:46:36.000000000","message":"resource","commit_id":"ed5a46fc75dc11917de274cad1a788a547140223"}],"vitrage/tests/resources/mock_configurations/driver/driver_kapacitor_update_dynamic.json":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"1f2f27f9d8bf2e493a6debfc2644e19480c6a67e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"  \"level\": \"CRITICAL\","},{"line_number":3,"context_line":"  \"priority\": \"critical\","},{"line_number":4,"context_line":"  \"host\": \"compute-1\","},{"line_number":5,"context_line":"  \"details\": \"DETAIL INFO :: LEVEL: CRITICAL - ID: mem high-host\u003dcompute02 - NAME : mem - VALUE: 9.746241910865896 - TASKNAME: chronograf-v1-2d1fad8a-1c52-4eca-8721-c7af36faf7c - GROUP: host\u003dcompute02 - TAGS: map[host:compute02] - TIME: 2019-04-22 08:11:00 \u0026#43;0000 UTC\","},{"line_number":6,"context_line":"  \"time\": \"2019-04-22T08:11:00Z\","},{"line_number":7,"context_line":"  \"duration\": 0,"},{"line_number":8,"context_line":"  \"message\": \"mem high\","}],"source_content_type":"application/json","patch_set":3,"id":"ffb9cba7_b9284886","line":5,"range":{"start_line":5,"start_character":186,"end_line":5,"end_character":200},"updated":"2019-04-24 11:21:42.000000000","message":"It\u0027s a different host name than \u0027host\u0027 property. Is it ok?","commit_id":"5ec65ef84ba92e1c8cf91e4b74cb8a9d6d3351fd"}],"vitrage/tests/unit/datasources/kapacitor/test_kapacitor_transformer.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"1f2f27f9d8bf2e493a6debfc2644e19480c6a67e","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            HostTransformer(cls.transformers, cls.conf)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def test_create_entity_key(self):"},{"line_number":65,"context_line":"        LOG.debug(\u0027Test get key from nova instance transformer\u0027)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        # Test setup"},{"line_number":68,"context_line":"        host \u003d \u0027compute-1\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffb9cba7_9981c44d","line":65,"range":{"start_line":65,"start_character":42,"end_line":65,"end_character":50},"updated":"2019-04-24 11:21:42.000000000","message":"host","commit_id":"5ec65ef84ba92e1c8cf91e4b74cb8a9d6d3351fd"}]}
