)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4fea8ef18fbd88ef8abd0d07723d6b0488850d12","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fc24d73a_6d965a33","updated":"2024-02-24 23:46:07.000000000","message":"WIP - this needs test coverage work","commit_id":"2e7d4439a7f6bca8a6c14dea0aa4260a36e4b90b"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"04d58f9e4e05b25d06d38a089e7dc0d8df9ad231","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5719abe2_196f3616","updated":"2024-02-24 23:59:17.000000000","message":"WIP - Need test coverage work","commit_id":"6ef395c36ae65da7d2087d5432e763d7642f50d2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"813903964c81766ca02e2ac0c983e95c0e6e9cfa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c5be427c_7694ec5f","updated":"2024-02-26 00:57:08.000000000","message":"WIP - Still test coverage to address","commit_id":"11dc1f570ab3db002fb7b5cae731242bc8c42462"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"674023ec8286725cc6caff110eb39c44a1629629","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"5f18f993_6638e870","updated":"2024-02-28 06:53:44.000000000","message":"recheck\namphora failover unrelated","commit_id":"85018472f91935e3df1bc7b2e4b1120d10b01b3d"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"91e1b82983ba853c6e19d2343ca1d045e4667bc3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"8f2ff23d_9726c330","updated":"2024-02-29 03:19:20.000000000","message":"LGTM\nThere is a missing developer docs update, but that can be done in another patch.","commit_id":"fc37d8303dced9dcbebe0e65c491b4cd416324f4"}],"octavia/amphorae/drivers/haproxy/rest_api_driver.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"91e1b82983ba853c6e19d2343ca1d045e4667bc3","unresolved":true,"context_lines":[{"line_number":886,"context_line":"        r \u003d self.put(amp, \u0027config\u0027, timeout_dict, data\u003dagent_config)"},{"line_number":887,"context_line":"        return exc.check_exception(r)"},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"    def set_interface_rules(self, amp, ip_address, rules):"},{"line_number":890,"context_line":"        r \u003d self.put(amp, f\u0027interface/{ip_address}/rules\u0027, json\u003drules)"},{"line_number":891,"context_line":"        return exc.check_exception(r)"}],"source_content_type":"text/x-python","patch_set":13,"id":"e9a7c7fa_4ca63af3","line":889,"updated":"2024-02-29 03:19:20.000000000","message":"This is missing from the amphora API reference document.\nThis can be corrected in a follow up patch.","commit_id":"fc37d8303dced9dcbebe0e65c491b4cd416324f4"}],"octavia/controller/worker/v2/flows/amphora_flows.py":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"696b6ab60aa75bde090d4c27708fea4b599aea99","unresolved":true,"context_lines":[{"line_number":280,"context_line":"            inject\u003d{constants.AMPHORA_INDEX: 0,"},{"line_number":281,"context_line":"                    constants.TIMEOUT_DICT: timeout_dict}))"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        amp_0_subflow.add(database_tasks.GetAmphoraFirewallRules("},{"line_number":284,"context_line":"            name\u003dsf_name + \u0027-0-\u0027 + constants.GET_AMPHORA_FIREWALL_RULES,"},{"line_number":285,"context_line":"            requires\u003d(constants.AMPHORAE, constants.AMPHORAE_NETWORK_CONFIG),"},{"line_number":286,"context_line":"            provides\u003dconstants.AMPHORA_FIREWALL_RULES,"}],"source_content_type":"text/x-python","patch_set":11,"id":"4301ca67_f57db662","line":283,"range":{"start_line":283,"start_character":8,"end_line":283,"end_character":21},"updated":"2024-02-28 10:35:48.000000000","message":"I see that the Tasks.execute functions are skipped when the port is not SRIOV, but can we add a condition to not add the Tasks to the flow here? or is it too much complicated?\n(I\u0027m not asking an update of the code, just asking if it\u0027s doable)","commit_id":"85018472f91935e3df1bc7b2e4b1120d10b01b3d"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4ac3868131dfdd3d7c67083d380c82651e7ce949","unresolved":false,"context_lines":[{"line_number":280,"context_line":"            inject\u003d{constants.AMPHORA_INDEX: 0,"},{"line_number":281,"context_line":"                    constants.TIMEOUT_DICT: timeout_dict}))"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        amp_0_subflow.add(database_tasks.GetAmphoraFirewallRules("},{"line_number":284,"context_line":"            name\u003dsf_name + \u0027-0-\u0027 + constants.GET_AMPHORA_FIREWALL_RULES,"},{"line_number":285,"context_line":"            requires\u003d(constants.AMPHORAE, constants.AMPHORAE_NETWORK_CONFIG),"},{"line_number":286,"context_line":"            provides\u003dconstants.AMPHORA_FIREWALL_RULES,"}],"source_content_type":"text/x-python","patch_set":11,"id":"911ac9f2_2a32ef54","line":283,"range":{"start_line":283,"start_character":8,"end_line":283,"end_character":21},"in_reply_to":"2afeeb5b_f6272570","updated":"2024-02-28 17:25:26.000000000","message":"Done","commit_id":"85018472f91935e3df1bc7b2e4b1120d10b01b3d"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"88e1e61af4ecd64c30d2fb9d72ecebd08d728f02","unresolved":true,"context_lines":[{"line_number":280,"context_line":"            inject\u003d{constants.AMPHORA_INDEX: 0,"},{"line_number":281,"context_line":"                    constants.TIMEOUT_DICT: timeout_dict}))"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        amp_0_subflow.add(database_tasks.GetAmphoraFirewallRules("},{"line_number":284,"context_line":"            name\u003dsf_name + \u0027-0-\u0027 + constants.GET_AMPHORA_FIREWALL_RULES,"},{"line_number":285,"context_line":"            requires\u003d(constants.AMPHORAE, constants.AMPHORAE_NETWORK_CONFIG),"},{"line_number":286,"context_line":"            provides\u003dconstants.AMPHORA_FIREWALL_RULES,"}],"source_content_type":"text/x-python","patch_set":11,"id":"2afeeb5b_f6272570","line":283,"range":{"start_line":283,"start_character":8,"end_line":283,"end_character":21},"in_reply_to":"4301ca67_f57db662","updated":"2024-02-28 17:08:02.000000000","message":"Yep, agreed, fixed.","commit_id":"85018472f91935e3df1bc7b2e4b1120d10b01b3d"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"abc8376af55d444aae90c06771d8c052592fb588","unresolved":true,"context_lines":[{"line_number":288,"context_line":"                provides\u003dconstants.AMPHORA_FIREWALL_RULES,"},{"line_number":289,"context_line":"                inject\u003d{constants.AMPHORA_INDEX: 0}))"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"            amp_0_subflow.add(amphora_driver_tasks.SetAmphoraFirewallRules("},{"line_number":292,"context_line":"                name\u003dsf_name + \u0027-0-\u0027 + constants.SET_AMPHORA_FIREWALL_RULES,"},{"line_number":293,"context_line":"                requires\u003d(constants.AMPHORAE,"},{"line_number":294,"context_line":"                          constants.AMPHORA_FIREWALL_RULES),"}],"source_content_type":"text/x-python","patch_set":13,"id":"705b4734_329f3b9f","line":291,"range":{"start_line":291,"start_character":51,"end_line":291,"end_character":74},"updated":"2024-02-28 21:30:11.000000000","message":"I think we can use AMPHORAE_STATUS to check this amphora is reachable (to avoid long timeout when 2 amps are down during a failover)\nit can be addressed in a followup patch","commit_id":"fc37d8303dced9dcbebe0e65c491b4cd416324f4"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"abc8376af55d444aae90c06771d8c052592fb588","unresolved":true,"context_lines":[{"line_number":328,"context_line":"                provides\u003dconstants.AMPHORA_FIREWALL_RULES,"},{"line_number":329,"context_line":"                inject\u003d{constants.AMPHORA_INDEX: 1}))"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"            amp_1_subflow.add(amphora_driver_tasks.SetAmphoraFirewallRules("},{"line_number":332,"context_line":"                name\u003dsf_name + \u0027-1-\u0027 + constants.SET_AMPHORA_FIREWALL_RULES,"},{"line_number":333,"context_line":"                requires\u003d(constants.AMPHORAE,"},{"line_number":334,"context_line":"                          constants.AMPHORA_FIREWALL_RULES),"}],"source_content_type":"text/x-python","patch_set":13,"id":"16d7df1b_fb642064","line":331,"range":{"start_line":331,"start_character":51,"end_line":331,"end_character":74},"updated":"2024-02-28 21:30:11.000000000","message":"I think we can use AMPHORAE_STATUS to check this amphora is reachable (to avoid long timeout when 2 amps are down during a failover)\nit can be addressed in a followup patch","commit_id":"fc37d8303dced9dcbebe0e65c491b4cd416324f4"}]}
