)]}'
{"kuryr_tempest_plugin/tests/scenario/test_network_policy.py":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f427927b0e27e2ca19fdf813ac487bf9c30e1572","unresolved":true,"context_lines":[{"line_number":184,"context_line":"    @classmethod"},{"line_number":185,"context_line":"    def skip_checks(cls):"},{"line_number":186,"context_line":"        super(ServiceWOSelectorsNPScenario, cls).skip_checks()"},{"line_number":187,"context_line":"        if not CONF.network_feature_enabled.floating_ips:"},{"line_number":188,"context_line":"            raise cls.skipException(\"Floating ips are not available\")"},{"line_number":189,"context_line":"        if not CONF.kuryr_kubernetes.service_tests_enabled:"},{"line_number":190,"context_line":"            raise cls.skipException(\"Service tests are not enabled\")"},{"line_number":191,"context_line":"        if CONF.kuryr_kubernetes.ipv6:"}],"source_content_type":"text/x-python","patch_set":1,"id":"2471b2a0_11f4bc10","line":188,"range":{"start_line":187,"start_character":0,"end_line":188,"end_character":69},"updated":"2020-12-08 02:19:10.000000000","message":"why this test needs to be skipped if fips or ipv6 is enabled? Also, we might need to check if test_services_without_selector is enabled instead of service_tests_enabled.","commit_id":"7a1c624182d4c668f9328575ff3e1f36bf9b7fde"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"de7927f2114b9a02c6ba3f13b1ec60107f1eabb8","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    @classmethod"},{"line_number":185,"context_line":"    def skip_checks(cls):"},{"line_number":186,"context_line":"        super(ServiceWOSelectorsNPScenario, cls).skip_checks()"},{"line_number":187,"context_line":"        if not CONF.network_feature_enabled.floating_ips:"},{"line_number":188,"context_line":"            raise cls.skipException(\"Floating ips are not available\")"},{"line_number":189,"context_line":"        if not CONF.kuryr_kubernetes.service_tests_enabled:"},{"line_number":190,"context_line":"            raise cls.skipException(\"Service tests are not enabled\")"},{"line_number":191,"context_line":"        if CONF.kuryr_kubernetes.ipv6:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fd4d6fd9_bb017d4d","line":188,"range":{"start_line":187,"start_character":0,"end_line":188,"end_character":69},"in_reply_to":"2471b2a0_11f4bc10","updated":"2020-12-08 07:18:11.000000000","message":"Ack","commit_id":"7a1c624182d4c668f9328575ff3e1f36bf9b7fde"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f427927b0e27e2ca19fdf813ac487bf9c30e1572","unresolved":true,"context_lines":[{"line_number":227,"context_line":"            cidr \u003d self.get_kuryr_net_crds("},{"line_number":228,"context_line":"                crd_name)[\u0027spec\u0027][\u0027subnetCIDR\u0027]"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        ipn \u003d netaddr.IPNetwork(cidr)"},{"line_number":231,"context_line":"        curl_tmpl \u003d \"curl {}\""},{"line_number":232,"context_line":"        if ipn.version \u003d\u003d 6:"},{"line_number":233,"context_line":"            curl_tmpl \u003d \"curl [{}]\""},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # create client pod in client ns"},{"line_number":236,"context_line":"        client_pod_name \u003d data_utils.rand_name(prefix\u003d\u0027client-pod\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"48c37962_ef3202fb","line":233,"range":{"start_line":230,"start_character":0,"end_line":233,"end_character":35},"updated":"2020-12-08 02:19:10.000000000","message":"Perhaps this template could be built based on the serviceIP and one extra call to k8s would be avoid","commit_id":"7a1c624182d4c668f9328575ff3e1f36bf9b7fde"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"de7927f2114b9a02c6ba3f13b1ec60107f1eabb8","unresolved":true,"context_lines":[{"line_number":227,"context_line":"            cidr \u003d self.get_kuryr_net_crds("},{"line_number":228,"context_line":"                crd_name)[\u0027spec\u0027][\u0027subnetCIDR\u0027]"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        ipn \u003d netaddr.IPNetwork(cidr)"},{"line_number":231,"context_line":"        curl_tmpl \u003d \"curl {}\""},{"line_number":232,"context_line":"        if ipn.version \u003d\u003d 6:"},{"line_number":233,"context_line":"            curl_tmpl \u003d \"curl [{}]\""},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # create client pod in client ns"},{"line_number":236,"context_line":"        client_pod_name \u003d data_utils.rand_name(prefix\u003d\u0027client-pod\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"b4e7dddf_2d7c1b85","line":233,"range":{"start_line":230,"start_character":0,"end_line":233,"end_character":35},"in_reply_to":"48c37962_ef3202fb","updated":"2020-12-08 07:18:11.000000000","message":"Right, also, I\u0027ll extract it to separate function.","commit_id":"7a1c624182d4c668f9328575ff3e1f36bf9b7fde"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f427927b0e27e2ca19fdf813ac487bf9c30e1572","unresolved":true,"context_lines":[{"line_number":291,"context_line":"                                         namespace\u003dserver_ns_name)"},{"line_number":292,"context_line":"        service2_ip \u003d self.get_service_ip(service2_name,"},{"line_number":293,"context_line":"                                          namespace\u003dserver_ns_name)"},{"line_number":294,"context_line":"        self.verify_lbaas_endpoints_configured(service_name, 1, server_ns_name)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        # check connectivity"},{"line_number":297,"context_line":"        cmd \u003d [\"/bin/sh\", \"-c\", curl_tmpl.format(service_ip)]"}],"source_content_type":"text/x-python","patch_set":1,"id":"139f4da0_e1756e2f","line":294,"range":{"start_line":294,"start_character":8,"end_line":294,"end_character":79},"updated":"2020-12-08 02:19:10.000000000","message":"It would be nice to verify_lbaas_endpoints_configured for service2_name as well.","commit_id":"7a1c624182d4c668f9328575ff3e1f36bf9b7fde"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"de7927f2114b9a02c6ba3f13b1ec60107f1eabb8","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                                         namespace\u003dserver_ns_name)"},{"line_number":292,"context_line":"        service2_ip \u003d self.get_service_ip(service2_name,"},{"line_number":293,"context_line":"                                          namespace\u003dserver_ns_name)"},{"line_number":294,"context_line":"        self.verify_lbaas_endpoints_configured(service_name, 1, server_ns_name)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        # check connectivity"},{"line_number":297,"context_line":"        cmd \u003d [\"/bin/sh\", \"-c\", curl_tmpl.format(service_ip)]"}],"source_content_type":"text/x-python","patch_set":1,"id":"44ec33a8_dec47eb0","line":294,"range":{"start_line":294,"start_character":8,"end_line":294,"end_character":79},"in_reply_to":"139f4da0_e1756e2f","updated":"2020-12-08 07:18:11.000000000","message":"Ok.","commit_id":"7a1c624182d4c668f9328575ff3e1f36bf9b7fde"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"dd30660be32956b68187b19eed9dad5fefd19df1","unresolved":true,"context_lines":[{"line_number":206,"context_line":"                expected \u003d\u003d existing)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    @decorators.idempotent_id(\u0027abcfa34d-078c-485f-a80d-765c173d7652\u0027)"},{"line_number":209,"context_line":"    def test_service_wo_selectors(self):"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        # create namespace for client"},{"line_number":212,"context_line":"        client_ns_name \u003d data_utils.rand_name(prefix\u003d\u0027client-ns\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f15bade_7a3b722f","line":209,"range":{"start_line":209,"start_character":8,"end_line":209,"end_character":33},"updated":"2020-12-10 01:51:29.000000000","message":"It might be handy to rename it to \"test_egress_np_to_service_wo_selectors\"","commit_id":"adfb55fe682ba57e2d78f4e32694b2f6ba55c626"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"8ab037eb33e4264e0f9799d3501cc53b15d8b90b","unresolved":true,"context_lines":[{"line_number":206,"context_line":"                expected \u003d\u003d existing)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    @decorators.idempotent_id(\u0027abcfa34d-078c-485f-a80d-765c173d7652\u0027)"},{"line_number":209,"context_line":"    def test_service_wo_selectors(self):"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        # create namespace for client"},{"line_number":212,"context_line":"        client_ns_name \u003d data_utils.rand_name(prefix\u003d\u0027client-ns\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"2e7c509b_ba8305fc","line":209,"range":{"start_line":209,"start_character":8,"end_line":209,"end_character":33},"in_reply_to":"9f15bade_7a3b722f","updated":"2020-12-10 12:20:36.000000000","message":"Ah, right, naming is always the hard part ;)","commit_id":"adfb55fe682ba57e2d78f4e32694b2f6ba55c626"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d9fbaedf63c81f60d8271116fbf386f35c557a17","unresolved":true,"context_lines":[{"line_number":190,"context_line":"            raise cls.skipException(\u0027New KuryrNetworkPolicy NP CRDs must be \u0027"},{"line_number":191,"context_line":"                                    \u0027used to run these tests\u0027)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def get_np_crd_info(self, name, namespace\u003d\u0027default\u0027, **kwargs):"},{"line_number":194,"context_line":"        crd \u003d self.k8s_client.CustomObjectsApi().get_namespaced_custom_object("},{"line_number":195,"context_line":"            group\u003dbase.KURYR_CRD_GROUP, version\u003dbase.KURYR_CRD_VERSION,"},{"line_number":196,"context_line":"            namespace\u003dnamespace, plural\u003dKURYR_NETWORK_POLICY_CRD_PLURAL,"},{"line_number":197,"context_line":"            name\u003dname, **kwargs)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        expected \u003d len(crd[\u0027spec\u0027].get(\u0027egressSgRules\u0027, []) +"},{"line_number":200,"context_line":"                       crd[\u0027spec\u0027].get(\u0027ingressSgRules\u0027, []))"},{"line_number":201,"context_line":"        existing \u003d len(crd[\u0027status\u0027][\u0027securityGroupRules\u0027])"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        # Third result tells us if all the SG rules are created."},{"line_number":204,"context_line":"        return (crd[\u0027status\u0027].get(\u0027securityGroupId\u0027),"},{"line_number":205,"context_line":"                crd[\u0027status\u0027].get(\u0027podSelector\u0027),"},{"line_number":206,"context_line":"                expected \u003d\u003d existing)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    @decorators.idempotent_id(\u0027abcfa34d-078c-485f-a80d-765c173d7652\u0027)"},{"line_number":209,"context_line":"    def test_egress_np_to_service_wo_selectors(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"74c93a9a_7d4fee1f","line":206,"range":{"start_line":193,"start_character":0,"end_line":206,"end_character":37},"updated":"2020-12-11 16:37:41.000000000","message":"That\u0027s duplicating some code, isn\u0027t it?","commit_id":"7f2517b6d2710da48611ebf5e21795be6adb1245"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"dec238c548d45dc70ce55329d277a58adc32237d","unresolved":true,"context_lines":[{"line_number":190,"context_line":"            raise cls.skipException(\u0027New KuryrNetworkPolicy NP CRDs must be \u0027"},{"line_number":191,"context_line":"                                    \u0027used to run these tests\u0027)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def get_np_crd_info(self, name, namespace\u003d\u0027default\u0027, **kwargs):"},{"line_number":194,"context_line":"        crd \u003d self.k8s_client.CustomObjectsApi().get_namespaced_custom_object("},{"line_number":195,"context_line":"            group\u003dbase.KURYR_CRD_GROUP, version\u003dbase.KURYR_CRD_VERSION,"},{"line_number":196,"context_line":"            namespace\u003dnamespace, plural\u003dKURYR_NETWORK_POLICY_CRD_PLURAL,"},{"line_number":197,"context_line":"            name\u003dname, **kwargs)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        expected \u003d len(crd[\u0027spec\u0027].get(\u0027egressSgRules\u0027, []) +"},{"line_number":200,"context_line":"                       crd[\u0027spec\u0027].get(\u0027ingressSgRules\u0027, []))"},{"line_number":201,"context_line":"        existing \u003d len(crd[\u0027status\u0027][\u0027securityGroupRules\u0027])"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        # Third result tells us if all the SG rules are created."},{"line_number":204,"context_line":"        return (crd[\u0027status\u0027].get(\u0027securityGroupId\u0027),"},{"line_number":205,"context_line":"                crd[\u0027status\u0027].get(\u0027podSelector\u0027),"},{"line_number":206,"context_line":"                expected \u003d\u003d existing)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    @decorators.idempotent_id(\u0027abcfa34d-078c-485f-a80d-765c173d7652\u0027)"},{"line_number":209,"context_line":"    def test_egress_np_to_service_wo_selectors(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"258be15b_d8c45f15","line":206,"range":{"start_line":193,"start_character":0,"end_line":206,"end_character":37},"in_reply_to":"74c93a9a_7d4fee1f","updated":"2020-12-14 11:06:40.000000000","message":"get_np_crd_info is abstract in base class, so I need to have implementation here. Perhaps I could base on the class above, but I\u0027d need to have skip_checks overwritten.\n\nEither way is bad, but less code is better, I\u0027ll change it.","commit_id":"7f2517b6d2710da48611ebf5e21795be6adb1245"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d9fbaedf63c81f60d8271116fbf386f35c557a17","unresolved":true,"context_lines":[{"line_number":319,"context_line":"                    break"},{"line_number":320,"context_line":"            except kubernetes.client.rest.ApiException:"},{"line_number":321,"context_line":"                continue"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        self.assertIn(consts.POD_OUTPUT,"},{"line_number":324,"context_line":"                      self.exec_command_in_pod(client_pod_name, cmd,"},{"line_number":325,"context_line":"                                               namespace\u003dclient_ns_name))"},{"line_number":326,"context_line":"        self.assertNotIn(consts.POD_OUTPUT,"},{"line_number":327,"context_line":"                         self.exec_command_in_pod(client_pod_name, cmd2,"},{"line_number":328,"context_line":"                                                  namespace\u003dclient_ns_name))"}],"source_content_type":"text/x-python","patch_set":4,"id":"eae71752_4d9c9680","line":328,"range":{"start_line":322,"start_character":0,"end_line":328,"end_character":76},"updated":"2020-12-11 16:37:41.000000000","message":"Could be cool to also comment here as it\u0027s done earlier.","commit_id":"7f2517b6d2710da48611ebf5e21795be6adb1245"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"dec238c548d45dc70ce55329d277a58adc32237d","unresolved":false,"context_lines":[{"line_number":319,"context_line":"                    break"},{"line_number":320,"context_line":"            except kubernetes.client.rest.ApiException:"},{"line_number":321,"context_line":"                continue"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        self.assertIn(consts.POD_OUTPUT,"},{"line_number":324,"context_line":"                      self.exec_command_in_pod(client_pod_name, cmd,"},{"line_number":325,"context_line":"                                               namespace\u003dclient_ns_name))"},{"line_number":326,"context_line":"        self.assertNotIn(consts.POD_OUTPUT,"},{"line_number":327,"context_line":"                         self.exec_command_in_pod(client_pod_name, cmd2,"},{"line_number":328,"context_line":"                                                  namespace\u003dclient_ns_name))"}],"source_content_type":"text/x-python","patch_set":4,"id":"a4c63b2a_581b75e9","line":328,"range":{"start_line":322,"start_character":0,"end_line":328,"end_character":76},"in_reply_to":"eae71752_4d9c9680","updated":"2020-12-14 11:06:40.000000000","message":"Ack","commit_id":"7f2517b6d2710da48611ebf5e21795be6adb1245"}]}
