)]}'
{"specs/queens/approved/fault-models.rst":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"f2fc5fce90de7e6186a974e87127154cae646392","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  - red: fault"},{"line_number":26,"context_line":"  - green: OK"},{"line_number":27,"context_line":"  - orange: suspect"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- borders"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"bf8cb3f7_88addb89","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":19},"updated":"2017-12-27 17:34:02.000000000","message":"Yellow is warning, so I think orange is confusing","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"84a27132d4c13074960af69014f5537d95dfe53d","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  - red: fault"},{"line_number":26,"context_line":"  - green: OK"},{"line_number":27,"context_line":"  - orange: suspect"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- borders"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9f91af0f_ee3acfcb","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":19},"in_reply_to":"bf8cb3f7_88addb89","updated":"2017-12-28 09:35:31.000000000","message":"Done","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"f2fc5fce90de7e6186a974e87127154cae646392","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"``A-[causes]-\u003eZ``"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":".. graphviz::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    digraph G {"},{"line_number":46,"context_line":"        // styles"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bf8cb3f7_c8cc436c","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":13},"updated":"2017-12-27 17:34:02.000000000","message":"I failed to understand the diagram... can you please write it in stages, so it will be clear what happens first and what happens next?","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"84a27132d4c13074960af69014f5537d95dfe53d","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"``A-[causes]-\u003eZ``"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":".. graphviz::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    digraph G {"},{"line_number":46,"context_line":"        // styles"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9f91af0f_2eb197e2","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":13},"in_reply_to":"bf8cb3f7_c8cc436c","updated":"2017-12-28 09:35:31.000000000","message":"Added a simple explanation.","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"f2fc5fce90de7e6186a974e87127154cae646392","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Multiple causes may be defined in two ways."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"- Single scenario"},{"line_number":164,"context_line":"    - ``(A | B | ...) -\u003e Z``"},{"line_number":165,"context_line":"- Separated scenarios"},{"line_number":166,"context_line":"    - ``A -\u003e Z``"},{"line_number":167,"context_line":"    - ``B -\u003e Z``"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bf8cb3f7_88c63b48","line":164,"range":{"start_line":164,"start_character":11,"end_line":164,"end_character":12},"updated":"2017-12-27 17:34:02.000000000","message":"In the previous example you used ||","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"84a27132d4c13074960af69014f5537d95dfe53d","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Multiple causes may be defined in two ways."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"- Single scenario"},{"line_number":164,"context_line":"    - ``(A | B | ...) -\u003e Z``"},{"line_number":165,"context_line":"- Separated scenarios"},{"line_number":166,"context_line":"    - ``A -\u003e Z``"},{"line_number":167,"context_line":"    - ``B -\u003e Z``"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9f91af0f_0e3853d1","line":164,"range":{"start_line":164,"start_character":11,"end_line":164,"end_character":12},"in_reply_to":"bf8cb3f7_88c63b48","updated":"2017-12-28 09:35:31.000000000","message":"Done","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"f2fc5fce90de7e6186a974e87127154cae646392","unresolved":false,"context_lines":[{"line_number":199,"context_line":"It is similar to \"OR model\". We may split the single scenario so that the"},{"line_number":200,"context_line":"reasoning procedure in base model can be applied and it is also scalable."},{"line_number":201,"context_line":""},{"line_number":202,"context_line":".. note:: chaining model in single scenario is not supported by Vitrage so far."},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"Nesting model"},{"line_number":205,"context_line":"^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bf8cb3f7_a8c1bf30","line":202,"range":{"start_line":202,"start_character":0,"end_line":202,"end_character":79},"updated":"2017-12-27 17:34:02.000000000","message":"Is there a reason to support it?","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"84a27132d4c13074960af69014f5537d95dfe53d","unresolved":false,"context_lines":[{"line_number":199,"context_line":"It is similar to \"OR model\". We may split the single scenario so that the"},{"line_number":200,"context_line":"reasoning procedure in base model can be applied and it is also scalable."},{"line_number":201,"context_line":""},{"line_number":202,"context_line":".. note:: chaining model in single scenario is not supported by Vitrage so far."},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"Nesting model"},{"line_number":205,"context_line":"^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9f91af0f_ee3f2fb3","line":202,"range":{"start_line":202,"start_character":0,"end_line":202,"end_character":79},"in_reply_to":"bf8cb3f7_a8c1bf30","updated":"2017-12-28 09:35:31.000000000","message":"Done","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"f2fc5fce90de7e6186a974e87127154cae646392","unresolved":false,"context_lines":[{"line_number":204,"context_line":"Nesting model"},{"line_number":205,"context_line":"^^^^^^^^^^^^^"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"The models above may be nested to in a complex scenario. But it is always"},{"line_number":208,"context_line":"possible to convert it to basic component and evaluate separately."},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bf8cb3f7_68e177d0","line":207,"range":{"start_line":207,"start_character":0,"end_line":207,"end_character":56},"updated":"2017-12-27 17:34:02.000000000","message":"What do you mean by nesting? do you mean something like (A and not B) or C?\nI think the term \u0027complex\u0027 is more clear","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"84a27132d4c13074960af69014f5537d95dfe53d","unresolved":false,"context_lines":[{"line_number":204,"context_line":"Nesting model"},{"line_number":205,"context_line":"^^^^^^^^^^^^^"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"The models above may be nested to in a complex scenario. But it is always"},{"line_number":208,"context_line":"possible to convert it to basic component and evaluate separately."},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9f91af0f_8ea543b8","line":207,"range":{"start_line":207,"start_character":0,"end_line":207,"end_character":56},"in_reply_to":"bf8cb3f7_68e177d0","updated":"2017-12-28 09:35:31.000000000","message":"Done","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"f2fc5fce90de7e6186a974e87127154cae646392","unresolved":false,"context_lines":[{"line_number":230,"context_line":"Versioning impact"},{"line_number":231,"context_line":"-----------------"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"None"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"Other end user impact"},{"line_number":236,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bf8cb3f7_c86d2333","line":233,"range":{"start_line":233,"start_character":0,"end_line":233,"end_character":4},"updated":"2017-12-27 17:34:02.000000000","message":"When are you planning to implement it? two things you should consider:\n\n- we are going to have versions in Vitrage templates. Your changes might require to switch to version 3 (I\u0027m not sure about that). See https://review.openstack.org/529332\n\n- as part of the templates CRUD task (which is WIP and was not pushed yet), we will store all templates to the database. I don\u0027t think it will affect your change, but just keep it in mind.","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"2d7a3d14227d1364a13fe97fb338b241a9c222a4","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        a3 -\u003e z0 [style\u003ddashed constraint\u003dfalse]"},{"line_number":88,"context_line":"    }"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Each edge with arrow connects two stateful nodes. It means if the source node"},{"line_number":91,"context_line":"state is updated, the target node state will be deduced. So each inconsistent"},{"line_number":92,"context_line":"state may transit into different consistent state, depending on the last"},{"line_number":93,"context_line":"updated node."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. note::"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"9f91af0f_50da63e9","line":93,"range":{"start_line":90,"start_character":0,"end_line":93,"end_character":13},"updated":"2017-12-31 09:07:31.000000000","message":"Sorry, but I still didn\u0027t quite understand...\n\nIn you diagram:\nZ OK ---\u003e A OK\nA fault --\u003e Z fault\n\nSo which one will happen? will it depend on the latest update? if that\u0027s the case, then please make it more clear in the diagram itself, because the diagram is confusing. \n\nAlso, do you plan to add this logic to the evaluator?\nIsn\u0027t there is risk of a race condition or inconsistent behavior? even if the state is stable *eventually*, I\u0027m afraid it might be flapping in the middle.","commit_id":"b06575993a2640411e28a9387b871921c53b8b20"}],"specs/queens/approved/proactive-rca.rst":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"f2fc5fce90de7e6186a974e87127154cae646392","unresolved":false,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        // old status"},{"line_number":204,"context_line":"        c_m [color\u003d\"red\"];"},{"line_number":205,"context_line":"        a_v [color\u003d\"orange\"]"},{"line_number":206,"context_line":"        b_v [color\u003d\"orange\"]"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        // diagnose action executed"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bf8cb3f7_e8510764","line":205,"range":{"start_line":205,"start_character":20,"end_line":205,"end_character":26},"updated":"2017-12-27 17:34:02.000000000","message":"I prefer the dashed version","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"84a27132d4c13074960af69014f5537d95dfe53d","unresolved":false,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        // old status"},{"line_number":204,"context_line":"        c_m [color\u003d\"red\"];"},{"line_number":205,"context_line":"        a_v [color\u003d\"orange\"]"},{"line_number":206,"context_line":"        b_v [color\u003d\"orange\"]"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        // diagnose action executed"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9f91af0f_931ecc6e","line":205,"range":{"start_line":205,"start_character":20,"end_line":205,"end_character":26},"in_reply_to":"bf8cb3f7_e8510764","updated":"2017-12-28 09:35:31.000000000","message":"Done","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"}],"specs/queens/approved/suspect-alarm.rst":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"fbb28919d987fc64f771c55fb66694001546f7ae","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Suspicious state is required for implementing `proactive RCA`_."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Suppose there are two possible causes (A or B) for fault C. When fault C is"},{"line_number":23,"context_line":"monitored, it is possibly that A or B could happen and be the root cause."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Currently, there is no way to express such suspect state in entity graph."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f485f77_75c179e4","line":23,"range":{"start_line":23,"start_character":17,"end_line":23,"end_character":25},"updated":"2017-11-14 13:27:09.000000000","message":"possible","commit_id":"0cd5c549508879f9af290bd8d0dbff97b2e0d657"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"fbb28919d987fc64f771c55fb66694001546f7ae","unresolved":false,"context_lines":[{"line_number":34,"context_line":"may need to create `aggregation \u003caggregate-equivalent-alarms.html\u003e`_ from"},{"line_number":35,"context_line":"them."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"And we need to keep inactive vertex in graph for the same reason."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f485f77_3570a1dc","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":65},"updated":"2017-11-14 13:27:09.000000000","message":"Can you please explain why? and for how long? \n\nThe current mechanism is that inactive alarms are marked with is_deleted\u003dTrue, and are deleted by the consistency service after a while (15 min?). Do you suggest to disable the consistency, or change the TTL?","commit_id":"0cd5c549508879f9af290bd8d0dbff97b2e0d657"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"fbb28919d987fc64f771c55fb66694001546f7ae","unresolved":false,"context_lines":[{"line_number":75,"context_line":"Horizon impact"},{"line_number":76,"context_line":"--------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Inactive alarm should be hidden in entity graph to keep consistent view with current version."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f485f77_1525a5c2","line":78,"range":{"start_line":78,"start_character":0,"end_line":78,"end_character":93},"updated":"2017-11-14 13:27:09.000000000","message":"Do you suggest that the default get topology API call will just filter them out? because there is not only the entity graph - we should also handle the alarms view and the topology view (where you can also see alarms if you drill down to a host/instance). And theoretically there could be someone else using the API for another purpose.","commit_id":"0cd5c549508879f9af290bd8d0dbff97b2e0d657"},{"author":{"_account_id":18783,"name":"dongwenjuan","email":"dong.wenjuan@zte.com.cn","username":"dongwenjuan"},"change_message_id":"32beb319a8f570f2f5d51d133f525509fd79df0e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Suppose there are two possible causes (``A`` or ``B``) for fault ``C``. When"},{"line_number":20,"context_line":"fault ``C`` occurs, it is probably that ``A`` or ``B`` exists and is the root"},{"line_number":21,"context_line":"cause."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Currently, there is no way to express such **suspect** state in entity graph."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df87a7cf_2f224353","line":20,"range":{"start_line":20,"start_character":26,"end_line":20,"end_character":34},"updated":"2017-12-20 01:45:29.000000000","message":"possible","commit_id":"6216e8282149ae3ee7f269b1df9875c4ae3ed368"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"812e74e3a25345c688e5fb4135fabbe8bae44017","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Suppose there are two possible causes (``A`` or ``B``) for fault ``C``. When"},{"line_number":20,"context_line":"fault ``C`` occurs, it is probably that ``A`` or ``B`` exists and is the root"},{"line_number":21,"context_line":"cause."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Currently, there is no way to express such **suspect** state in entity graph."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df87a7cf_2a89d1c8","line":20,"range":{"start_line":20,"start_character":26,"end_line":20,"end_character":34},"in_reply_to":"df87a7cf_2f224353","updated":"2017-12-20 03:30:21.000000000","message":"Done","commit_id":"6216e8282149ae3ee7f269b1df9875c4ae3ed368"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"07c155b4a7f98d5c28242690b4ff275119a56ab4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Proposed change"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"#. Add a new boolean property ``is_suspect`` to ``VertexProperties``"},{"line_number":31,"context_line":"#. Allow specify suspect value in action ``raise_alarm``"},{"line_number":32,"context_line":"#. Update template validator"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df87a7cf_b2601303","line":30,"range":{"start_line":30,"start_character":3,"end_line":30,"end_character":68},"updated":"2017-12-19 08:45:00.000000000","message":"How about making the \u0027suspect\u0027 on of the optional alarm states? currently we have:\n\nclass AlarmProperties(object):\n\n    ACTIVE_STATE \u003d \u0027Active\u0027\n\n    INACTIVE_STATE \u003d \u0027Inactive\u0027\n\nMaybe we can add the SUSPECT here?","commit_id":"6216e8282149ae3ee7f269b1df9875c4ae3ed368"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"812e74e3a25345c688e5fb4135fabbe8bae44017","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Proposed change"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"#. Add a new boolean property ``is_suspect`` to ``VertexProperties``"},{"line_number":31,"context_line":"#. Allow specify suspect value in action ``raise_alarm``"},{"line_number":32,"context_line":"#. Update template validator"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df87a7cf_ca514538","line":30,"range":{"start_line":30,"start_character":3,"end_line":30,"end_character":68},"in_reply_to":"df87a7cf_b2601303","updated":"2017-12-20 03:30:21.000000000","message":"In fact, there could be four states of an alarm: suspect active, suspect inactive, active, inactive.\n\nSuppose we have a host connected to redundant power supplies. If the host in on, then we can deduce that either power supply is likely to be OK. When expressed in alarm, it is suspect inactive.\n\nIt is another dimension of the state.","commit_id":"6216e8282149ae3ee7f269b1df9875c4ae3ed368"},{"author":{"_account_id":18783,"name":"dongwenjuan","email":"dong.wenjuan@zte.com.cn","username":"dongwenjuan"},"change_message_id":"32beb319a8f570f2f5d51d133f525509fd79df0e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Example template"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":".. code:: yaml"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    action:"},{"line_number":39,"context_line":"     action_type: raise_alarm"},{"line_number":40,"context_line":"    properties:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df87a7cf_af8ad317","line":37,"updated":"2017-12-20 01:45:29.000000000","message":"Can you please also add the condition for example here, as the spec\u0027s description is \u0027Raise a suspect alarm under specified conditions.\u0027","commit_id":"6216e8282149ae3ee7f269b1df9875c4ae3ed368"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"812e74e3a25345c688e5fb4135fabbe8bae44017","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Example template"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":".. code:: yaml"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    action:"},{"line_number":39,"context_line":"     action_type: raise_alarm"},{"line_number":40,"context_line":"    properties:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df87a7cf_75057e0f","line":37,"in_reply_to":"df87a7cf_af8ad317","updated":"2017-12-20 03:30:21.000000000","message":"I would like to keep the example in a minimal format. Otherwise, people may request to add entity definition as well :-)","commit_id":"6216e8282149ae3ee7f269b1df9875c4ae3ed368"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"f2fc5fce90de7e6186a974e87127154cae646392","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#. Add a new state ``SUSPECT_STATE \u003d \u0027Suspect\u0027`` to ``AlarmProperties``"},{"line_number":32,"context_line":"#. Add a new property ``is_suspect`` in ``raise_alarm`` action spec"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Example template"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"bf8cb3f7_c8dbe3ea","line":32,"range":{"start_line":32,"start_character":56,"end_line":32,"end_character":67},"updated":"2017-12-27 17:34:02.000000000","message":"The word \u0027spec\u0027 should be deleted, as you refer to the template yaml","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"84a27132d4c13074960af69014f5537d95dfe53d","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#. Add a new state ``SUSPECT_STATE \u003d \u0027Suspect\u0027`` to ``AlarmProperties``"},{"line_number":32,"context_line":"#. Add a new property ``is_suspect`` in ``raise_alarm`` action spec"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Example template"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9f91af0f_d3a7744f","line":32,"range":{"start_line":32,"start_character":56,"end_line":32,"end_character":67},"in_reply_to":"bf8cb3f7_c8dbe3ea","updated":"2017-12-28 09:35:31.000000000","message":"Done","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"f2fc5fce90de7e6186a974e87127154cae646392","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Work Items"},{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"See `proposed change \u003c#proposed-change\u003e`_."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Dependencies"},{"line_number":114,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bf8cb3f7_a88e9fcd","line":111,"range":{"start_line":111,"start_character":0,"end_line":111,"end_character":42},"updated":"2017-12-27 17:34:02.000000000","message":"I think you should have a list:\n- define SUSPECT state\n- define is_suspect\n- handle aggregated state (should it also contain a SUSPECT?)\n- fix Horizon (this is a must, otherwise the unknown SUSPECT state will be displayed in a wrong way)","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"0556fc1a14a1ebf42175aa9cc4a6ec5251f97940","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Work Items"},{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"See `proposed change \u003c#proposed-change\u003e`_."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Dependencies"},{"line_number":114,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9f91af0f_b0bc0f6a","line":111,"range":{"start_line":111,"start_character":0,"end_line":111,"end_character":42},"in_reply_to":"9f91af0f_7319c886","updated":"2017-12-31 09:12:15.000000000","message":"Ok, makes sense. Just please mention it as a future development.\n\nAnd I\u0027m a bit concerned about the implementation - Queens feature freeze is at the end of January. What should the behavior of Vitrage be if we have the suspect alarms in Queens but not the aggregations and UI (which require a lot of additional work)?","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"84a27132d4c13074960af69014f5537d95dfe53d","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Work Items"},{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"See `proposed change \u003c#proposed-change\u003e`_."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Dependencies"},{"line_number":114,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9f91af0f_7319c886","line":111,"range":{"start_line":111,"start_character":0,"end_line":111,"end_character":42},"in_reply_to":"bf8cb3f7_a88e9fcd","updated":"2017-12-28 09:35:31.000000000","message":"Done except for aggregated state. \n\nIt will be detailed in separate blueprint aggregate-equivalent-alarms. The condition is not just limited to suspect but also multiple sources. It is pending for the moment in https://review.openstack.org/#/c/518196","commit_id":"840ce86be0354e08c3914f08be4fd664d2e1c6c9"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"9dafa5eb5eabdea7378988e1cae4c668657d0755","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"- define ``SUSPECT`` state"},{"line_number":112,"context_line":"- parse ``is_suspect`` property in ``raise_alarm`` definition in template"},{"line_number":113,"context_line":"- handle action ``raise_alarm`` with ``is_suspect`` property in evaluator"},{"line_number":114,"context_line":"- handle suspect state display in Horizon"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9f91af0f_73f531cb","line":113,"range":{"start_line":113,"start_character":2,"end_line":113,"end_character":73},"updated":"2017-12-31 12:18:20.000000000","message":"You should probably add the is_suspect to the get_score() calculation in RaiseAlarmTools, so a non-suspect-deduced  has a higher score than a suspect-deduced.\nSo raising a non-suspect-deduced will override an existing suspect-deduced.\nBut, when the non-suspect-deduced is removed, the suspect alarm will be raised if the condition is still true. Is this the desired behavior?","commit_id":"b06575993a2640411e28a9387b871921c53b8b20"}]}
