)]}'
{"kuryr_tempest_plugin/tests/scenario/base.py":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"47ab736309ff816a0f0f400fe40d45a6dc3204ef","unresolved":true,"context_lines":[{"line_number":396,"context_line":"        deployment.kind \u003d kind"},{"line_number":397,"context_line":"        template \u003d {\"metadata\": {\"labels\": {\"app\": \"demo\"}},"},{"line_number":398,"context_line":"                    \"spec\": {\"containers\": ["},{"line_number":399,"context_line":"                        {\"image\": \"kuryr/demo\","},{"line_number":400,"context_line":"                         \"name\": \u0027demo\u0027,"},{"line_number":401,"context_line":"                         \"ports\": [{\"containerPort\": 8080}]}]}}"},{"line_number":402,"context_line":"        spec \u003d k8s_client.V1DeploymentSpec("}],"source_content_type":"text/x-python","patch_set":9,"id":"20107b26_c7be2588","line":399,"range":{"start_line":399,"start_character":35,"end_line":399,"end_character":45},"updated":"2021-09-06 09:23:56.000000000","message":"In case it\u0027s using docker by default might be better to use \"quay.io/kuryr/demo\" to avoid image pull issues.","commit_id":"d85cf916e02bc75915d083c649711417e9cd14a8"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"d7b588b2d908cb18889d9dc8220553ec6e2780ea","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        deployment.kind \u003d kind"},{"line_number":397,"context_line":"        template \u003d {\"metadata\": {\"labels\": {\"app\": \"demo\"}},"},{"line_number":398,"context_line":"                    \"spec\": {\"containers\": ["},{"line_number":399,"context_line":"                        {\"image\": \"kuryr/demo\","},{"line_number":400,"context_line":"                         \"name\": \u0027demo\u0027,"},{"line_number":401,"context_line":"                         \"ports\": [{\"containerPort\": 8080}]}]}}"},{"line_number":402,"context_line":"        spec \u003d k8s_client.V1DeploymentSpec("}],"source_content_type":"text/x-python","patch_set":9,"id":"d657a88b_8c02460b","line":399,"range":{"start_line":399,"start_character":35,"end_line":399,"end_character":45},"in_reply_to":"20107b26_c7be2588","updated":"2021-09-06 14:51:41.000000000","message":"Done","commit_id":"d85cf916e02bc75915d083c649711417e9cd14a8"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3fde560878ca1a416d360441a1c4366491914f2d","unresolved":true,"context_lines":[{"line_number":1542,"context_line":"        timeout \u003d CONF.kuryr_kubernetes.lb_members_change_timeout"},{"line_number":1543,"context_line":"        while time.time() - start \u003c timeout:"},{"line_number":1544,"context_line":"            num_members \u003d len(cls.member_client.list_members(pool_id))"},{"line_number":1545,"context_line":"            if (num_members \u003d\u003d expected_members):"},{"line_number":1546,"context_line":"                break"},{"line_number":1547,"context_line":"        else:"},{"line_number":1548,"context_line":"            raise lib_exc.TimeoutException(\"Expected num of members is %s but\""}],"source_content_type":"text/x-python","patch_set":16,"id":"0d6fb711_e2e730f2","line":1545,"range":{"start_line":1545,"start_character":15,"end_line":1545,"end_character":16},"updated":"2021-09-13 15:20:39.000000000","message":"Unnecessary parentheses.","commit_id":"2c8d602ad6cfa42e8fa9d2f67e0c99629f795b9a"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"1ffe4b1b04d5c736dc3b3a5cce249b44f767a359","unresolved":false,"context_lines":[{"line_number":1542,"context_line":"        timeout \u003d CONF.kuryr_kubernetes.lb_members_change_timeout"},{"line_number":1543,"context_line":"        while time.time() - start \u003c timeout:"},{"line_number":1544,"context_line":"            num_members \u003d len(cls.member_client.list_members(pool_id))"},{"line_number":1545,"context_line":"            if (num_members \u003d\u003d expected_members):"},{"line_number":1546,"context_line":"                break"},{"line_number":1547,"context_line":"        else:"},{"line_number":1548,"context_line":"            raise lib_exc.TimeoutException(\"Expected num of members is %s but\""}],"source_content_type":"text/x-python","patch_set":16,"id":"af9fc51c_e7e5a6cc","line":1545,"range":{"start_line":1545,"start_character":15,"end_line":1545,"end_character":16},"in_reply_to":"0d6fb711_e2e730f2","updated":"2021-09-14 09:03:26.000000000","message":"Done","commit_id":"2c8d602ad6cfa42e8fa9d2f67e0c99629f795b9a"}],"kuryr_tempest_plugin/tests/scenario/test_service.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"01626ded39cda3bf359e8f40863b81ea160eb614","unresolved":true,"context_lines":[{"line_number":22,"context_line":"from kuryr_tempest_plugin.tests.scenario import base"},{"line_number":23,"context_line":"from kuryr_tempest_plugin.tests.scenario import consts"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from tempest.lib import exceptions as lib_exc"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":2,"id":"72a33aa0_06f31c21","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":45},"updated":"2021-08-27 16:23:13.000000000","message":"This should land in the section where other tempest imports already are.","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f1d1ac94d03033f9f909cb083c81a50ec0f68254","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from kuryr_tempest_plugin.tests.scenario import base"},{"line_number":23,"context_line":"from kuryr_tempest_plugin.tests.scenario import consts"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from tempest.lib import exceptions as lib_exc"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":2,"id":"7c70ae2d_856f5142","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":45},"in_reply_to":"72a33aa0_06f31c21","updated":"2021-08-29 10:08:09.000000000","message":"Done","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"01626ded39cda3bf359e8f40863b81ea160eb614","unresolved":true,"context_lines":[{"line_number":204,"context_line":"    def test_deployment_scale(self):"},{"line_number":205,"context_line":"        def check_members(pool_id, expect_members):"},{"line_number":206,"context_line":"            start \u003d time.time()"},{"line_number":207,"context_line":"            while time.time() - start \u003c 30:"},{"line_number":208,"context_line":"                num_members \u003d len(self.member_client.list_members(pool_id))"},{"line_number":209,"context_line":"                if (num_members \u003d\u003d expect_members):"},{"line_number":210,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":2,"id":"00206efb_abb73f5f","line":207,"range":{"start_line":207,"start_character":40,"end_line":207,"end_character":42},"updated":"2021-08-27 16:23:13.000000000","message":"You\u0027re sure of that number? Seems a bit low for Amphoras. ;)","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f1d1ac94d03033f9f909cb083c81a50ec0f68254","unresolved":true,"context_lines":[{"line_number":204,"context_line":"    def test_deployment_scale(self):"},{"line_number":205,"context_line":"        def check_members(pool_id, expect_members):"},{"line_number":206,"context_line":"            start \u003d time.time()"},{"line_number":207,"context_line":"            while time.time() - start \u003c 30:"},{"line_number":208,"context_line":"                num_members \u003d len(self.member_client.list_members(pool_id))"},{"line_number":209,"context_line":"                if (num_members \u003d\u003d expect_members):"},{"line_number":210,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":2,"id":"a257f7d2_327217ce","line":207,"range":{"start_line":207,"start_character":40,"end_line":207,"end_character":42},"in_reply_to":"00206efb_abb73f5f","updated":"2021-08-29 10:08:09.000000000","message":"Increased","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"01626ded39cda3bf359e8f40863b81ea160eb614","unresolved":true,"context_lines":[{"line_number":202,"context_line":"            {\u0027spec\u0027: {\u0027replicas\u0027: replicas}})"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def test_deployment_scale(self):"},{"line_number":205,"context_line":"        def check_members(pool_id, expect_members):"},{"line_number":206,"context_line":"            start \u003d time.time()"},{"line_number":207,"context_line":"            while time.time() - start \u003c 30:"},{"line_number":208,"context_line":"                num_members \u003d len(self.member_client.list_members(pool_id))"},{"line_number":209,"context_line":"                if (num_members \u003d\u003d expect_members):"},{"line_number":210,"context_line":"                    break"},{"line_number":211,"context_line":"            else:"},{"line_number":212,"context_line":"                raise lib_exc.TimeoutException(\"Num of members is %s is not \""},{"line_number":213,"context_line":"                                               \"equal to %s\" % (expect_members,"},{"line_number":214,"context_line":"                                                                num_members))"},{"line_number":215,"context_line":"        deployment_name, _ \u003d self.create_deployment()"},{"line_number":216,"context_line":"        self.addCleanup(self.delete_deployment, deployment_name)"},{"line_number":217,"context_line":"        service_name, _ \u003d self.create_service(pod_label\u003d{\"app\": \"demo\"},"}],"source_content_type":"text/x-python","patch_set":2,"id":"474e16d6_0e0cfd92","line":214,"range":{"start_line":205,"start_character":0,"end_line":214,"end_character":77},"updated":"2021-08-27 16:23:13.000000000","message":"This should rather be a private method of the class.","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f1d1ac94d03033f9f909cb083c81a50ec0f68254","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            {\u0027spec\u0027: {\u0027replicas\u0027: replicas}})"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def test_deployment_scale(self):"},{"line_number":205,"context_line":"        def check_members(pool_id, expect_members):"},{"line_number":206,"context_line":"            start \u003d time.time()"},{"line_number":207,"context_line":"            while time.time() - start \u003c 30:"},{"line_number":208,"context_line":"                num_members \u003d len(self.member_client.list_members(pool_id))"},{"line_number":209,"context_line":"                if (num_members \u003d\u003d expect_members):"},{"line_number":210,"context_line":"                    break"},{"line_number":211,"context_line":"            else:"},{"line_number":212,"context_line":"                raise lib_exc.TimeoutException(\"Num of members is %s is not \""},{"line_number":213,"context_line":"                                               \"equal to %s\" % (expect_members,"},{"line_number":214,"context_line":"                                                                num_members))"},{"line_number":215,"context_line":"        deployment_name, _ \u003d self.create_deployment()"},{"line_number":216,"context_line":"        self.addCleanup(self.delete_deployment, deployment_name)"},{"line_number":217,"context_line":"        service_name, _ \u003d self.create_service(pod_label\u003d{\"app\": \"demo\"},"}],"source_content_type":"text/x-python","patch_set":2,"id":"cca11a4d_aa4e1e2e","line":214,"range":{"start_line":205,"start_character":0,"end_line":214,"end_character":77},"in_reply_to":"474e16d6_0e0cfd92","updated":"2021-08-29 10:08:09.000000000","message":"Done","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"01626ded39cda3bf359e8f40863b81ea160eb614","unresolved":true,"context_lines":[{"line_number":226,"context_line":"                                                          \u0027status\u0027,"},{"line_number":227,"context_line":"                                                          {}).get("},{"line_number":228,"context_line":"                                                          \u0027loadbalancer\u0027,"},{"line_number":229,"context_line":"                                                          {}).get(\u0027id\u0027, {})"},{"line_number":230,"context_line":"        except kubernetes.client.rest.ApiException:"},{"line_number":231,"context_line":"            return"},{"line_number":232,"context_line":"        pool_query \u003d \"loadbalancer_id\u003d%s\" % klb_crd_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"fe6d688b_62a6849d","line":229,"range":{"start_line":229,"start_character":72,"end_line":229,"end_character":74},"updated":"2021-08-27 16:23:13.000000000","message":"None would be better.","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"01626ded39cda3bf359e8f40863b81ea160eb614","unresolved":true,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        time.sleep(30)"},{"line_number":223,"context_line":"        try:"},{"line_number":224,"context_line":"            klb_crd_id \u003d self.get_kuryr_loadbalancer_crds(service_name,"},{"line_number":225,"context_line":"                                                          \u0027default\u0027).get("},{"line_number":226,"context_line":"                                                          \u0027status\u0027,"},{"line_number":227,"context_line":"                                                          {}).get("},{"line_number":228,"context_line":"                                                          \u0027loadbalancer\u0027,"},{"line_number":229,"context_line":"                                                          {}).get(\u0027id\u0027, {})"},{"line_number":230,"context_line":"        except kubernetes.client.rest.ApiException:"},{"line_number":231,"context_line":"            return"},{"line_number":232,"context_line":"        pool_query \u003d \"loadbalancer_id\u003d%s\" % klb_crd_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"010934bc_de7b19d2","line":229,"range":{"start_line":224,"start_character":0,"end_line":229,"end_character":75},"updated":"2021-08-27 16:23:13.000000000","message":"Why not format it like this and save lines? It\u0027s pretty hard to read anyway.\n\n            klb_crd_id \u003d self.get_kuryr_loadbalancer_crds(\n                service_name, \u0027default\u0027).get(\u0027status\u0027, {}).get(\n                    \u0027loadbalancer\u0027, {}).get(\u0027id\u0027, None)","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f1d1ac94d03033f9f909cb083c81a50ec0f68254","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        time.sleep(30)"},{"line_number":223,"context_line":"        try:"},{"line_number":224,"context_line":"            klb_crd_id \u003d self.get_kuryr_loadbalancer_crds(service_name,"},{"line_number":225,"context_line":"                                                          \u0027default\u0027).get("},{"line_number":226,"context_line":"                                                          \u0027status\u0027,"},{"line_number":227,"context_line":"                                                          {}).get("},{"line_number":228,"context_line":"                                                          \u0027loadbalancer\u0027,"},{"line_number":229,"context_line":"                                                          {}).get(\u0027id\u0027, {})"},{"line_number":230,"context_line":"        except kubernetes.client.rest.ApiException:"},{"line_number":231,"context_line":"            return"},{"line_number":232,"context_line":"        pool_query \u003d \"loadbalancer_id\u003d%s\" % klb_crd_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"00bbbdfc_2feffeec","line":229,"range":{"start_line":224,"start_character":0,"end_line":229,"end_character":75},"in_reply_to":"010934bc_de7b19d2","updated":"2021-08-29 10:08:09.000000000","message":"Done","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f1d1ac94d03033f9f909cb083c81a50ec0f68254","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                                                          \u0027status\u0027,"},{"line_number":227,"context_line":"                                                          {}).get("},{"line_number":228,"context_line":"                                                          \u0027loadbalancer\u0027,"},{"line_number":229,"context_line":"                                                          {}).get(\u0027id\u0027, {})"},{"line_number":230,"context_line":"        except kubernetes.client.rest.ApiException:"},{"line_number":231,"context_line":"            return"},{"line_number":232,"context_line":"        pool_query \u003d \"loadbalancer_id\u003d%s\" % klb_crd_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"d437e749_32a6406d","line":229,"range":{"start_line":229,"start_character":72,"end_line":229,"end_character":74},"in_reply_to":"fe6d688b_62a6849d","updated":"2021-08-29 10:08:09.000000000","message":"Done","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"01626ded39cda3bf359e8f40863b81ea160eb614","unresolved":true,"context_lines":[{"line_number":227,"context_line":"                                                          {}).get("},{"line_number":228,"context_line":"                                                          \u0027loadbalancer\u0027,"},{"line_number":229,"context_line":"                                                          {}).get(\u0027id\u0027, {})"},{"line_number":230,"context_line":"        except kubernetes.client.rest.ApiException:"},{"line_number":231,"context_line":"            return"},{"line_number":232,"context_line":"        pool_query \u003d \"loadbalancer_id\u003d%s\" % klb_crd_id"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        start \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":2,"id":"24e7cf61_d318df1a","line":231,"range":{"start_line":230,"start_character":0,"end_line":231,"end_character":18},"updated":"2021-08-27 16:23:13.000000000","message":"That\u0027s not really a successful test, is it?","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"ae731b8f64f2c4fb558d2115a8d9539f1558c8d8","unresolved":true,"context_lines":[{"line_number":227,"context_line":"                                                          {}).get("},{"line_number":228,"context_line":"                                                          \u0027loadbalancer\u0027,"},{"line_number":229,"context_line":"                                                          {}).get(\u0027id\u0027, {})"},{"line_number":230,"context_line":"        except kubernetes.client.rest.ApiException:"},{"line_number":231,"context_line":"            return"},{"line_number":232,"context_line":"        pool_query \u003d \"loadbalancer_id\u003d%s\" % klb_crd_id"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        start \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":2,"id":"cff4fa48_146b1362","line":231,"range":{"start_line":230,"start_character":0,"end_line":231,"end_character":18},"in_reply_to":"24e7cf61_d318df1a","updated":"2021-08-29 10:24:15.000000000","message":"Can you please explain?","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7363754ba4712a166a8efdbb4c3183361b93cb90","unresolved":true,"context_lines":[{"line_number":227,"context_line":"                                                          {}).get("},{"line_number":228,"context_line":"                                                          \u0027loadbalancer\u0027,"},{"line_number":229,"context_line":"                                                          {}).get(\u0027id\u0027, {})"},{"line_number":230,"context_line":"        except kubernetes.client.rest.ApiException:"},{"line_number":231,"context_line":"            return"},{"line_number":232,"context_line":"        pool_query \u003d \"loadbalancer_id\u003d%s\" % klb_crd_id"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        start \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":2,"id":"e68700c0_5e6484f5","line":231,"range":{"start_line":230,"start_character":0,"end_line":231,"end_character":18},"in_reply_to":"cff4fa48_146b1362","updated":"2021-08-30 11:04:55.000000000","message":"Doing a `return` from a test will make it pass. It\u0027s a bit weird to assume that test where K8s API broke was successful.","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"6ff9162f73842f31321ebc4f7cd06efb6f7e1de6","unresolved":false,"context_lines":[{"line_number":227,"context_line":"                                                          {}).get("},{"line_number":228,"context_line":"                                                          \u0027loadbalancer\u0027,"},{"line_number":229,"context_line":"                                                          {}).get(\u0027id\u0027, {})"},{"line_number":230,"context_line":"        except kubernetes.client.rest.ApiException:"},{"line_number":231,"context_line":"            return"},{"line_number":232,"context_line":"        pool_query \u003d \"loadbalancer_id\u003d%s\" % klb_crd_id"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        start \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":2,"id":"6313a825_b2ed0132","line":231,"range":{"start_line":230,"start_character":0,"end_line":231,"end_character":18},"in_reply_to":"e68700c0_5e6484f5","updated":"2021-08-30 11:25:03.000000000","message":"Done","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"01626ded39cda3bf359e8f40863b81ea160eb614","unresolved":true,"context_lines":[{"line_number":244,"context_line":"        check_members(pool_id, 3)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        self.scale_deployment(5, deployment_name)"},{"line_number":247,"context_line":"        pod_name, _ \u003d self.create_pod()"},{"line_number":248,"context_line":"        self.addCleanup(self.delete_pod, pod_name)"},{"line_number":249,"context_line":"        self.assert_backend_amount_from_pod(service_ip, 5, pod_name)"},{"line_number":250,"context_line":"        check_members(pool_id, 5)"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3dab196a_8bc8fd69","line":248,"range":{"start_line":247,"start_character":0,"end_line":248,"end_character":50},"updated":"2021-08-27 16:23:13.000000000","message":"Why do we create this pod?","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f1d1ac94d03033f9f909cb083c81a50ec0f68254","unresolved":true,"context_lines":[{"line_number":244,"context_line":"        check_members(pool_id, 3)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        self.scale_deployment(5, deployment_name)"},{"line_number":247,"context_line":"        pod_name, _ \u003d self.create_pod()"},{"line_number":248,"context_line":"        self.addCleanup(self.delete_pod, pod_name)"},{"line_number":249,"context_line":"        self.assert_backend_amount_from_pod(service_ip, 5, pod_name)"},{"line_number":250,"context_line":"        check_members(pool_id, 5)"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"74afdf28_e3f30aa8","line":248,"range":{"start_line":247,"start_character":0,"end_line":248,"end_character":50},"in_reply_to":"3dab196a_8bc8fd69","updated":"2021-08-29 10:08:09.000000000","message":"For the next line, we want to check connectivity","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"6ff9162f73842f31321ebc4f7cd06efb6f7e1de6","unresolved":true,"context_lines":[{"line_number":244,"context_line":"        check_members(pool_id, 3)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        self.scale_deployment(5, deployment_name)"},{"line_number":247,"context_line":"        pod_name, _ \u003d self.create_pod()"},{"line_number":248,"context_line":"        self.addCleanup(self.delete_pod, pod_name)"},{"line_number":249,"context_line":"        self.assert_backend_amount_from_pod(service_ip, 5, pod_name)"},{"line_number":250,"context_line":"        check_members(pool_id, 5)"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ab6450ca_291c2c15","line":248,"range":{"start_line":247,"start_character":0,"end_line":248,"end_character":50},"in_reply_to":"54be3882_c797197f","updated":"2021-08-30 11:25:03.000000000","message":"No , the main purpose is to check the LB members on scale up/down but we create a pod to check connectivity from this pod to the service","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7363754ba4712a166a8efdbb4c3183361b93cb90","unresolved":true,"context_lines":[{"line_number":244,"context_line":"        check_members(pool_id, 3)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        self.scale_deployment(5, deployment_name)"},{"line_number":247,"context_line":"        pod_name, _ \u003d self.create_pod()"},{"line_number":248,"context_line":"        self.addCleanup(self.delete_pod, pod_name)"},{"line_number":249,"context_line":"        self.assert_backend_amount_from_pod(service_ip, 5, pod_name)"},{"line_number":250,"context_line":"        check_members(pool_id, 5)"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"54be3882_c797197f","line":248,"range":{"start_line":247,"start_character":0,"end_line":248,"end_character":50},"in_reply_to":"74afdf28_e3f30aa8","updated":"2021-08-30 11:04:55.000000000","message":"So the idea is that we want to check if that pod was not added to the Service?","commit_id":"16759029c29ce88112ad4f3a454ce7dd5307f0fd"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"47ab736309ff816a0f0f400fe40d45a6dc3204ef","unresolved":true,"context_lines":[{"line_number":193,"context_line":"        cls.member_client \u003d cls.os_admin.load_balancer_v2.MemberClient()"},{"line_number":194,"context_line":"        cls.pool_client \u003d cls.os_roles_lb_admin.load_balancer_v2.PoolClient()"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    @classmethod"},{"line_number":197,"context_line":"    def check_lb_members(cls, pool_id, expected_members):"},{"line_number":198,"context_line":"        start \u003d time.time()"},{"line_number":199,"context_line":"        timeout \u003d CONF.kuryr_kubernetes.lb_members_change_timeout"},{"line_number":200,"context_line":"        while time.time() - start \u003c timeout:"},{"line_number":201,"context_line":"            num_members \u003d len(cls.member_client.list_members(pool_id))"},{"line_number":202,"context_line":"            if (num_members \u003d\u003d expected_members):"},{"line_number":203,"context_line":"                break"},{"line_number":204,"context_line":"        else:"},{"line_number":205,"context_line":"            raise lib_exc.TimeoutException(\"Expected num of members is but\""},{"line_number":206,"context_line":"                                           \" actual is %s\" % (expected_members,"},{"line_number":207,"context_line":"                                                              num_members))"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def scale_deployment(self, replicas, deployment, namespace\u003d\u0027default\u0027):"},{"line_number":210,"context_line":"        self.k8s_client.AppsV1Api().patch_namespaced_deployment("}],"source_content_type":"text/x-python","patch_set":9,"id":"3bc265b3_64461209","line":207,"range":{"start_line":196,"start_character":0,"end_line":207,"end_character":75},"updated":"2021-09-06 09:23:56.000000000","message":"should this move to base instead in case it needs to be reused somewhere else?","commit_id":"d85cf916e02bc75915d083c649711417e9cd14a8"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"d7b588b2d908cb18889d9dc8220553ec6e2780ea","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        cls.member_client \u003d cls.os_admin.load_balancer_v2.MemberClient()"},{"line_number":194,"context_line":"        cls.pool_client \u003d cls.os_roles_lb_admin.load_balancer_v2.PoolClient()"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    @classmethod"},{"line_number":197,"context_line":"    def check_lb_members(cls, pool_id, expected_members):"},{"line_number":198,"context_line":"        start \u003d time.time()"},{"line_number":199,"context_line":"        timeout \u003d CONF.kuryr_kubernetes.lb_members_change_timeout"},{"line_number":200,"context_line":"        while time.time() - start \u003c timeout:"},{"line_number":201,"context_line":"            num_members \u003d len(cls.member_client.list_members(pool_id))"},{"line_number":202,"context_line":"            if (num_members \u003d\u003d expected_members):"},{"line_number":203,"context_line":"                break"},{"line_number":204,"context_line":"        else:"},{"line_number":205,"context_line":"            raise lib_exc.TimeoutException(\"Expected num of members is but\""},{"line_number":206,"context_line":"                                           \" actual is %s\" % (expected_members,"},{"line_number":207,"context_line":"                                                              num_members))"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def scale_deployment(self, replicas, deployment, namespace\u003d\u0027default\u0027):"},{"line_number":210,"context_line":"        self.k8s_client.AppsV1Api().patch_namespaced_deployment("}],"source_content_type":"text/x-python","patch_set":9,"id":"b3e1e692_c8b9f6b2","line":207,"range":{"start_line":196,"start_character":0,"end_line":207,"end_character":75},"in_reply_to":"3bc265b3_64461209","updated":"2021-09-06 14:51:41.000000000","message":"Done","commit_id":"d85cf916e02bc75915d083c649711417e9cd14a8"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"47ab736309ff816a0f0f400fe40d45a6dc3204ef","unresolved":true,"context_lines":[{"line_number":219,"context_line":"           and also checks connectivity to the service. Scales to 0 and"},{"line_number":220,"context_line":"           checks that the number LB memebers is also 0"},{"line_number":221,"context_line":"        \"\"\""},{"line_number":222,"context_line":"        timeout \u003d CONF.kuryr_kubernetes.lb_build_timeout"},{"line_number":223,"context_line":"        deployment_name, _ \u003d self.create_deployment()"},{"line_number":224,"context_line":"        self.addCleanup(self.delete_deployment, deployment_name)"},{"line_number":225,"context_line":"        service_name, _ \u003d self.create_service(pod_label\u003d{\"app\": \"demo\"},"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a41c0c5_9463cf6d","line":222,"range":{"start_line":222,"start_character":8,"end_line":222,"end_character":56},"updated":"2021-09-06 09:23:56.000000000","message":"The LB_TIMEOUT constant can be used instead to avoid creating an extra config.","commit_id":"d85cf916e02bc75915d083c649711417e9cd14a8"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"d7b588b2d908cb18889d9dc8220553ec6e2780ea","unresolved":true,"context_lines":[{"line_number":219,"context_line":"           and also checks connectivity to the service. Scales to 0 and"},{"line_number":220,"context_line":"           checks that the number LB memebers is also 0"},{"line_number":221,"context_line":"        \"\"\""},{"line_number":222,"context_line":"        timeout \u003d CONF.kuryr_kubernetes.lb_build_timeout"},{"line_number":223,"context_line":"        deployment_name, _ \u003d self.create_deployment()"},{"line_number":224,"context_line":"        self.addCleanup(self.delete_deployment, deployment_name)"},{"line_number":225,"context_line":"        service_name, _ \u003d self.create_service(pod_label\u003d{\"app\": \"demo\"},"}],"source_content_type":"text/x-python","patch_set":9,"id":"647f7988_332a7275","line":222,"range":{"start_line":222,"start_character":8,"end_line":222,"end_character":56},"in_reply_to":"3a41c0c5_9463cf6d","updated":"2021-09-06 14:51:41.000000000","message":"It\u0027s actually older than the constant ..","commit_id":"d85cf916e02bc75915d083c649711417e9cd14a8"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"47ab736309ff816a0f0f400fe40d45a6dc3204ef","unresolved":true,"context_lines":[{"line_number":221,"context_line":"        \"\"\""},{"line_number":222,"context_line":"        timeout \u003d CONF.kuryr_kubernetes.lb_build_timeout"},{"line_number":223,"context_line":"        deployment_name, _ \u003d self.create_deployment()"},{"line_number":224,"context_line":"        self.addCleanup(self.delete_deployment, deployment_name)"},{"line_number":225,"context_line":"        service_name, _ \u003d self.create_service(pod_label\u003d{\"app\": \"demo\"},"},{"line_number":226,"context_line":"                                              spec_type\u003d\u0027ClusterIP\u0027)"},{"line_number":227,"context_line":"        service_ip \u003d self.get_service_ip(service_name, spec_type\u003d\u0027ClusterIP\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ef1ac247_547cbe04","line":224,"range":{"start_line":224,"start_character":13,"end_line":224,"end_character":23},"updated":"2021-09-06 09:23:56.000000000","message":"might be better to addCleanup inside the create_deployment function to ensure that everywhere it\u0027s called a clean up is configured.","commit_id":"d85cf916e02bc75915d083c649711417e9cd14a8"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"d7b588b2d908cb18889d9dc8220553ec6e2780ea","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        \"\"\""},{"line_number":222,"context_line":"        timeout \u003d CONF.kuryr_kubernetes.lb_build_timeout"},{"line_number":223,"context_line":"        deployment_name, _ \u003d self.create_deployment()"},{"line_number":224,"context_line":"        self.addCleanup(self.delete_deployment, deployment_name)"},{"line_number":225,"context_line":"        service_name, _ \u003d self.create_service(pod_label\u003d{\"app\": \"demo\"},"},{"line_number":226,"context_line":"                                              spec_type\u003d\u0027ClusterIP\u0027)"},{"line_number":227,"context_line":"        service_ip \u003d self.get_service_ip(service_name, spec_type\u003d\u0027ClusterIP\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"61225d94_c023ffa5","line":224,"range":{"start_line":224,"start_character":13,"end_line":224,"end_character":23},"in_reply_to":"ef1ac247_547cbe04","updated":"2021-09-06 14:51:41.000000000","message":"Done","commit_id":"d85cf916e02bc75915d083c649711417e9cd14a8"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"0f920063257e25899735312e8d4e6d89b8d2e67b","unresolved":true,"context_lines":[{"line_number":215,"context_line":"        service_ip \u003d self.get_service_ip(service_name, spec_type\u003d\u0027ClusterIP\u0027)"},{"line_number":216,"context_line":"        self.addCleanup(self.delete_service, service_name)"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        klb_crd_id \u003d self.wait_for_status(timeout, 15, self.get_klb_crd_id,"},{"line_number":219,"context_line":"                                          service_name\u003dservice_name)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        pool_query \u003d \"loadbalancer_id\u003d%s\" % klb_crd_id"}],"source_content_type":"text/x-python","patch_set":10,"id":"4d2cd236_032fa259","line":218,"range":{"start_line":218,"start_character":60,"end_line":218,"end_character":74},"updated":"2021-09-09 08:11:31.000000000","message":"we don\u0027t have CRDs support on Ussuri, this would need to be adapted or you can just include a config option to enable the test only on the versions supported.","commit_id":"5d69a52ea919409fc1ba95ba40e5ffce6f8bbb71"}]}
