)]}'
{"specs/rocky/approved/add-check-component-for-real-time-inspection.rst":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Vitrage provides users with the ability to efficiently identify failures"},{"line_number":18,"context_line":"through a variety of monitoring tools for each component of the"},{"line_number":19,"context_line":"infrastructure and provides cause analysis based on alerts. In real-world"},{"line_number":20,"context_line":"infrastructure operations, when notifications occur, we should perform"},{"line_number":21,"context_line":"several checks directly on the VM\u0027s console, host console, and system"},{"line_number":22,"context_line":"commands to diagnose the problem. Therefore, we should repeat this"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_8345141a","line":19,"range":{"start_line":19,"start_character":28,"end_line":19,"end_character":42},"updated":"2018-04-16 15:51:21.000000000","message":"root cause analysis","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Vitrage provides users with the ability to efficiently identify failures"},{"line_number":18,"context_line":"through a variety of monitoring tools for each component of the"},{"line_number":19,"context_line":"infrastructure and provides cause analysis based on alerts. In real-world"},{"line_number":20,"context_line":"infrastructure operations, when notifications occur, we should perform"},{"line_number":21,"context_line":"several checks directly on the VM\u0027s console, host console, and system"},{"line_number":22,"context_line":"commands to diagnose the problem. Therefore, we should repeat this"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_a8910355","line":19,"range":{"start_line":19,"start_character":28,"end_line":19,"end_character":42},"in_reply_to":"9f6a8fd7_8345141a","updated":"2018-04-17 06:11:48.000000000","message":"Done","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"3c722e4db5d07e478fe72e688676f00168accb1d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"When the user selects an action, we can view the list of various cases"},{"line_number":36,"context_line":"through the check UI. Each case list also has a separate parameter that"},{"line_number":37,"context_line":"allows users to enter parameter values in the UI of the case list and"},{"line_number":38,"context_line":"request confirmation elements. Users can pre-write information (SSH ID / PWD)"},{"line_number":39,"context_line":"for each VM and host to a specific configuration file, and the Check UI can"},{"line_number":40,"context_line":"read this. Therefore, the user does not need to input a value every time"},{"line_number":41,"context_line":"the check operation is performed. Commonly used information is input in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_3cc9b977","line":38,"range":{"start_line":38,"start_character":64,"end_line":38,"end_character":76},"updated":"2018-04-17 00:59:15.000000000","message":"Do you mean ssh user and password? I doubt these are sensitive information and may not be suitable to save in plain text configuration.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"192eb246902ee32c4b8a63d67128a1ea4921eda0","unresolved":false,"context_lines":[{"line_number":35,"context_line":"When the user selects an action, we can view the list of various cases"},{"line_number":36,"context_line":"through the check UI. Each case list also has a separate parameter that"},{"line_number":37,"context_line":"allows users to enter parameter values in the UI of the case list and"},{"line_number":38,"context_line":"request confirmation elements. Users can pre-write information (SSH ID / PWD)"},{"line_number":39,"context_line":"for each VM and host to a specific configuration file, and the Check UI can"},{"line_number":40,"context_line":"read this. Therefore, the user does not need to input a value every time"},{"line_number":41,"context_line":"the check operation is performed. Commonly used information is input in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_082b4feb","line":38,"range":{"start_line":38,"start_character":64,"end_line":38,"end_character":76},"in_reply_to":"9f6a8fd7_3cc9b977","updated":"2018-04-17 06:24:01.000000000","message":"I agree with your opinion.\n\nStoring SSH ID / PWD in a plain text file can cause security problems.\n\nIn this case, we can let the user enter the value then through the UI.\n\nHowever, efficiency is expected to decline.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":36,"context_line":"through the check UI. Each case list also has a separate parameter that"},{"line_number":37,"context_line":"allows users to enter parameter values in the UI of the case list and"},{"line_number":38,"context_line":"request confirmation elements. Users can pre-write information (SSH ID / PWD)"},{"line_number":39,"context_line":"for each VM and host to a specific configuration file, and the Check UI can"},{"line_number":40,"context_line":"read this. Therefore, the user does not need to input a value every time"},{"line_number":41,"context_line":"the check operation is performed. Commonly used information is input in"},{"line_number":42,"context_line":"the configuration file and is easily requested through inputting parameter"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_838754d8","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":11},"updated":"2018-04-16 15:51:21.000000000","message":"VMs can be created/deleted dynamically. Will the user update the file each time?","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"97a1fe7fa50fe844bec792e4497e7fe6302601d9","unresolved":false,"context_lines":[{"line_number":36,"context_line":"through the check UI. Each case list also has a separate parameter that"},{"line_number":37,"context_line":"allows users to enter parameter values in the UI of the case list and"},{"line_number":38,"context_line":"request confirmation elements. Users can pre-write information (SSH ID / PWD)"},{"line_number":39,"context_line":"for each VM and host to a specific configuration file, and the Check UI can"},{"line_number":40,"context_line":"read this. Therefore, the user does not need to input a value every time"},{"line_number":41,"context_line":"the check operation is performed. Commonly used information is input in"},{"line_number":42,"context_line":"the configuration file and is easily requested through inputting parameter"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_f376f006","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":11},"in_reply_to":"9f6a8fd7_52733181","updated":"2018-04-18 02:31:41.000000000","message":"I understood.\n\nIf so, we\u0027d better enter the SSH ID / PWD by the user in the UI without configuring a separate file.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"a4f84a0a545d02592b760ab6b8d4e4abfcfdb10b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"through the check UI. Each case list also has a separate parameter that"},{"line_number":37,"context_line":"allows users to enter parameter values in the UI of the case list and"},{"line_number":38,"context_line":"request confirmation elements. Users can pre-write information (SSH ID / PWD)"},{"line_number":39,"context_line":"for each VM and host to a specific configuration file, and the Check UI can"},{"line_number":40,"context_line":"read this. Therefore, the user does not need to input a value every time"},{"line_number":41,"context_line":"the check operation is performed. Commonly used information is input in"},{"line_number":42,"context_line":"the configuration file and is easily requested through inputting parameter"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_52733181","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":11},"in_reply_to":"9f6a8fd7_689beb71","updated":"2018-04-17 08:32:23.000000000","message":"I feel that it\u0027s a problem. It is true that in zabbix_conf.yaml you currently have to detail all VMs, but in other datasources (Nagios, Collectd) we solved it by using regex.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":36,"context_line":"through the check UI. Each case list also has a separate parameter that"},{"line_number":37,"context_line":"allows users to enter parameter values in the UI of the case list and"},{"line_number":38,"context_line":"request confirmation elements. Users can pre-write information (SSH ID / PWD)"},{"line_number":39,"context_line":"for each VM and host to a specific configuration file, and the Check UI can"},{"line_number":40,"context_line":"read this. Therefore, the user does not need to input a value every time"},{"line_number":41,"context_line":"the check operation is performed. Commonly used information is input in"},{"line_number":42,"context_line":"the configuration file and is easily requested through inputting parameter"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_689beb71","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":11},"in_reply_to":"9f6a8fd7_838754d8","updated":"2018-04-17 06:11:48.000000000","message":"Yes, that\u0027s right. In my opinion, since the information in the file is ID / PWD, I think it is an implicit consent to the user to configure the file by the check action. It seems to be similar to zabbix_conf.yaml.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":44,"context_line":"results can be viewed directly at the bottom of the UI and We can see"},{"line_number":45,"context_line":"the previous results together."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The main function of the check component is to manage multiple cases as"},{"line_number":48,"context_line":"pluggable and to request execution of functions from an external project"},{"line_number":49,"context_line":"or data source such as Mistral. You can also change the results to make"},{"line_number":50,"context_line":"it easier for users to see them."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"The user can configure the check action of the setting.conf file that"},{"line_number":53,"context_line":"Vitrage-dashboard uses to organize the task list. Therefore, we can"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_635b2087","line":50,"range":{"start_line":47,"start_character":0,"end_line":50,"end_character":32},"updated":"2018-04-16 15:51:21.000000000","message":"Why not simply use Mistral? what is the additional value of the check component, on top of Mistral?","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"a4f84a0a545d02592b760ab6b8d4e4abfcfdb10b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"results can be viewed directly at the bottom of the UI and We can see"},{"line_number":45,"context_line":"the previous results together."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The main function of the check component is to manage multiple cases as"},{"line_number":48,"context_line":"pluggable and to request execution of functions from an external project"},{"line_number":49,"context_line":"or data source such as Mistral. You can also change the results to make"},{"line_number":50,"context_line":"it easier for users to see them."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"The user can configure the check action of the setting.conf file that"},{"line_number":53,"context_line":"Vitrage-dashboard uses to organize the task list. Therefore, we can"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_d22d0147","line":50,"range":{"start_line":47,"start_character":0,"end_line":50,"end_character":32},"in_reply_to":"9f6a8fd7_088a6f1a","updated":"2018-04-17 08:32:23.000000000","message":"But Mistral also has management capabilities. It is possible to add actions to Mistral. You can implement in Mistral actions that you think are needed. I doubt if the end user will want/need to implement new actions on his own.\n\nRegarding the results display, I agree with you, but I think that vitrage-dashboard can handle it.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"d3efd8cbe9291e27659433359348c8b7941dbc6c","unresolved":false,"context_lines":[{"line_number":44,"context_line":"results can be viewed directly at the bottom of the UI and We can see"},{"line_number":45,"context_line":"the previous results together."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The main function of the check component is to manage multiple cases as"},{"line_number":48,"context_line":"pluggable and to request execution of functions from an external project"},{"line_number":49,"context_line":"or data source such as Mistral. You can also change the results to make"},{"line_number":50,"context_line":"it easier for users to see them."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"The user can configure the check action of the setting.conf file that"},{"line_number":53,"context_line":"Vitrage-dashboard uses to organize the task list. Therefore, we can"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_83b77df5","line":50,"range":{"start_line":47,"start_character":0,"end_line":50,"end_character":32},"in_reply_to":"9f6a8fd7_33cc6869","updated":"2018-04-25 15:48:56.000000000","message":"I still don\u0027t understand what is the benefit of adding a check component. If you need to add new checks, you can add them either in the check component, or in Mistral. What is the difference? why do you think that adding them in the check component will be easier?\n\nI\u0027m just afraid that the check component will add more complexity to Vitrage. It will be a new service that we will need to manage and maintain, and it is not related directly to Vitrage functionality. I see it as a (very important) add-on, and I prefer to manage it using already existing tools and not re-invent the wheel.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":44,"context_line":"results can be viewed directly at the bottom of the UI and We can see"},{"line_number":45,"context_line":"the previous results together."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The main function of the check component is to manage multiple cases as"},{"line_number":48,"context_line":"pluggable and to request execution of functions from an external project"},{"line_number":49,"context_line":"or data source such as Mistral. You can also change the results to make"},{"line_number":50,"context_line":"it easier for users to see them."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"The user can configure the check action of the setting.conf file that"},{"line_number":53,"context_line":"Vitrage-dashboard uses to organize the task list. Therefore, we can"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_088a6f1a","line":50,"range":{"start_line":47,"start_character":0,"end_line":50,"end_character":32},"in_reply_to":"9f6a8fd7_635b2087","updated":"2018-04-17 06:11:48.000000000","message":"I think it is possible to call Mistral directly from the Vitrage-Dashboard, just like any other actions. \nHowever, my concern is management. I think it is necessary to organize the result of the check action \nso that the user can see it easily, and to manage various check cases and cases to be added.\n\nWe can use simple actions like Mistral\u0027s std.ssh. \nBut I would like to make it easy for users to add their own case if they want.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"3e3da60cd91921744f1c95b28f30d09364cada3e","unresolved":false,"context_lines":[{"line_number":44,"context_line":"results can be viewed directly at the bottom of the UI and We can see"},{"line_number":45,"context_line":"the previous results together."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The main function of the check component is to manage multiple cases as"},{"line_number":48,"context_line":"pluggable and to request execution of functions from an external project"},{"line_number":49,"context_line":"or data source such as Mistral. You can also change the results to make"},{"line_number":50,"context_line":"it easier for users to see them."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"The user can configure the check action of the setting.conf file that"},{"line_number":53,"context_line":"Vitrage-dashboard uses to organize the task list. Therefore, we can"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_9c57ce26","line":50,"range":{"start_line":47,"start_character":0,"end_line":50,"end_character":32},"in_reply_to":"9f6a8fd7_83b77df5","updated":"2018-04-26 04:15:23.000000000","message":"Calling Mistral directly from the Vitrage-dashboard and calling Mistral via the Check component are no different.\n\nAt the implementation level, the Vitrage-dashboard (perhaps using Javascript) that requests Mistral\u0027s ssh operation modifies the results for each case and displays them to the user. However, I think that the implementation using the Python library is simpler and more powerful than this.\n\nAs you know, the Vitrage dashboard is very dynamic. So if we use javascript here to change the results for each case, add the ability to request action on the case, etc., then loading will occur and I worry about it.\n\nSo I think I can implement simple yet powerful features using the same Python libraries and Mistral as the existing Fabric by leaving these functions separate.\n\n\nFor example, we can run the script on multiple VMs through SSH without having to pre-populate the VM with custom local scripts from the host. It is provided by existing Python libraries and the implementation is very simple. On the other hand, Mistral std.ssh is not easy to do this.\n\nTherefore, simple cases should be performed through Mistral, and user-defined local script execution should be performed simply through the dedicated SSH management library.\n\nIf these functions go into the Vitrage-dashboard, it seems to be rather stressful. The Vitrage-dashboard would be better to include only the ability to request action on a case.\n\nWhat we need to develop is that we only need the Vitrage-dashboard request, UI, and library function calls, and Mistral std.ssh requests.\n\nI want a simple implementation just like you. So I want to use the Mistral and Python libraries through the check component.\n\nDo you want to add them to the Vitrage-dashboard? or do you want to use only Mistral for checking?","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"97a1fe7fa50fe844bec792e4497e7fe6302601d9","unresolved":false,"context_lines":[{"line_number":44,"context_line":"results can be viewed directly at the bottom of the UI and We can see"},{"line_number":45,"context_line":"the previous results together."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The main function of the check component is to manage multiple cases as"},{"line_number":48,"context_line":"pluggable and to request execution of functions from an external project"},{"line_number":49,"context_line":"or data source such as Mistral. You can also change the results to make"},{"line_number":50,"context_line":"it easier for users to see them."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"The user can configure the check action of the setting.conf file that"},{"line_number":53,"context_line":"Vitrage-dashboard uses to organize the task list. Therefore, we can"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_33cc6869","line":50,"range":{"start_line":47,"start_character":0,"end_line":50,"end_character":32},"in_reply_to":"9f6a8fd7_d22d0147","updated":"2018-04-18 02:31:41.000000000","message":"I understand your opinion about Mistral performing the action and showing the results on the Vitrage-dashboard.\n\nHowever, if we add a case, and Mistral can not perform the action for that case, we need to put the code to call the external project for the case again in Vitrage-dashobard\n\nI think we need certain components to connect external projects instead of Vitrage-dashboard to accommodate multiple cases.\n\nBut I understand your opinion and how do you solve the worrying part as follows?\n\nThe current proposal has a flow of Vitrage-dashboard -\u003e Vitrage-api -\u003e Check component -\u003e Mistral.\n\nThe modified proposal has a flow of Vitrage-dashboard-\u003e Check component-\u003e Mistral or Other Projects (perhaps the one you mentioned earlier)\n\nInsert a separate authentication policy between the Vitrage-dashboard and the Check component and request functionality.\n\nIn conclusion, as the number of cases increases, it may be difficult to insert all of the code into the Vitrage-dashboard. So, what about having a component separate from the code for Vitrage-dashboard, regardless of Vitrage?\n\nSo, let\u0027s do it only on Vitrage-dashboard requests, regardless of Vitrage.\n\nhow is it?\n\nIf you do not think this is right, I\u0027ll change the proposal according to your opinion. :)","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":".. code-block:: ini"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"   check:"},{"line_number":72,"context_line":"   - DEST_NAME: VM1"},{"line_number":73,"context_line":"     SSH_ID: test1"},{"line_number":74,"context_line":"     SSH_PWD: test1"},{"line_number":75,"context_line":"   - DEST_NAME: VM2"},{"line_number":76,"context_line":"     SSH_ID: test2"},{"line_number":77,"context_line":"     SSH_PWD: test3"},{"line_number":78,"context_line":"   - DEST_NAME: controller"},{"line_number":79,"context_line":"     SSH_ID: root"},{"line_number":80,"context_line":"     SSH_PWD: 1234"},{"line_number":81,"context_line":"   - DEST_NAME: compute"},{"line_number":82,"context_line":"     SSH_ID: root"},{"line_number":83,"context_line":"     SSH_PWD: 9999"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":".. end"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_03fa6441","line":83,"range":{"start_line":71,"start_character":0,"end_line":83,"end_character":18},"updated":"2018-04-16 15:51:21.000000000","message":"Does it make sense to configure a check list per entity in the graph? what about entities that were not configured? and what about different checks per different alarms that were raised?","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":".. code-block:: ini"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"   check:"},{"line_number":72,"context_line":"   - DEST_NAME: VM1"},{"line_number":73,"context_line":"     SSH_ID: test1"},{"line_number":74,"context_line":"     SSH_PWD: test1"},{"line_number":75,"context_line":"   - DEST_NAME: VM2"},{"line_number":76,"context_line":"     SSH_ID: test2"},{"line_number":77,"context_line":"     SSH_PWD: test3"},{"line_number":78,"context_line":"   - DEST_NAME: controller"},{"line_number":79,"context_line":"     SSH_ID: root"},{"line_number":80,"context_line":"     SSH_PWD: 1234"},{"line_number":81,"context_line":"   - DEST_NAME: compute"},{"line_number":82,"context_line":"     SSH_ID: root"},{"line_number":83,"context_line":"     SSH_PWD: 9999"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":".. end"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_887d1f1e","line":83,"range":{"start_line":71,"start_character":0,"end_line":83,"end_character":18},"in_reply_to":"9f6a8fd7_03fa6441","updated":"2018-04-17 06:11:48.000000000","message":"The proposal does not constitute a separate checklist for each entity. If you select a specific case and specify the name of the VM and Host to be checked, you will perform the same check.\n\nHowever, these names will be read from the file containing the contents at the top.\n\nMy initial idea was to get an SSH ID or PWD in the UI, but I thought that unnecessary work would occur if the number of VMs increased.\n\nFor example, ID / PWD is required when performing the Mistral std.ssh action. If you want to run a single case on many VMs, you want to increase the convenience by writing their SSH ID / PWD information in a single file.\n\nIf the VM or Host does not have the contents, it is excluded from the inspection and can not be checked.\n\nThe various alarms are for the user to recognize the problem, and it is the user\u0027s own decision to perform the case.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"a4f84a0a545d02592b760ab6b8d4e4abfcfdb10b","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":".. code-block:: ini"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"   check:"},{"line_number":72,"context_line":"   - DEST_NAME: VM1"},{"line_number":73,"context_line":"     SSH_ID: test1"},{"line_number":74,"context_line":"     SSH_PWD: test1"},{"line_number":75,"context_line":"   - DEST_NAME: VM2"},{"line_number":76,"context_line":"     SSH_ID: test2"},{"line_number":77,"context_line":"     SSH_PWD: test3"},{"line_number":78,"context_line":"   - DEST_NAME: controller"},{"line_number":79,"context_line":"     SSH_ID: root"},{"line_number":80,"context_line":"     SSH_PWD: 1234"},{"line_number":81,"context_line":"   - DEST_NAME: compute"},{"line_number":82,"context_line":"     SSH_ID: root"},{"line_number":83,"context_line":"     SSH_PWD: 9999"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":".. end"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_d2a0a1a8","line":83,"range":{"start_line":71,"start_character":0,"end_line":83,"end_character":18},"in_reply_to":"9f6a8fd7_887d1f1e","updated":"2018-04-17 08:32:23.000000000","message":"I agree with your point that the user should decide about which action to run from the list. But I think that writing ssh details, and so many of them, in a file doesn\u0027t make sense. \n\nIt could be that in some environment the same credentials are used for similar VMs, so maybe you can ask the user in the UI to enter it once and try to use it for a list of VMs.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"97a1fe7fa50fe844bec792e4497e7fe6302601d9","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":".. code-block:: ini"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"   check:"},{"line_number":72,"context_line":"   - DEST_NAME: VM1"},{"line_number":73,"context_line":"     SSH_ID: test1"},{"line_number":74,"context_line":"     SSH_PWD: test1"},{"line_number":75,"context_line":"   - DEST_NAME: VM2"},{"line_number":76,"context_line":"     SSH_ID: test2"},{"line_number":77,"context_line":"     SSH_PWD: test3"},{"line_number":78,"context_line":"   - DEST_NAME: controller"},{"line_number":79,"context_line":"     SSH_ID: root"},{"line_number":80,"context_line":"     SSH_PWD: 1234"},{"line_number":81,"context_line":"   - DEST_NAME: compute"},{"line_number":82,"context_line":"     SSH_ID: root"},{"line_number":83,"context_line":"     SSH_PWD: 9999"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":".. end"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_d3096c95","line":83,"range":{"start_line":71,"start_character":0,"end_line":83,"end_character":18},"in_reply_to":"9f6a8fd7_d2a0a1a8","updated":"2018-04-18 02:31:41.000000000","message":"I\u0027ll fix that part.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":85,"context_line":".. end"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"The check action includes several cases, which will be added to the"},{"line_number":88,"context_line":"check component as pluging. These cases require each system command"},{"line_number":89,"context_line":"to be executed for a specific purpose, to organize the results easily,"},{"line_number":90,"context_line":"or to request action from an external project or data source driver."},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_038fc4cc","line":88,"range":{"start_line":88,"start_character":19,"end_line":88,"end_character":26},"updated":"2018-04-16 15:51:21.000000000","message":"plug-ins","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":85,"context_line":".. end"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"The check action includes several cases, which will be added to the"},{"line_number":88,"context_line":"check component as pluging. These cases require each system command"},{"line_number":89,"context_line":"to be executed for a specific purpose, to organize the results easily,"},{"line_number":90,"context_line":"or to request action from an external project or data source driver."},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_a87a6321","line":88,"range":{"start_line":88,"start_character":19,"end_line":88,"end_character":26},"in_reply_to":"9f6a8fd7_038fc4cc","updated":"2018-04-17 06:11:48.000000000","message":"Done","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":97,"context_line":"  password and IP address of the desired host and VM to the check"},{"line_number":98,"context_line":"  component. This causes the check component to ask Mistral to"},{"line_number":99,"context_line":"  perform a simple network check for each VM and host, such as ping."},{"line_number":100,"context_line":"  As a result, the user will be able to check the network connection"},{"line_number":101,"context_line":"  of multiple VMs and hosts requested in the check UI and check"},{"line_number":102,"context_line":"  the result at a glance."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* Bottleneck: The case identifies the bottleneck by checking the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_c31eac6f","line":102,"range":{"start_line":100,"start_character":2,"end_line":102,"end_character":24},"updated":"2018-04-16 15:51:21.000000000","message":"I believe it is possible to run the checks on multiple entities also directly from Mistral. Why do you need the check component for that? or - if you want this code in Vitrage, then why not write it as a function inside vitrage-dashboard?","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"a4f84a0a545d02592b760ab6b8d4e4abfcfdb10b","unresolved":false,"context_lines":[{"line_number":97,"context_line":"  password and IP address of the desired host and VM to the check"},{"line_number":98,"context_line":"  component. This causes the check component to ask Mistral to"},{"line_number":99,"context_line":"  perform a simple network check for each VM and host, such as ping."},{"line_number":100,"context_line":"  As a result, the user will be able to check the network connection"},{"line_number":101,"context_line":"  of multiple VMs and hosts requested in the check UI and check"},{"line_number":102,"context_line":"  the result at a glance."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* Bottleneck: The case identifies the bottleneck by checking the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_729f5550","line":102,"range":{"start_line":100,"start_character":2,"end_line":102,"end_character":24},"in_reply_to":"9f6a8fd7_088fcf23","updated":"2018-04-17 08:32:23.000000000","message":"I agree that you need to handle management and display. But I think you should use Mistral for the management and vitrage-dashboard for the display.\n\nBecause, as you said, the check component does not do any action, I think it is redundant.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"97a1fe7fa50fe844bec792e4497e7fe6302601d9","unresolved":false,"context_lines":[{"line_number":97,"context_line":"  password and IP address of the desired host and VM to the check"},{"line_number":98,"context_line":"  component. This causes the check component to ask Mistral to"},{"line_number":99,"context_line":"  perform a simple network check for each VM and host, such as ping."},{"line_number":100,"context_line":"  As a result, the user will be able to check the network connection"},{"line_number":101,"context_line":"  of multiple VMs and hosts requested in the check UI and check"},{"line_number":102,"context_line":"  the result at a glance."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* Bottleneck: The case identifies the bottleneck by checking the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_33fa2875","line":102,"range":{"start_line":100,"start_character":2,"end_line":102,"end_character":24},"in_reply_to":"9f6a8fd7_729f5550","updated":"2018-04-18 02:31:41.000000000","message":"Please refer to the comment of line 50.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":97,"context_line":"  password and IP address of the desired host and VM to the check"},{"line_number":98,"context_line":"  component. This causes the check component to ask Mistral to"},{"line_number":99,"context_line":"  perform a simple network check for each VM and host, such as ping."},{"line_number":100,"context_line":"  As a result, the user will be able to check the network connection"},{"line_number":101,"context_line":"  of multiple VMs and hosts requested in the check UI and check"},{"line_number":102,"context_line":"  the result at a glance."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* Bottleneck: The case identifies the bottleneck by checking the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_088fcf23","line":102,"range":{"start_line":100,"start_character":2,"end_line":102,"end_character":24},"in_reply_to":"9f6a8fd7_c31eac6f","updated":"2018-04-17 06:11:48.000000000","message":"As mentioned above, I also think I can ask Mistral directly from the Vitrage-dashboard without having to go through the check component.\n\nHowever, my concern is management. Also, if you want to add a case you need to manage them.\n\nThe check component does not do any action, it asks Mistral and other external projects to perform an action, and it arranges the results so that it is easy for the user to see.\n\nSo I thought it was unnecessary to put all these functions in the Vitrage-Dashboard.\n\nIf our case only uses P2P or Bottleneck, we do not need a check component.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":117,"context_line":"  and run (or not use) the script at any time through the scan UI."},{"line_number":118,"context_line":"  For VMs, by default, the agent configuration script provided for"},{"line_number":119,"context_line":"  a case can work on multiple VMs or hosts, allowing you to build"},{"line_number":120,"context_line":"  an automated monitoring environment for multiple VMs or hosts."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Zabbix history / trends: We can set conditional alarms for data"},{"line_number":123,"context_line":"  collected via Zabbix, but we can not confirm the exact numerical"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_9e36c7b4","line":120,"range":{"start_line":120,"start_character":2,"end_line":120,"end_character":63},"updated":"2018-04-16 15:51:21.000000000","message":"Vitrage is not designed for building an automated monitoring environment. There are other tools for that, like Nagios, Zabbix or Prometheus.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"97a1fe7fa50fe844bec792e4497e7fe6302601d9","unresolved":false,"context_lines":[{"line_number":117,"context_line":"  and run (or not use) the script at any time through the scan UI."},{"line_number":118,"context_line":"  For VMs, by default, the agent configuration script provided for"},{"line_number":119,"context_line":"  a case can work on multiple VMs or hosts, allowing you to build"},{"line_number":120,"context_line":"  an automated monitoring environment for multiple VMs or hosts."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Zabbix history / trends: We can set conditional alarms for data"},{"line_number":123,"context_line":"  collected via Zabbix, but we can not confirm the exact numerical"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_b32b98e9","line":120,"range":{"start_line":120,"start_character":2,"end_line":120,"end_character":63},"in_reply_to":"9f6a8fd7_12f379a0","updated":"2018-04-18 02:31:41.000000000","message":"Okay.\n\nI\u0027ll delete the case.\n\nWhat I mean is that in order to monitor the VM and the host, the shell script execution request is executed through the corresponding case to configure the agent.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"a4f84a0a545d02592b760ab6b8d4e4abfcfdb10b","unresolved":false,"context_lines":[{"line_number":117,"context_line":"  and run (or not use) the script at any time through the scan UI."},{"line_number":118,"context_line":"  For VMs, by default, the agent configuration script provided for"},{"line_number":119,"context_line":"  a case can work on multiple VMs or hosts, allowing you to build"},{"line_number":120,"context_line":"  an automated monitoring environment for multiple VMs or hosts."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Zabbix history / trends: We can set conditional alarms for data"},{"line_number":123,"context_line":"  collected via Zabbix, but we can not confirm the exact numerical"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_12f379a0","line":120,"range":{"start_line":120,"start_character":2,"end_line":120,"end_character":63},"in_reply_to":"9f6a8fd7_28941337","updated":"2018-04-17 08:32:23.000000000","message":"What do you mean? how can the monitoring agent help with the interworking of various monitors?\n\nAlso note that many customers refuse to install agents on their VMs for security reasons. We don\u0027t want to get into these problems in Vitrage.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":117,"context_line":"  and run (or not use) the script at any time through the scan UI."},{"line_number":118,"context_line":"  For VMs, by default, the agent configuration script provided for"},{"line_number":119,"context_line":"  a case can work on multiple VMs or hosts, allowing you to build"},{"line_number":120,"context_line":"  an automated monitoring environment for multiple VMs or hosts."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Zabbix history / trends: We can set conditional alarms for data"},{"line_number":123,"context_line":"  collected via Zabbix, but we can not confirm the exact numerical"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_28941337","line":120,"range":{"start_line":120,"start_character":2,"end_line":120,"end_character":63},"in_reply_to":"9f6a8fd7_9e36c7b4","updated":"2018-04-17 06:11:48.000000000","message":"I agree. However, my idea was to provide a little more convenience in using the interworking with the various monitors provided by Vitrage.\n\nIf you want, we can think of that part for Vitrage","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Zabbix history / trends: We can set conditional alarms for data"},{"line_number":123,"context_line":"  collected via Zabbix, but we can not confirm the exact numerical"},{"line_number":124,"context_line":"  data. We can add the ability to import Zabbix history or trends"},{"line_number":125,"context_line":"  data into Zabbix datasource, so that we can import the data."},{"line_number":126,"context_line":"  As a result, the user can check the numerical values, average"},{"line_number":127,"context_line":"  / minimum / maximum values of collected real data (eg int, float)"},{"line_number":128,"context_line":"  over a certain period of time in the check UI."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"According to the request of the check UI, the Vitrage API simply passes"},{"line_number":131,"context_line":"data to the check component and triggers it. A separate check component"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_7e2c1347","line":128,"range":{"start_line":124,"start_character":8,"end_line":128,"end_character":48},"updated":"2018-04-16 15:51:21.000000000","message":"Vitrage holds an topology graph in a graph database (NetworkX). It is not designed to hold metrics. I think that Zabbix is the perfect tool for that, and you added the option to open Zabbix from Vitrage entity graph. Why do you think it\u0027s not enough?","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"97a1fe7fa50fe844bec792e4497e7fe6302601d9","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Zabbix history / trends: We can set conditional alarms for data"},{"line_number":123,"context_line":"  collected via Zabbix, but we can not confirm the exact numerical"},{"line_number":124,"context_line":"  data. We can add the ability to import Zabbix history or trends"},{"line_number":125,"context_line":"  data into Zabbix datasource, so that we can import the data."},{"line_number":126,"context_line":"  As a result, the user can check the numerical values, average"},{"line_number":127,"context_line":"  / minimum / maximum values of collected real data (eg int, float)"},{"line_number":128,"context_line":"  over a certain period of time in the check UI."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"According to the request of the check UI, the Vitrage API simply passes"},{"line_number":131,"context_line":"data to the check component and triggers it. A separate check component"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_9311b4af","line":128,"range":{"start_line":124,"start_character":8,"end_line":128,"end_character":48},"in_reply_to":"9f6a8fd7_72d755c1","updated":"2018-04-18 02:31:41.000000000","message":"I understand your comment.\n\nI will also delete the case.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Zabbix history / trends: We can set conditional alarms for data"},{"line_number":123,"context_line":"  collected via Zabbix, but we can not confirm the exact numerical"},{"line_number":124,"context_line":"  data. We can add the ability to import Zabbix history or trends"},{"line_number":125,"context_line":"  data into Zabbix datasource, so that we can import the data."},{"line_number":126,"context_line":"  As a result, the user can check the numerical values, average"},{"line_number":127,"context_line":"  / minimum / maximum values of collected real data (eg int, float)"},{"line_number":128,"context_line":"  over a certain period of time in the check UI."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"According to the request of the check UI, the Vitrage API simply passes"},{"line_number":131,"context_line":"data to the check component and triggers it. A separate check component"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_a89fc34e","line":128,"range":{"start_line":124,"start_character":8,"end_line":128,"end_character":48},"in_reply_to":"9f6a8fd7_7e2c1347","updated":"2018-04-17 06:11:48.000000000","message":"The case is simply an example of Zabbix history.\n \nThis is an example of Zabbix history that we thought through the related conversation of Zabbix history.\n\nTherefore, in order to think of this example, I have confirmed that the exact numbers related to Zabbix history can only be confirmed through DB, not Zabbix Web. Is that right?\n\nIs there an example of Zabbix hisotry that you think you might use? If so, I think it\u0027s okay to change the case.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"a4f84a0a545d02592b760ab6b8d4e4abfcfdb10b","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Zabbix history / trends: We can set conditional alarms for data"},{"line_number":123,"context_line":"  collected via Zabbix, but we can not confirm the exact numerical"},{"line_number":124,"context_line":"  data. We can add the ability to import Zabbix history or trends"},{"line_number":125,"context_line":"  data into Zabbix datasource, so that we can import the data."},{"line_number":126,"context_line":"  As a result, the user can check the numerical values, average"},{"line_number":127,"context_line":"  / minimum / maximum values of collected real data (eg int, float)"},{"line_number":128,"context_line":"  over a certain period of time in the check UI."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"According to the request of the check UI, the Vitrage API simply passes"},{"line_number":131,"context_line":"data to the check component and triggers it. A separate check component"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_72d755c1","line":128,"range":{"start_line":124,"start_character":8,"end_line":128,"end_character":48},"in_reply_to":"9f6a8fd7_a89fc34e","updated":"2018-04-17 08:32:23.000000000","message":"I think that Zabbix history can be used, but it should be used inside Zabbix and not inside Vitrage. I know that it is possible to create in Zabbix an alarm/trigger for predicted failure, based on the history and trends. \n\nI don\u0027t think that the history raw data of Zabbix is useful in Vitrage. It will force Vitrage to have a deep understanding of Zabbix history, and also to store a large amount of data - Vitrage is not designed for that. \n\nAnd since Vitrage cares about alarms, it could be a great idea to raise additional alarms in Zabbix based on its history. But this is not the scope of this spec.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":147,"context_line":"* Mistral Action Executor: Receives an action request from the cases,"},{"line_number":148,"context_line":"  asks the Mistral for the action, and receives the result."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"* Datasource Executor (Zabbix): Requests an action to fetch an action"},{"line_number":151,"context_line":"  or data from a specific monitoring datasource."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"We use the Vitrage API to trigger the check component on user request."},{"line_number":154,"context_line":"We will use the API for simple triggering purposes to avoid overhead"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_32b56f32","line":151,"range":{"start_line":150,"start_character":0,"end_line":151,"end_character":48},"updated":"2018-04-16 15:51:21.000000000","message":"I don\u0027t see how you can do that. A datasource inherits from a (datasource driver) base class, and implements a few methods like get_all. The datasource is called periodically, and/or responds to notifications. \n\nIf I understand correctly, you want a specific datasource to have a specific method like get_history, that is called upon demand. This breaks the generic design of the datasources, that get topology and create vertices and edges in the graph.\n\nMoreover, we really don\u0027t want to duplicate data that already exists in Zabbix.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":147,"context_line":"* Mistral Action Executor: Receives an action request from the cases,"},{"line_number":148,"context_line":"  asks the Mistral for the action, and receives the result."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"* Datasource Executor (Zabbix): Requests an action to fetch an action"},{"line_number":151,"context_line":"  or data from a specific monitoring datasource."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"We use the Vitrage API to trigger the check component on user request."},{"line_number":154,"context_line":"We will use the API for simple triggering purposes to avoid overhead"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_08b82fc6","line":151,"range":{"start_line":150,"start_character":0,"end_line":151,"end_character":48},"in_reply_to":"9f6a8fd7_32b56f32","updated":"2018-04-17 06:11:48.000000000","message":"I think you are right.\n\nI wanted to use the Zabbix datasource to get the Zabbix history mentioned above. This was simply for the use of pyzabbix.\n\nI will delete the contents.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":150,"context_line":"* Datasource Executor (Zabbix): Requests an action to fetch an action"},{"line_number":151,"context_line":"  or data from a specific monitoring datasource."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"We use the Vitrage API to trigger the check component on user request."},{"line_number":154,"context_line":"We will use the API for simple triggering purposes to avoid overhead"},{"line_number":155,"context_line":"for Vitrage, and the actual functioning will be done by external projects."},{"line_number":156,"context_line":"The check component only has the ability to manage results, invoke external"},{"line_number":157,"context_line":"projects, and display the results to the user."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"The overall workflow is as follows::"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_5e834f05","line":157,"range":{"start_line":153,"start_character":0,"end_line":157,"end_character":46},"updated":"2018-04-16 15:51:21.000000000","message":"I don\u0027t think that the check component should be part of Vitrage. It seems like putting too much monitoring functionality into Vitrage, while Vitrage was never meant to be a monitoring tool. \n\nWhy not let Mistral do all of this management? or at least write the actions in Mistral and write the management part in vitrage-dashboard?","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":150,"context_line":"* Datasource Executor (Zabbix): Requests an action to fetch an action"},{"line_number":151,"context_line":"  or data from a specific monitoring datasource."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"We use the Vitrage API to trigger the check component on user request."},{"line_number":154,"context_line":"We will use the API for simple triggering purposes to avoid overhead"},{"line_number":155,"context_line":"for Vitrage, and the actual functioning will be done by external projects."},{"line_number":156,"context_line":"The check component only has the ability to manage results, invoke external"},{"line_number":157,"context_line":"projects, and display the results to the user."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"The overall workflow is as follows::"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_28bdf3b6","line":157,"range":{"start_line":153,"start_character":0,"end_line":157,"end_character":46},"in_reply_to":"9f6a8fd7_5e834f05","updated":"2018-04-17 06:11:48.000000000","message":"Of course I can do that.\n\nAs I mentioned earlier, what I care about is the care of the case and the results.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":212,"context_line":"    these actions from an external project or datasource."},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"When the results of the above-mentioned procedure arrive from an external"},{"line_number":215,"context_line":"project or data source, we change the result to make it easier for users"},{"line_number":216,"context_line":"to view. Finally, we can see the output of different results depending on"},{"line_number":217,"context_line":"the components of the case you requested."},{"line_number":218,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_fe4b43ad","line":215,"range":{"start_line":215,"start_character":11,"end_line":215,"end_character":22},"updated":"2018-04-16 15:51:21.000000000","message":"The term \u0027datasource\u0027 is used in Vitrage for something else (retrieve the topology to the entity graph). It is confusing here.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":212,"context_line":"    these actions from an external project or datasource."},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"When the results of the above-mentioned procedure arrive from an external"},{"line_number":215,"context_line":"project or data source, we change the result to make it easier for users"},{"line_number":216,"context_line":"to view. Finally, we can see the output of different results depending on"},{"line_number":217,"context_line":"the components of the case you requested."},{"line_number":218,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_c8b1d7e3","line":215,"range":{"start_line":215,"start_character":11,"end_line":215,"end_character":22},"in_reply_to":"9f6a8fd7_fe4b43ad","updated":"2018-04-17 06:11:48.000000000","message":"I deleted this part. (Because it will not be used)","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":212,"context_line":"    these actions from an external project or datasource."},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"When the results of the above-mentioned procedure arrive from an external"},{"line_number":215,"context_line":"project or data source, we change the result to make it easier for users"},{"line_number":216,"context_line":"to view. Finally, we can see the output of different results depending on"},{"line_number":217,"context_line":"the components of the case you requested."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_1edab7e8","line":216,"range":{"start_line":215,"start_character":24,"end_line":216,"end_character":7},"updated":"2018-04-16 15:51:21.000000000","message":"Who changes the result and how?","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":212,"context_line":"    these actions from an external project or datasource."},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"When the results of the above-mentioned procedure arrive from an external"},{"line_number":215,"context_line":"project or data source, we change the result to make it easier for users"},{"line_number":216,"context_line":"to view. Finally, we can see the output of different results depending on"},{"line_number":217,"context_line":"the components of the case you requested."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_a8c82355","line":216,"range":{"start_line":215,"start_character":24,"end_line":216,"end_character":7},"in_reply_to":"9f6a8fd7_1edab7e8","updated":"2018-04-17 06:11:48.000000000","message":"I thought it was a check component.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":227,"context_line":"REST API impact"},{"line_number":228,"context_line":"---------------"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"POST /v1/checks/[casename]"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Versioning impact"},{"line_number":233,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_5e9eef07","line":230,"range":{"start_line":230,"start_character":0,"end_line":230,"end_character":26},"updated":"2018-04-16 15:51:21.000000000","message":"I don\u0027t think we should have this API in Vitrage. Also note that by creating such an API, you make it possible to use it from other places as well (like the CLI). It really turns Vitrage into a monitor...","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":227,"context_line":"REST API impact"},{"line_number":228,"context_line":"---------------"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"POST /v1/checks/[casename]"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Versioning impact"},{"line_number":233,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_68c20b36","line":230,"range":{"start_line":230,"start_character":0,"end_line":230,"end_character":26},"in_reply_to":"9f6a8fd7_5e9eef07","updated":"2018-04-17 06:11:48.000000000","message":"Okay.\n\nI\u0027ll fix it.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"9ef0b52fafa35109ca44d6beeec883fb43761863","unresolved":false,"context_lines":[{"line_number":254,"context_line":"* In the new UI, we will be able to enter each parameter"},{"line_number":255,"context_line":"  according to the checklist and see the results."},{"line_number":256,"context_line":"* Previous results can be viewed by clicking the tabs on"},{"line_number":257,"context_line":"  the list form, and previous results stored in the list"},{"line_number":258,"context_line":"  can be emptied by the user."},{"line_number":259,"context_line":"* Inspection sessions are added to the settings.conf file"},{"line_number":260,"context_line":"  in the task list and we can configure various checklists."},{"line_number":261,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_fea7c34e","line":258,"range":{"start_line":257,"start_character":21,"end_line":258,"end_character":28},"updated":"2018-04-16 15:51:21.000000000","message":"If they are not emptied, how long are they kept?","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"3e3da60cd91921744f1c95b28f30d09364cada3e","unresolved":false,"context_lines":[{"line_number":254,"context_line":"* In the new UI, we will be able to enter each parameter"},{"line_number":255,"context_line":"  according to the checklist and see the results."},{"line_number":256,"context_line":"* Previous results can be viewed by clicking the tabs on"},{"line_number":257,"context_line":"  the list form, and previous results stored in the list"},{"line_number":258,"context_line":"  can be emptied by the user."},{"line_number":259,"context_line":"* Inspection sessions are added to the settings.conf file"},{"line_number":260,"context_line":"  in the task list and we can configure various checklists."},{"line_number":261,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_bc52d233","line":258,"range":{"start_line":257,"start_character":21,"end_line":258,"end_character":28},"in_reply_to":"9f6a8fd7_23ceb162","updated":"2018-04-26 04:15:23.000000000","message":"I agree. As with you, we talked about keeping the results, but it would be better to have the other check carried out without keeping the results.\n\nWhether we save the results or not, it does not seem to be a big difference for user.\n\nI will change it. :)","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"d3efd8cbe9291e27659433359348c8b7941dbc6c","unresolved":false,"context_lines":[{"line_number":254,"context_line":"* In the new UI, we will be able to enter each parameter"},{"line_number":255,"context_line":"  according to the checklist and see the results."},{"line_number":256,"context_line":"* Previous results can be viewed by clicking the tabs on"},{"line_number":257,"context_line":"  the list form, and previous results stored in the list"},{"line_number":258,"context_line":"  can be emptied by the user."},{"line_number":259,"context_line":"* Inspection sessions are added to the settings.conf file"},{"line_number":260,"context_line":"  in the task list and we can configure various checklists."},{"line_number":261,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_23ceb162","line":258,"range":{"start_line":257,"start_character":21,"end_line":258,"end_character":28},"in_reply_to":"9f6a8fd7_e8eb7bad","updated":"2018-04-25 15:48:56.000000000","message":"In the past I understood from you that you only want to keep the results for a short time. If you want to store them for a longer time, it raises a lot of issues: where to store them (vitrage-dashboard does not have a DB at the moment), in what format (I don\u0027t want Vitrage to understand the formats of external projects), etc. I\u0027m not sure it\u0027s a good idea.\n \nMaybe we should just let the user run a check and see the results. Later on, if the problem persists, he can run another check.\nWhat do you think?","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"15b8204544b8f08fdd30e2c58d39381896f13157","unresolved":false,"context_lines":[{"line_number":254,"context_line":"* In the new UI, we will be able to enter each parameter"},{"line_number":255,"context_line":"  according to the checklist and see the results."},{"line_number":256,"context_line":"* Previous results can be viewed by clicking the tabs on"},{"line_number":257,"context_line":"  the list form, and previous results stored in the list"},{"line_number":258,"context_line":"  can be emptied by the user."},{"line_number":259,"context_line":"* Inspection sessions are added to the settings.conf file"},{"line_number":260,"context_line":"  in the task list and we can configure various checklists."},{"line_number":261,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_e8eb7bad","line":258,"range":{"start_line":257,"start_character":21,"end_line":258,"end_character":28},"in_reply_to":"9f6a8fd7_fea7c34e","updated":"2018-04-17 06:11:48.000000000","message":"I think this is implementation-specific. We can implement a setting in the setting.conf to set the storage period, or we can set a fixed period.","commit_id":"635ad77454f359d9a9746ecb908a3d095dc38386"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"a4f84a0a545d02592b760ab6b8d4e4abfcfdb10b","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                                 | |    Datasource)    | |"},{"line_number":180,"context_line":"                                 | +-------------------+ |"},{"line_number":181,"context_line":"                                 +-----------------------+"},{"line_number":182,"context_line":"                                             | "},{"line_number":183,"context_line":"                                          (6)|"},{"line_number":184,"context_line":"                                             |            "},{"line_number":185,"context_line":"                                       +-----v----+"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_929ea905","line":182,"range":{"start_line":182,"start_character":46,"end_line":182,"end_character":47},"updated":"2018-04-17 08:32:23.000000000","message":"You have an extra space here (appears in red in gerrit)","commit_id":"5bb8058bf9f6413f1f58fbe5239c2a4a5572b6c5"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"97a1fe7fa50fe844bec792e4497e7fe6302601d9","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                                 | |    Datasource)    | |"},{"line_number":180,"context_line":"                                 | +-------------------+ |"},{"line_number":181,"context_line":"                                 +-----------------------+"},{"line_number":182,"context_line":"                                             | "},{"line_number":183,"context_line":"                                          (6)|"},{"line_number":184,"context_line":"                                             |            "},{"line_number":185,"context_line":"                                       +-----v----+"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_7383c0cd","line":182,"range":{"start_line":182,"start_character":46,"end_line":182,"end_character":47},"in_reply_to":"9f6a8fd7_929ea905","updated":"2018-04-18 02:31:41.000000000","message":"Done","commit_id":"5bb8058bf9f6413f1f58fbe5239c2a4a5572b6c5"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"a4f84a0a545d02592b760ab6b8d4e4abfcfdb10b","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                                 +-----------------------+"},{"line_number":182,"context_line":"                                             | "},{"line_number":183,"context_line":"                                          (6)|"},{"line_number":184,"context_line":"                                             |            "},{"line_number":185,"context_line":"                                       +-----v----+"},{"line_number":186,"context_line":"                                       |          |"},{"line_number":187,"context_line":"                                       |  Mistral |"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_b2a3ad4f","line":184,"range":{"start_line":184,"start_character":46,"end_line":184,"end_character":58},"updated":"2018-04-17 08:32:23.000000000","message":"Same here and below","commit_id":"5bb8058bf9f6413f1f58fbe5239c2a4a5572b6c5"},{"author":{"_account_id":26171,"name":"MinWookKim","email":"delightwook@dcn.ssu.ac.kr","username":"MinWookKim"},"change_message_id":"97a1fe7fa50fe844bec792e4497e7fe6302601d9","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                                 +-----------------------+"},{"line_number":182,"context_line":"                                             | "},{"line_number":183,"context_line":"                                          (6)|"},{"line_number":184,"context_line":"                                             |            "},{"line_number":185,"context_line":"                                       +-----v----+"},{"line_number":186,"context_line":"                                       |          |"},{"line_number":187,"context_line":"                                       |  Mistral |"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_938694db","line":184,"range":{"start_line":184,"start_character":46,"end_line":184,"end_character":58},"in_reply_to":"9f6a8fd7_b2a3ad4f","updated":"2018-04-18 02:31:41.000000000","message":"Done","commit_id":"5bb8058bf9f6413f1f58fbe5239c2a4a5572b6c5"}]}
