)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30623,"name":"suzhengwei","email":"suzhengwei@inspur.com","username":"SuZhengwei"},"change_message_id":"7f24b5e4235629a8e57b725787786b59372c90e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"31356bf6_66be61da","updated":"2022-02-11 02:03:01.000000000","message":"This is just a new plugin for hostmonitor. The user can choose to use the original one (by pacemaker) or this new one (by consul).\nI will merge it in two weeks if no more reviews.","commit_id":"7c476d07aa2dadf4f89730db6d3937dd248aa2ef"}],"masakarimonitors/hostmonitor/consul_check/driver.py":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"07524cccd42b8caab9809cd69b150e1d539e4c30","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright(c) 2016 Nippon Telegraph and Telephone Corporation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":2,"id":"c80abda0_23be048d","line":1,"updated":"2021-08-07 13:58:10.000000000","message":"this file should not be duplicated, let\u0027s reuse the original one again; perhaps wise to move it one level up (directory-wise)","commit_id":"af8477608314104b3f5bd1de80e3595e95889470"}],"masakarimonitors/hostmonitor/consul_check/manager.py":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"de350981200e2aa17a3ac2ddc5dffb1e57b06464","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        host_status \u003d ec.EventConstants.HOST_STATUS_NORMAL"},{"line_number":72,"context_line":"        if \u0027down\u0027 not in host_health:"},{"line_number":73,"context_line":"            event_type \u003d ec.EventConstants.EVENT_STARTED"},{"line_number":74,"context_line":"            cluster_status \u003d \u0027ONLINE\u0027"},{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            actions \u003d self.get_action_from_matrix(host_health)"},{"line_number":77,"context_line":"            if \u0027recovery\u0027 in actions:"}],"source_content_type":"text/x-python","patch_set":9,"id":"14e93f62_5b4a3d6f","line":74,"range":{"start_line":74,"start_character":30,"end_line":74,"end_character":37},"updated":"2021-09-07 13:19:28.000000000","message":"should use the constant","commit_id":"e4393f7e8ce9e405e8df9990667609c9310bc0a8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"3c5b7ce812527dab864b9bb6eac5453b5e83d23f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        host_status \u003d ec.EventConstants.HOST_STATUS_NORMAL"},{"line_number":72,"context_line":"        if \u0027down\u0027 not in host_health:"},{"line_number":73,"context_line":"            event_type \u003d ec.EventConstants.EVENT_STARTED"},{"line_number":74,"context_line":"            cluster_status \u003d \u0027ONLINE\u0027"},{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            actions \u003d self.get_action_from_matrix(host_health)"},{"line_number":77,"context_line":"            if \u0027recovery\u0027 in actions:"}],"source_content_type":"text/x-python","patch_set":9,"id":"19bd07c6_a49671a7","line":74,"range":{"start_line":74,"start_character":30,"end_line":74,"end_character":37},"in_reply_to":"14e93f62_5b4a3d6f","updated":"2021-09-14 03:36:48.000000000","message":"Done","commit_id":"e4393f7e8ce9e405e8df9990667609c9310bc0a8"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"de350981200e2aa17a3ac2ddc5dffb1e57b06464","unresolved":true,"context_lines":[{"line_number":73,"context_line":"            event_type \u003d ec.EventConstants.EVENT_STARTED"},{"line_number":74,"context_line":"            cluster_status \u003d \u0027ONLINE\u0027"},{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            actions \u003d self.get_action_from_matrix(host_health)"},{"line_number":77,"context_line":"            if \u0027recovery\u0027 in actions:"},{"line_number":78,"context_line":"                LOG.info(\"Host %s needs recovery, health status: %s.\" %"},{"line_number":79,"context_line":"                         (host, str(self._formate_health(host_health))))"}],"source_content_type":"text/x-python","patch_set":9,"id":"34d8a07f_6d7b2b44","line":76,"range":{"start_line":76,"start_character":12,"end_line":76,"end_character":20},"updated":"2021-09-07 13:19:28.000000000","message":"singular: \"action\"","commit_id":"e4393f7e8ce9e405e8df9990667609c9310bc0a8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"3c5b7ce812527dab864b9bb6eac5453b5e83d23f","unresolved":true,"context_lines":[{"line_number":73,"context_line":"            event_type \u003d ec.EventConstants.EVENT_STARTED"},{"line_number":74,"context_line":"            cluster_status \u003d \u0027ONLINE\u0027"},{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            actions \u003d self.get_action_from_matrix(host_health)"},{"line_number":77,"context_line":"            if \u0027recovery\u0027 in actions:"},{"line_number":78,"context_line":"                LOG.info(\"Host %s needs recovery, health status: %s.\" %"},{"line_number":79,"context_line":"                         (host, str(self._formate_health(host_health))))"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a6866cd_23fc53a5","line":76,"range":{"start_line":76,"start_character":12,"end_line":76,"end_character":20},"in_reply_to":"34d8a07f_6d7b2b44","updated":"2021-09-14 03:36:48.000000000","message":"I prefer to make the actions as a flexable list, although it just has one item now.","commit_id":"e4393f7e8ce9e405e8df9990667609c9310bc0a8"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"de350981200e2aa17a3ac2ddc5dffb1e57b06464","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            cluster_status \u003d \u0027ONLINE\u0027"},{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            actions \u003d self.get_action_from_matrix(host_health)"},{"line_number":77,"context_line":"            if \u0027recovery\u0027 in actions:"},{"line_number":78,"context_line":"                LOG.info(\"Host %s needs recovery, health status: %s.\" %"},{"line_number":79,"context_line":"                         (host, str(self._formate_health(host_health))))"},{"line_number":80,"context_line":"                event_type \u003d ec.EventConstants.EVENT_STOPPED"}],"source_content_type":"text/x-python","patch_set":9,"id":"835a1a72_f8d9eba9","line":77,"range":{"start_line":77,"start_character":26,"end_line":77,"end_character":29},"updated":"2021-09-07 13:19:28.000000000","message":"action \u003d\u003d \u0027recovery\u0027\n\nbest make these strings an actual enum","commit_id":"e4393f7e8ce9e405e8df9990667609c9310bc0a8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"3c5b7ce812527dab864b9bb6eac5453b5e83d23f","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            cluster_status \u003d \u0027ONLINE\u0027"},{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            actions \u003d self.get_action_from_matrix(host_health)"},{"line_number":77,"context_line":"            if \u0027recovery\u0027 in actions:"},{"line_number":78,"context_line":"                LOG.info(\"Host %s needs recovery, health status: %s.\" %"},{"line_number":79,"context_line":"                         (host, str(self._formate_health(host_health))))"},{"line_number":80,"context_line":"                event_type \u003d ec.EventConstants.EVENT_STOPPED"}],"source_content_type":"text/x-python","patch_set":9,"id":"d327a0c2_3c45d6bc","line":77,"range":{"start_line":77,"start_character":26,"end_line":77,"end_character":29},"in_reply_to":"835a1a72_f8d9eba9","updated":"2021-09-14 03:36:48.000000000","message":"yes. But I\u0027m not going to do it right now, because user can define the HA strategy without the same strings. It\u0027s better to have a method to valid the HA strategy and configurations.","commit_id":"e4393f7e8ce9e405e8df9990667609c9310bc0a8"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"de350981200e2aa17a3ac2ddc5dffb1e57b06464","unresolved":true,"context_lines":[{"line_number":78,"context_line":"                LOG.info(\"Host %s needs recovery, health status: %s.\" %"},{"line_number":79,"context_line":"                         (host, str(self._formate_health(host_health))))"},{"line_number":80,"context_line":"                event_type \u003d ec.EventConstants.EVENT_STOPPED"},{"line_number":81,"context_line":"                cluster_status \u003d \u0027OFFLINE\u0027"},{"line_number":82,"context_line":"            else:"},{"line_number":83,"context_line":"                return None"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9fc6355f_896eb2bd","line":81,"range":{"start_line":81,"start_character":34,"end_line":81,"end_character":42},"updated":"2021-09-07 13:19:28.000000000","message":"ditto - use constant","commit_id":"e4393f7e8ce9e405e8df9990667609c9310bc0a8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"3c5b7ce812527dab864b9bb6eac5453b5e83d23f","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                LOG.info(\"Host %s needs recovery, health status: %s.\" %"},{"line_number":79,"context_line":"                         (host, str(self._formate_health(host_health))))"},{"line_number":80,"context_line":"                event_type \u003d ec.EventConstants.EVENT_STOPPED"},{"line_number":81,"context_line":"                cluster_status \u003d \u0027OFFLINE\u0027"},{"line_number":82,"context_line":"            else:"},{"line_number":83,"context_line":"                return None"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"edbee201_b797cfd6","line":81,"range":{"start_line":81,"start_character":34,"end_line":81,"end_character":42},"in_reply_to":"9fc6355f_896eb2bd","updated":"2021-09-14 03:36:48.000000000","message":"Done","commit_id":"e4393f7e8ce9e405e8df9990667609c9310bc0a8"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"de350981200e2aa17a3ac2ddc5dffb1e57b06464","unresolved":true,"context_lines":[{"line_number":153,"context_line":"            if host_health \u003d\u003d matrix_health:"},{"line_number":154,"context_line":"                return matrix_action"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        return []"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def poll_hosts(self):"},{"line_number":159,"context_line":"        \u0027\u0027\u0027poll and check hosts health\u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"5e63da72_c84c0d6f","line":156,"range":{"start_line":156,"start_character":15,"end_line":156,"end_character":17},"updated":"2021-09-07 13:19:28.000000000","message":"None","commit_id":"e4393f7e8ce9e405e8df9990667609c9310bc0a8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"3c5b7ce812527dab864b9bb6eac5453b5e83d23f","unresolved":true,"context_lines":[{"line_number":153,"context_line":"            if host_health \u003d\u003d matrix_health:"},{"line_number":154,"context_line":"                return matrix_action"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        return []"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def poll_hosts(self):"},{"line_number":159,"context_line":"        \u0027\u0027\u0027poll and check hosts health\u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"412acbc9_1e2f1513","line":156,"range":{"start_line":156,"start_character":15,"end_line":156,"end_character":17},"in_reply_to":"5e63da72_c84c0d6f","updated":"2021-09-14 03:36:48.000000000","message":"ditto #76","commit_id":"e4393f7e8ce9e405e8df9990667609c9310bc0a8"}]}
