)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"ef5cae9f7c43c81c4ef4220b88a123a5375a4ef8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"767ad8e6_19a82a35","updated":"2023-01-19 09:06:07.000000000","message":"recheck octavia-v2-dsvm-noop-api unrelated","commit_id":"72dde8eb2afe11a38dc7118c92b6659a33ac5822"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d8e277a8_66edbb9c","updated":"2023-02-08 16:25:03.000000000","message":"This patch needs further review","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"bf46b96f4d4f1e141eced31d7dc6c55eeef8c9b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"13ad2adf_6460066e","updated":"2023-02-03 07:29:03.000000000","message":"W-1 Checking how we could reduce the duration of the test class","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"4c93ddd2446bd36ec8d2db9944506fd532c2b8ca","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"7d573fe0_546fe4b6","updated":"2023-03-01 15:43:18.000000000","message":"My only issue with those tests is that for each combination of lb algorithm and traffic type you need to do an expensive setup and teardown and that will proabably make the test run slow. I wonder if we could find a better way and re-use resources for multiple tests by reconfiguring listeners instead of going to setup/teardown each time.","commit_id":"59853c2895340372c5617a1cefe7433292024451"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"9d3205fb9a6f27e68dda0e117b9b6e2b183a4566","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"a98b3d7c_24cbe11f","updated":"2023-03-31 06:10:51.000000000","message":"recheck now that the split got merged","commit_id":"59853c2895340372c5617a1cefe7433292024451"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"5748cb982292e2b3c98037babf23a6c652dce80b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"28931e28_afc3c2ad","updated":"2023-04-03 11:56:44.000000000","message":"Looks like octavia-v2-dsvm-scenario* have the same problem\n","commit_id":"6e7698130c04f7e57df1770d2b6d5caa847f9276"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"7c25a67fa383a32691e6fa0b81be954a6c60e92f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"6a0c89b8_0f4eccb0","updated":"2023-04-18 09:34:22.000000000","message":"One of the goals of this commit is to add more coverage for the ovn-octavia-provider, but those new tests are skipped:\nhttps://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_288/870824/10/check/neutron-ovn-provider-v2-scenario/288b09b/testr_results.html","commit_id":"6e7698130c04f7e57df1770d2b6d5caa847f9276"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"4e271cd898526a9ebad9733161d173a3137d6b63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"42f086f3_452a136d","updated":"2025-04-10 11:37:43.000000000","message":"recheck getting new logs","commit_id":"6e7698130c04f7e57df1770d2b6d5caa847f9276"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"c6bf438e25a7d928b4a329a9f335caf7227f2ddc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"4845956d_93ebac3a","updated":"2024-05-13 15:21:39.000000000","message":"recheck getting new logs","commit_id":"6e7698130c04f7e57df1770d2b6d5caa847f9276"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"3e9256789f59d47f367ca6453b979bc6073ba19e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"0d54ba7c_a58e2822","updated":"2023-04-03 07:20:32.000000000","message":"recheck job timed out","commit_id":"6e7698130c04f7e57df1770d2b6d5caa847f9276"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"9da34bd28df77f1dc685f180a48d21a1e9af6b45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"67b1ef7f_75937ff4","updated":"2023-05-17 05:45:34.000000000","message":"recheck now that https://review.opendev.org/c/openstack/octavia-tempest-plugin/+/882807 is in","commit_id":"6e7698130c04f7e57df1770d2b6d5caa847f9276"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"8e2ea4583b88643ef29b096b85e90d55ab69199d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"1fd9b86d_ce3042b4","updated":"2023-05-17 08:55:51.000000000","message":"still TIMEOUT\nthe test_healthmonitor.*_traffic tests spend a lot of time in the CI\n\n```\n2023-05-17 06:35:36.778078 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_least_connections_http_traffic [166.922736s] ... ok\n2023-05-17 06:38:29.754898 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_least_connections_tcp_traffic [172.953725s] ... ok\n2023-05-17 06:42:28.442909 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_least_connections_udp_traffic [238.670048s] ... ok\n2023-05-17 06:45:51.191142 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_round_robin_http_traffic [202.720881s] ... ok\n2023-05-17 06:49:05.024154 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_round_robin_tcp_traffic [193.819399s] ... ok\n2023-05-17 06:53:02.654565 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_round_robin_udp_traffic [237.603814s] ... ok\n2023-05-17 06:57:09.866732 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_source_ip_http_traffic [247.188879s] ... ok\n2023-05-17 06:57:27.117404 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_source_ip_port_http_traffic ... SKIPPED: Provider \u0027octavia\u0027 does not support a requested option: Amphora provider does not support SOURCE_IP_PORT algorithm.\n2023-05-17 06:57:50.517480 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_source_ip_port_tcp_traffic ... SKIPPED: Provider \u0027octavia\u0027 does not support a requested option: Amphora provider does not support SOURCE_IP_PORT algorithm.\n2023-05-17 06:58:14.159547 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_source_ip_port_udp_traffic ... SKIPPED: Provider \u0027octavia\u0027 does not support a requested option: Amphora provider does not support SOURCE_IP_PORT algorithm.\n2023-05-17 07:02:07.623383 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_source_ip_tcp_traffic [233.443763s] ... ok\n2023-05-17 07:06:01.426128 | controller | {1} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_healthmonitor_source_ip_udp_traffic [233.783912s] ... ok\n```","commit_id":"6e7698130c04f7e57df1770d2b6d5caa847f9276"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"e892df6beab6f5c62e178e1cdff6bc50cc4f76b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"717ba425_1a049c7b","in_reply_to":"1fd9b86d_ce3042b4","updated":"2023-05-17 09:00:44.000000000","message":"note that the duration looks better on xena:\n\n(slow node? or issue on master?)\n\n```\ntest_healthmonitor_least_connections_http_traffic [95.380948s] ... ok\ntest_healthmonitor_least_connections_tcp_traffic [90.996525s] ... ok\ntest_healthmonitor_least_connections_udp_traffic [133.561417s] ... ok\ntest_healthmonitor_round_robin_http_traffic [100.137432s] ... ok\ntest_healthmonitor_round_robin_tcp_traffic [102.573307s] ... ok\ntest_healthmonitor_round_robin_udp_traffic [113.747686s] ... ok\ntest_healthmonitor_source_ip_http_traffic [97.141814s] ... ok\ntest_healthmonitor_source_ip_tcp_traffic [116.710295s] ... ok\ntest_healthmonitor_source_ip_udp_traffic [121.068313s] ... ok\n```","commit_id":"6e7698130c04f7e57df1770d2b6d5caa847f9276"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"152d9ac13a8d4174c10726826262b179c9c1b72c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":10,"id":"89af52b1_33c98f69","in_reply_to":"6a0c89b8_0f4eccb0","updated":"2023-04-19 08:15:41.000000000","message":"In my opinion, that comment is not entirely accurate.\n\nThese tests evaluate the traffic balancing for all algorithms that Octavia supports, thereby enhancing the  coverage of the tests beyond the evaluation of ROUND_ROBIN algorithm alone, as was the case prior to this patch.\n\nHas this patch been associated to ovn-octavia-provider simply by the author of the patch?\n\nEven so, a similar work to the one done in [1], is recommended, since many jobs are currently giving timeout because they are close to the time limit with the currently implemented tests.\n\nIndeed ovn-octavia-provider has these tests skipped, it was waiting for this patch to merge to be activated, and also it seems that in some balancing validations are used members with/without monitor_address/port which is not supported by ovn-provider, for that there would be two possible successive patches to this one:\n- Remove the mixing of members with/without monitor_port here [2] (Not mixing features in tests is a good practice when a test is aimed to a general public that implements only certain features)\n- If the previous point is not accepted, add a conf to the job, as is already done with not_implemented_is_error, health_monitor_enabled, l4_protocol, etc [3] that allows the execution of the job parameterised to skip the use of monitor_address/port, without affecting the actual code.\n\n[1] https://review.opendev.org/c/openstack/octavia-tempest-plugin/+/874054\n[2] https://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py#L332\n[3] https://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/config.py#L256 (edited)","commit_id":"6e7698130c04f7e57df1770d2b6d5caa847f9276"}],"octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":476,"context_line":"        self.check_members_balanced(self.lb_vip_address,"},{"line_number":477,"context_line":"                                    protocol_port\u003dprotocol_port,"},{"line_number":478,"context_line":"                                    protocol\u003dprotocol,"},{"line_number":479,"context_line":"                                    repeat\u003d19,"},{"line_number":480,"context_line":"                                    traffic_member_count\u003dmembers,"},{"line_number":481,"context_line":"                                    lb_algorithm\u003dpool_lb_algorithm,"},{"line_number":482,"context_line":"                                    persistent\u003dpersistent)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1c54116f_95af20f4","line":479,"updated":"2023-02-08 16:25:03.000000000","message":"This change adds 228 new round trips to the backend member servers from this patch alone. Do we really need that many to prove functionality?","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":true,"context_lines":[{"line_number":476,"context_line":"        self.check_members_balanced(self.lb_vip_address,"},{"line_number":477,"context_line":"                                    protocol_port\u003dprotocol_port,"},{"line_number":478,"context_line":"                                    protocol\u003dprotocol,"},{"line_number":479,"context_line":"                                    repeat\u003d19,"},{"line_number":480,"context_line":"                                    traffic_member_count\u003dmembers,"},{"line_number":481,"context_line":"                                    lb_algorithm\u003dpool_lb_algorithm,"},{"line_number":482,"context_line":"                                    persistent\u003dpersistent)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1465115b_0d0a64b8","line":479,"in_reply_to":"1c54116f_95af20f4","updated":"2023-02-08 20:09:26.000000000","message":"I don\u0027t know if I understood this comment correctly 😕\n\nIn check_members_balanced the default value for repeat is 20, so I imagine that the comment is not related to the \"repeat\u003d19\" but for the new amount of tests. But I think are more, before this patch we only evaluate ROUND_ROBIN for the 3 protocols (http, tcp and udp), each of those test call to _test_healthmonitor_traffic and each one of them call check_members_balanced 3 times so 3x3x20\u003d120 checks, now we do the same for the other 3 additional lb_algorithms supported so 4x3x3x19\u003d684 checks (just in case the driver support the four algorithms). IMHO now we have 100% coverage, and before it we have 25%.","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":490,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":491,"context_line":"                const.HTTP, 8200, pool_id,"},{"line_number":492,"context_line":"                const.LB_ALGORITHM_LEAST_CONNECTIONS)"},{"line_number":493,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":494,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":495,"context_line":"                       \"does not support a feature required for this \""},{"line_number":496,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"8cf325ce_0ffdc466","line":493,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":490,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":491,"context_line":"                const.HTTP, 8200, pool_id,"},{"line_number":492,"context_line":"                const.LB_ALGORITHM_LEAST_CONNECTIONS)"},{"line_number":493,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":494,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":495,"context_line":"                       \"does not support a feature required for this \""},{"line_number":496,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"398e9fbe_bd4f1ff2","line":493,"in_reply_to":"8cf325ce_0ffdc466","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":506,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_ROUND_ROBIN)[1]"},{"line_number":507,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":508,"context_line":"                const.HTTP, 8201, pool_id, const.LB_ALGORITHM_ROUND_ROBIN)"},{"line_number":509,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":510,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":511,"context_line":"                       \"does not support a feature required for this \""},{"line_number":512,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"a3c39c12_8e39f3e6","line":509,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":506,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_ROUND_ROBIN)[1]"},{"line_number":507,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":508,"context_line":"                const.HTTP, 8201, pool_id, const.LB_ALGORITHM_ROUND_ROBIN)"},{"line_number":509,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":510,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":511,"context_line":"                       \"does not support a feature required for this \""},{"line_number":512,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"6fe24656_f0cabe64","line":509,"in_reply_to":"a3c39c12_8e39f3e6","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":522,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_SOURCE_IP)[1]"},{"line_number":523,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":524,"context_line":"                const.HTTP, 8202, pool_id, const.LB_ALGORITHM_SOURCE_IP)"},{"line_number":525,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":526,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":527,"context_line":"                       \"does not support a feature required for this \""},{"line_number":528,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"bd5aa9e7_360dcafc","line":525,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":522,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_SOURCE_IP)[1]"},{"line_number":523,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":524,"context_line":"                const.HTTP, 8202, pool_id, const.LB_ALGORITHM_SOURCE_IP)"},{"line_number":525,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":526,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":527,"context_line":"                       \"does not support a feature required for this \""},{"line_number":528,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"050d5944_596dd15e","line":525,"in_reply_to":"bd5aa9e7_360dcafc","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":538,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_SOURCE_IP_PORT)[1]"},{"line_number":539,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":540,"context_line":"                const.HTTP, 8203, pool_id, const.LB_ALGORITHM_SOURCE_IP_PORT)"},{"line_number":541,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":542,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":543,"context_line":"                       \"does not support a feature required for this \""},{"line_number":544,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"b6e8dbe9_4d89b6b9","line":541,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":538,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_SOURCE_IP_PORT)[1]"},{"line_number":539,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":540,"context_line":"                const.HTTP, 8203, pool_id, const.LB_ALGORITHM_SOURCE_IP_PORT)"},{"line_number":541,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":542,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":543,"context_line":"                       \"does not support a feature required for this \""},{"line_number":544,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"d58c4c9d_82306470","line":541,"in_reply_to":"b6e8dbe9_4d89b6b9","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"cbd3c99a8f792e95e9e311ced7fde4434973ccdb","unresolved":true,"context_lines":[{"line_number":538,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_SOURCE_IP_PORT)[1]"},{"line_number":539,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":540,"context_line":"                const.HTTP, 8203, pool_id, const.LB_ALGORITHM_SOURCE_IP_PORT)"},{"line_number":541,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":542,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":543,"context_line":"                       \"does not support a feature required for this \""},{"line_number":544,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"21b93e07_8c120599","line":541,"in_reply_to":"d58c4c9d_82306470","updated":"2023-02-09 10:29:47.000000000","message":"After check the decorator more slowly I found that it takes, as priority [1], the conf value configured for not_implemented_is_error (default\u003dTrue [2]). To taking into account that Amphora is the reference driver, and the jobs are running with this parameter in local_conf as True [3], any test that is not supported by Amphora driver can not use this decorator, and it should move to try-catch model. So I will keep the tests related to algorithm SOURCE_IP_PORT as this way.\n\n[1] https://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L39\n[2] https://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/config.py#L253\n[3] https://github.com/openstack/octavia-tempest-plugin/blob/master/zuul.d/jobs.yaml#L237","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":555,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":556,"context_line":"                const.TCP, 8300, pool_id, const.LB_ALGORITHM_LEAST_CONNECTIONS,"},{"line_number":557,"context_line":"                persistent\u003dFalse)"},{"line_number":558,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":559,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":560,"context_line":"                       \"does not support a feature required for this \""},{"line_number":561,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"cf827ceb_d40a0afe","line":558,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":555,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":556,"context_line":"                const.TCP, 8300, pool_id, const.LB_ALGORITHM_LEAST_CONNECTIONS,"},{"line_number":557,"context_line":"                persistent\u003dFalse)"},{"line_number":558,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":559,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":560,"context_line":"                       \"does not support a feature required for this \""},{"line_number":561,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"3bae9fad_d2e91e1e","line":558,"in_reply_to":"cf827ceb_d40a0afe","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":572,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":573,"context_line":"                const.TCP, 8301, pool_id, const.LB_ALGORITHM_ROUND_ROBIN,"},{"line_number":574,"context_line":"                persistent\u003dFalse)"},{"line_number":575,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":576,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":577,"context_line":"                       \"does not support a feature required for this \""},{"line_number":578,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"490c914d_dc854cf3","line":575,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":572,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":573,"context_line":"                const.TCP, 8301, pool_id, const.LB_ALGORITHM_ROUND_ROBIN,"},{"line_number":574,"context_line":"                persistent\u003dFalse)"},{"line_number":575,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":576,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":577,"context_line":"                       \"does not support a feature required for this \""},{"line_number":578,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"aa389221_e74a3014","line":575,"in_reply_to":"490c914d_dc854cf3","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":589,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":590,"context_line":"                const.TCP, 8302, pool_id, const.LB_ALGORITHM_SOURCE_IP,"},{"line_number":591,"context_line":"                persistent\u003dFalse)"},{"line_number":592,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":593,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":594,"context_line":"                       \"does not support a feature required for this \""},{"line_number":595,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"86f900bf_c32ae3c1","line":592,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":589,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":590,"context_line":"                const.TCP, 8302, pool_id, const.LB_ALGORITHM_SOURCE_IP,"},{"line_number":591,"context_line":"                persistent\u003dFalse)"},{"line_number":592,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":593,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":594,"context_line":"                       \"does not support a feature required for this \""},{"line_number":595,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"6cb9b4a7_94dfd1ae","line":592,"in_reply_to":"86f900bf_c32ae3c1","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":606,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":607,"context_line":"                const.TCP, 8303, pool_id, const.LB_ALGORITHM_SOURCE_IP_PORT,"},{"line_number":608,"context_line":"                persistent\u003dFalse)"},{"line_number":609,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":610,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":611,"context_line":"                       \"does not support a feature required for this \""},{"line_number":612,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"994ff908_5acf1226","line":609,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"cbd3c99a8f792e95e9e311ced7fde4434973ccdb","unresolved":true,"context_lines":[{"line_number":606,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":607,"context_line":"                const.TCP, 8303, pool_id, const.LB_ALGORITHM_SOURCE_IP_PORT,"},{"line_number":608,"context_line":"                persistent\u003dFalse)"},{"line_number":609,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":610,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":611,"context_line":"                       \"does not support a feature required for this \""},{"line_number":612,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"66286674_6d0d5722","line":609,"in_reply_to":"7217cbcf_8e7f99d1","updated":"2023-02-09 10:29:47.000000000","message":"After check the decorator more slowly I found that it takes, as priority [1], the conf value configured for not_implemented_is_error (default\u003dTrue [2]). To taking into account that Amphora is the reference driver, and the jobs are running with this parameter in local_conf as True [3], any test that is not supported by Amphora driver can not use this decorator, and it should move to try-catch model. So I will keep the tests related to algorithm SOURCE_IP_PORT as this way.\n\n[1] https://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L39\n[2] https://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/config.py#L253\n[3] https://github.com/openstack/octavia-tempest-plugin/blob/master/zuul.d/jobs.yaml#L237","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":606,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":607,"context_line":"                const.TCP, 8303, pool_id, const.LB_ALGORITHM_SOURCE_IP_PORT,"},{"line_number":608,"context_line":"                persistent\u003dFalse)"},{"line_number":609,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":610,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":611,"context_line":"                       \"does not support a feature required for this \""},{"line_number":612,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"7217cbcf_8e7f99d1","line":609,"in_reply_to":"994ff908_5acf1226","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":627,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":628,"context_line":"                const.UDP, 18081, pool_id,"},{"line_number":629,"context_line":"                const.LB_ALGORITHM_LEAST_CONNECTIONS)"},{"line_number":630,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":631,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":632,"context_line":"                       \"does not support a feature required for this \""},{"line_number":633,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"5c868a8a_bba14724","line":630,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":627,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":628,"context_line":"                const.UDP, 18081, pool_id,"},{"line_number":629,"context_line":"                const.LB_ALGORITHM_LEAST_CONNECTIONS)"},{"line_number":630,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":631,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":632,"context_line":"                       \"does not support a feature required for this \""},{"line_number":633,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"33416df2_998ff9df","line":630,"in_reply_to":"5c868a8a_bba14724","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":647,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_ROUND_ROBIN)[1]"},{"line_number":648,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":649,"context_line":"                const.UDP, 18082, pool_id, const.LB_ALGORITHM_ROUND_ROBIN)"},{"line_number":650,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":651,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":652,"context_line":"                       \"does not support a feature required for this \""},{"line_number":653,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"2a001f7b_412661de","line":650,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":647,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_ROUND_ROBIN)[1]"},{"line_number":648,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":649,"context_line":"                const.UDP, 18082, pool_id, const.LB_ALGORITHM_ROUND_ROBIN)"},{"line_number":650,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":651,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":652,"context_line":"                       \"does not support a feature required for this \""},{"line_number":653,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"7435d735_2352a26e","line":650,"in_reply_to":"2a001f7b_412661de","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":667,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_SOURCE_IP)[1]"},{"line_number":668,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":669,"context_line":"                const.UDP, 18083, pool_id, const.LB_ALGORITHM_SOURCE_IP)"},{"line_number":670,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":671,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":672,"context_line":"                       \"does not support a feature required for this \""},{"line_number":673,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"b3dbc310_1a09f79f","line":670,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":667,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_SOURCE_IP)[1]"},{"line_number":668,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":669,"context_line":"                const.UDP, 18083, pool_id, const.LB_ALGORITHM_SOURCE_IP)"},{"line_number":670,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":671,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":672,"context_line":"                       \"does not support a feature required for this \""},{"line_number":673,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"45e31fea_a5c46721","line":670,"in_reply_to":"b3dbc310_1a09f79f","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"87a1d14582b8947abba47b11dc1bb92c0c8135d7","unresolved":true,"context_lines":[{"line_number":687,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_SOURCE_IP_PORT)[1]"},{"line_number":688,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":689,"context_line":"                const.UDP, 18084, pool_id, const.LB_ALGORITHM_SOURCE_IP_PORT)"},{"line_number":690,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":691,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":692,"context_line":"                       \"does not support a feature required for this \""},{"line_number":693,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"55994279_865a4573","line":690,"updated":"2023-02-08 16:25:03.000000000","message":"Please use the test decorator instead:\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L25","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":false,"context_lines":[{"line_number":687,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_SOURCE_IP_PORT)[1]"},{"line_number":688,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":689,"context_line":"                const.UDP, 18084, pool_id, const.LB_ALGORITHM_SOURCE_IP_PORT)"},{"line_number":690,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":691,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":692,"context_line":"                       \"does not support a feature required for this \""},{"line_number":693,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"aa57a06a_d785c1c4","line":690,"in_reply_to":"55994279_865a4573","updated":"2023-02-08 20:09:26.000000000","message":"good catch! thx!","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"cbd3c99a8f792e95e9e311ced7fde4434973ccdb","unresolved":true,"context_lines":[{"line_number":687,"context_line":"                pool_algorithm\u003dconst.LB_ALGORITHM_SOURCE_IP_PORT)[1]"},{"line_number":688,"context_line":"            self._test_healthmonitor_traffic("},{"line_number":689,"context_line":"                const.UDP, 18084, pool_id, const.LB_ALGORITHM_SOURCE_IP_PORT)"},{"line_number":690,"context_line":"        except exceptions.NotImplemented as e:"},{"line_number":691,"context_line":"            message \u003d (\"The configured provider driver \u0027{driver}\u0027 \""},{"line_number":692,"context_line":"                       \"does not support a feature required for this \""},{"line_number":693,"context_line":"                       \"test.\".format(driver\u003dCONF.load_balancer.provider))"}],"source_content_type":"text/x-python","patch_set":7,"id":"8b00a215_894d2832","line":690,"in_reply_to":"aa57a06a_d785c1c4","updated":"2023-02-09 10:29:47.000000000","message":"After check the decorator more slowly I found that it takes, as priority [1], the conf value configured for not_implemented_is_error (default\u003dTrue [2]). To taking into account that Amphora is the reference driver, and the jobs are running with this parameter in local_conf as True [3], any test that is not supported by Amphora driver can not use this decorator, and it should move to try-catch model. So I will keep the tests related to algorithm SOURCE_IP_PORT as this way.\n\n[1] https://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/common/decorators.py#L39\n[2] https://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/config.py#L253\n[3] https://github.com/openstack/octavia-tempest-plugin/blob/master/zuul.d/jobs.yaml#L237","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4a8d85c262f38d9c3933a5d3c2d001d1723814d0","unresolved":true,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from octavia_tempest_plugin.common import constants as const"},{"line_number":30,"context_line":"from octavia_tempest_plugin.common.decorators import skip_if_not_implemented"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"from octavia_tempest_plugin.tests import test_base"},{"line_number":33,"context_line":"from octavia_tempest_plugin.tests import waiters"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"8c49aee6_fbf63dfb","line":31,"updated":"2023-02-10 06:46:17.000000000","message":"super nit: remove extra line","commit_id":"59853c2895340372c5617a1cefe7433292024451"}],"octavia_tempest_plugin/tests/validators.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"7e74fa3834f2bd7e70ac3b7d5f26c5e7283061b7","unresolved":true,"context_lines":[{"line_number":327,"context_line":"            if repeat % traffic_member_count \u003d\u003d 0:"},{"line_number":328,"context_line":"                self.assertEqual(1, len(set(response_counts.values())))"},{"line_number":329,"context_line":"            else:"},{"line_number":330,"context_line":"                response_values \u003d response_counts.values()"},{"line_number":331,"context_line":"                response_values_distance \u003d ["},{"line_number":332,"context_line":"                    (s \u003d\u003d t) or (s \u003d\u003d t + 1)"},{"line_number":333,"context_line":"                    for s, t in zip(response_values, response_values[1:])"},{"line_number":334,"context_line":"                ]"},{"line_number":335,"context_line":"                self.assertTrue(all(response_values_distance))"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    def assertConsistentResponse(self, response, url, method\u003d\u0027GET\u0027, repeat\u003d10,"},{"line_number":338,"context_line":"                                 redirect\u003dFalse, timeout\u003d2,"}],"source_content_type":"text/x-python","patch_set":5,"id":"270ec00c_1ce72ab2","line":335,"range":{"start_line":330,"start_character":16,"end_line":335,"end_character":62},"updated":"2023-01-23 14:23:14.000000000","message":"I ran \"tox -eall -- test_healthmonitor_\" but it seems the code never entered this branch. I didn\u0027t debug it further, but that seems wrong to me.","commit_id":"72dde8eb2afe11a38dc7118c92b6659a33ac5822"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"58c0ef4821ec4d201205d1b43787c14516706011","unresolved":false,"context_lines":[{"line_number":327,"context_line":"            if repeat % traffic_member_count \u003d\u003d 0:"},{"line_number":328,"context_line":"                self.assertEqual(1, len(set(response_counts.values())))"},{"line_number":329,"context_line":"            else:"},{"line_number":330,"context_line":"                response_values \u003d response_counts.values()"},{"line_number":331,"context_line":"                response_values_distance \u003d ["},{"line_number":332,"context_line":"                    (s \u003d\u003d t) or (s \u003d\u003d t + 1)"},{"line_number":333,"context_line":"                    for s, t in zip(response_values, response_values[1:])"},{"line_number":334,"context_line":"                ]"},{"line_number":335,"context_line":"                self.assertTrue(all(response_values_distance))"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    def assertConsistentResponse(self, response, url, method\u003d\u0027GET\u0027, repeat\u003d10,"},{"line_number":338,"context_line":"                                 redirect\u003dFalse, timeout\u003d2,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3b8eaa5f_6afb7ccf","line":335,"range":{"start_line":330,"start_character":16,"end_line":335,"end_character":62},"in_reply_to":"270ec00c_1ce72ab2","updated":"2023-01-23 15:49:49.000000000","message":"Yeah, due to the default value for the \"repeat\u003d20\" that branch was not evaluated, I add some odd number of request to some calls to this function to ensure the branch is evaluated and complete for future use. Thx for the review","commit_id":"72dde8eb2afe11a38dc7118c92b6659a33ac5822"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"3b75291a97347aaafd2fe05d11a55b39cb996d69","unresolved":true,"context_lines":[{"line_number":327,"context_line":"            if repeat % traffic_member_count \u003d\u003d 0:"},{"line_number":328,"context_line":"                self.assertEqual(1, len(set(response_counts.values())))"},{"line_number":329,"context_line":"            else:"},{"line_number":330,"context_line":"                response_values \u003d response_counts.values()"},{"line_number":331,"context_line":"                response_values_distance \u003d ["},{"line_number":332,"context_line":"                    (s \u003d\u003d t) or (s \u003d\u003d t + 1)"},{"line_number":333,"context_line":"                    for s, t in zip(response_values, response_values[1:])"},{"line_number":334,"context_line":"                ]"},{"line_number":335,"context_line":"                self.assertTrue(all(response_values_distance))"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    def assertConsistentResponse(self, response, url, method\u003d\u0027GET\u0027, repeat\u003d10,"},{"line_number":338,"context_line":"                                 redirect\u003dFalse, timeout\u003d2,"}],"source_content_type":"text/x-python","patch_set":5,"id":"a8c9fde2_04cdcadb","line":335,"range":{"start_line":330,"start_character":16,"end_line":335,"end_character":62},"in_reply_to":"3b8eaa5f_6afb7ccf","updated":"2023-01-23 16:37:36.000000000","message":"Thanks. I wanted to understand how this works as it looks a bit complex. Now that I tested it I think self.assertTrue(max(response_values) - min(response_values) \u003c\u003d 1) would be cleaner.","commit_id":"72dde8eb2afe11a38dc7118c92b6659a33ac5822"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"5af8400f19ddf79f79b65398388bafbb26659f02","unresolved":false,"context_lines":[{"line_number":327,"context_line":"            if repeat % traffic_member_count \u003d\u003d 0:"},{"line_number":328,"context_line":"                self.assertEqual(1, len(set(response_counts.values())))"},{"line_number":329,"context_line":"            else:"},{"line_number":330,"context_line":"                response_values \u003d response_counts.values()"},{"line_number":331,"context_line":"                response_values_distance \u003d ["},{"line_number":332,"context_line":"                    (s \u003d\u003d t) or (s \u003d\u003d t + 1)"},{"line_number":333,"context_line":"                    for s, t in zip(response_values, response_values[1:])"},{"line_number":334,"context_line":"                ]"},{"line_number":335,"context_line":"                self.assertTrue(all(response_values_distance))"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    def assertConsistentResponse(self, response, url, method\u003d\u0027GET\u0027, repeat\u003d10,"},{"line_number":338,"context_line":"                                 redirect\u003dFalse, timeout\u003d2,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba59e65b_463b16d6","line":335,"range":{"start_line":330,"start_character":16,"end_line":335,"end_character":62},"in_reply_to":"a8c9fde2_04cdcadb","updated":"2023-01-24 16:39:17.000000000","message":":) But you proposal doesn\u0027t validate that the values are circular order. Let me sumarize with an example of responses_by_member (four members):\n\nIf the responses_by_members will be as [3,2,3,2] would be pass for your proposal, but this is not a valid circular order for a round-robin algorithm. So that was the main motivation to compare with the next member and check \u003d\u003d or +\u003d1 as valid options, ensuring for the same example a pattern [3,3,2,2]","commit_id":"72dde8eb2afe11a38dc7118c92b6659a33ac5822"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d6d70dea6de3f8929fb0e5e413133be6800c2a7e","unresolved":true,"context_lines":[{"line_number":323,"context_line":"        # be evenly distributed (as long as the number of members is multiple"},{"line_number":324,"context_line":"        # of the total number of requests made) or maximum distance of 1"},{"line_number":325,"context_line":"        # between them"},{"line_number":326,"context_line":"        if lb_algorithm \u003d\u003d const.LB_ALGORITHM_ROUND_ROBIN:"},{"line_number":327,"context_line":"            if repeat % traffic_member_count \u003d\u003d 0:"},{"line_number":328,"context_line":"                self.assertEqual(1, len(set(response_counts.values())))"},{"line_number":329,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"73664dd3_a77e8499","line":326,"updated":"2023-02-08 16:32:23.000000000","message":"I guess this method implied it was \"balanced\".\nI\u0027m not sure this change is needed.","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"fbe0e48ff3f271a0383616c327847aff4b8204d1","unresolved":true,"context_lines":[{"line_number":323,"context_line":"        # be evenly distributed (as long as the number of members is multiple"},{"line_number":324,"context_line":"        # of the total number of requests made) or maximum distance of 1"},{"line_number":325,"context_line":"        # between them"},{"line_number":326,"context_line":"        if lb_algorithm \u003d\u003d const.LB_ALGORITHM_ROUND_ROBIN:"},{"line_number":327,"context_line":"            if repeat % traffic_member_count \u003d\u003d 0:"},{"line_number":328,"context_line":"                self.assertEqual(1, len(set(response_counts.values())))"},{"line_number":329,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"c94cc344_09d2e4fa","line":326,"in_reply_to":"73664dd3_a77e8499","updated":"2023-02-08 20:09:26.000000000","message":"This method will fail for any algorithm other than round_robin, it was not tested for not ideal cases for round_robin. It was checking just that all the members have the same number of request, and this hipotesis is just valid for a round_robin algorithm when the repeat % number_members \u003d\u003d 0, that check will fail over algorithms with random balancing or fixed dest (source_ip)\n\nBut with the added lines for the case of round_robin (in particular the else) we are ensuring the circular iteration over the members ensuring that if we have 4 members (and 19 requests) we will have a requests response pattern as (5,5,5,4)\n\nI hope I have made myself clear 😊","commit_id":"81d3289ff7fd842cfca83453117d9ee94b3937ea"}]}
