)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"3f7af73022097a704f8d0e6955b31fdbf439b64c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"- Creating a service"},{"line_number":10,"context_line":"- Creating a network policy"},{"line_number":11,"context_line":"- Deleting one of the service pods and creating a new one"},{"line_number":12,"context_line":"- Check connectivity to the service"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ibf8113d9667c02a1b6d080aa50e91fde0809fd75"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f560f44_0f206bb1","line":12,"range":{"start_line":12,"start_character":28,"end_line":12,"end_character":35},"updated":"2020-09-29 13:11:34.000000000","message":"You are doing more than only those tests","commit_id":"826cbf77df04d7836fab608d432e1b2b4d9668f3"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"b791bce78ab787c6299811224aae60676fd8dfef","unresolved":false,"context_lines":[{"line_number":9,"context_line":"- Creating a service"},{"line_number":10,"context_line":"- Creating a network policy"},{"line_number":11,"context_line":"- Deleting one of the service pods and creating a new one"},{"line_number":12,"context_line":"- Check connectivity to the service"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ibf8113d9667c02a1b6d080aa50e91fde0809fd75"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f560f44_5269688a","line":12,"range":{"start_line":12,"start_character":28,"end_line":12,"end_character":35},"in_reply_to":"9f560f44_0f206bb1","updated":"2020-09-29 13:34:02.000000000","message":"Done","commit_id":"826cbf77df04d7836fab608d432e1b2b4d9668f3"}],"kuryr_tempest_plugin/tests/scenario/base.py":[{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"1f0799579bfd9025594f8e250386573d7b3a013a","unresolved":false,"context_lines":[{"line_number":1190,"context_line":"                                            namespace\u003d\u0027default\u0027,"},{"line_number":1191,"context_line":"                                            labels\u003dNone,"},{"line_number":1192,"context_line":"                                            pod_num\u003dNone,"},{"line_number":1193,"context_line":"                                            pod_name\u003dNone,"},{"line_number":1194,"context_line":"                                            cleanup\u003dTrue):"},{"line_number":1195,"context_line":"        # FIXME(itzikb): Use the clusterIP to"},{"line_number":1196,"context_line":"        # check service status as there are some issues with the FIPs"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_8f263b22","line":1193,"updated":"2020-09-29 13:10:24.000000000","message":"Add description in the function or when you use those parameters why do you need those","commit_id":"826cbf77df04d7836fab608d432e1b2b4d9668f3"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"b791bce78ab787c6299811224aae60676fd8dfef","unresolved":false,"context_lines":[{"line_number":1190,"context_line":"                                            namespace\u003d\u0027default\u0027,"},{"line_number":1191,"context_line":"                                            labels\u003dNone,"},{"line_number":1192,"context_line":"                                            pod_num\u003dNone,"},{"line_number":1193,"context_line":"                                            pod_name\u003dNone,"},{"line_number":1194,"context_line":"                                            cleanup\u003dTrue):"},{"line_number":1195,"context_line":"        # FIXME(itzikb): Use the clusterIP to"},{"line_number":1196,"context_line":"        # check service status as there are some issues with the FIPs"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_72d2ac5d","line":1193,"in_reply_to":"9f560f44_8f263b22","updated":"2020-09-29 13:34:02.000000000","message":"Done","commit_id":"826cbf77df04d7836fab608d432e1b2b4d9668f3"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"1f0799579bfd9025594f8e250386573d7b3a013a","unresolved":false,"context_lines":[{"line_number":1198,"context_line":"        clusterip_svc_ip \u003d self.get_service_ip(self.service_name,"},{"line_number":1199,"context_line":"                                               spec_type\u003d\u0027ClusterIP\u0027,"},{"line_number":1200,"context_line":"                                               namespace\u003dnamespace)"},{"line_number":1201,"context_line":"        pod_num \u003d pod_num or self.pod_num"},{"line_number":1202,"context_line":"        if not pod_name:"},{"line_number":1203,"context_line":"            pod_name, _ \u003d self.create_pod(namespace\u003dnamespace, labels\u003dlabels)"},{"line_number":1204,"context_line":"            if cleanup:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_0f3a2b34","line":1201,"updated":"2020-09-29 13:10:24.000000000","message":"Isn\u0027t it better just to update the self.pod_num if needed and not adding another param?","commit_id":"826cbf77df04d7836fab608d432e1b2b4d9668f3"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"b791bce78ab787c6299811224aae60676fd8dfef","unresolved":false,"context_lines":[{"line_number":1198,"context_line":"        clusterip_svc_ip \u003d self.get_service_ip(self.service_name,"},{"line_number":1199,"context_line":"                                               spec_type\u003d\u0027ClusterIP\u0027,"},{"line_number":1200,"context_line":"                                               namespace\u003dnamespace)"},{"line_number":1201,"context_line":"        pod_num \u003d pod_num or self.pod_num"},{"line_number":1202,"context_line":"        if not pod_name:"},{"line_number":1203,"context_line":"            pod_name, _ \u003d self.create_pod(namespace\u003dnamespace, labels\u003dlabels)"},{"line_number":1204,"context_line":"            if cleanup:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_f20a3c1c","line":1201,"in_reply_to":"9f560f44_0f3a2b34","updated":"2020-09-29 13:34:02.000000000","message":"self.pod_num is meant to be the number pod pods in the service","commit_id":"826cbf77df04d7836fab608d432e1b2b4d9668f3"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"1f0799579bfd9025594f8e250386573d7b3a013a","unresolved":false,"context_lines":[{"line_number":1211,"context_line":"            service_port,"},{"line_number":1212,"context_line":"            protocol,"},{"line_number":1213,"context_line":"            namespace_name\u003dnamespace)"},{"line_number":1214,"context_line":"        return pod_name"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_0f234b08","line":1214,"updated":"2020-09-29 13:10:24.000000000","message":"Returning pod_name for the function that check connectivity doesn\u0027t make sense to me, maybe to have self.pod_name?","commit_id":"826cbf77df04d7836fab608d432e1b2b4d9668f3"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"b791bce78ab787c6299811224aae60676fd8dfef","unresolved":false,"context_lines":[{"line_number":1211,"context_line":"            service_port,"},{"line_number":1212,"context_line":"            protocol,"},{"line_number":1213,"context_line":"            namespace_name\u003dnamespace)"},{"line_number":1214,"context_line":"        return pod_name"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_123c10bf","line":1214,"in_reply_to":"9f560f44_0f234b08","updated":"2020-09-29 13:34:02.000000000","message":"The idea is that you can use the tester pod for later connectivity checks , I\u0027m not sure about setting self.pod_name","commit_id":"826cbf77df04d7836fab608d432e1b2b4d9668f3"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"016a40eec088d12e67680fa430da65689101a870","unresolved":false,"context_lines":[{"line_number":1194,"context_line":"                                            cleanup\u003dTrue):"},{"line_number":1195,"context_line":"        \"\"\"Returns an OpenStack client manager"},{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"        Create a pod(Unless pod_name is provided and check connectivity"},{"line_number":1198,"context_line":"        to a service from that pod."},{"line_number":1199,"context_line":""},{"line_number":1200,"context_line":"        :param service_port - The port of the servic we check"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_dc271463","line":1197,"range":{"start_line":1197,"start_character":20,"end_line":1197,"end_character":21},"updated":"2020-10-02 14:53:40.000000000","message":"typo","commit_id":"bb8768b279f95fd495955ea3c5a6af2d366d34e5"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"b35c9eb70ded2d4bd2f6f652d0f2e2aaf0facb98","unresolved":false,"context_lines":[{"line_number":1194,"context_line":"                                            cleanup\u003dTrue):"},{"line_number":1195,"context_line":"        \"\"\"Returns an OpenStack client manager"},{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"        Create a pod(Unless pod_name is provided and check connectivity"},{"line_number":1198,"context_line":"        to a service from that pod."},{"line_number":1199,"context_line":""},{"line_number":1200,"context_line":"        :param service_port - The port of the servic we check"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_66346e4a","line":1197,"range":{"start_line":1197,"start_character":20,"end_line":1197,"end_character":21},"in_reply_to":"9f560f44_dc271463","updated":"2020-10-04 09:41:34.000000000","message":"Done","commit_id":"bb8768b279f95fd495955ea3c5a6af2d366d34e5"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c3ff944b71b0c621eac79699b11c3fb8a0b06643","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"                                            pod_num\u003dNone,"},{"line_number":1193,"context_line":"                                            pod_name\u003dNone,"},{"line_number":1194,"context_line":"                                            cleanup\u003dTrue):"},{"line_number":1195,"context_line":"        \"\"\"Returns an OpenStack client manager"},{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"        Create a pod unless a value for the pod_name parameter is provided and"},{"line_number":1198,"context_line":"        check connectivity to a service from that pod."}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_0d281731","line":1195,"range":{"start_line":1195,"start_character":11,"end_line":1195,"end_character":46},"updated":"2020-10-06 10:47:52.000000000","message":"Should this be \"Verify client pod to service connectivity\"?","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"434fad88751ac59aead3685492c0f315485ccbc2","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"                                            pod_num\u003dNone,"},{"line_number":1193,"context_line":"                                            pod_name\u003dNone,"},{"line_number":1194,"context_line":"                                            cleanup\u003dTrue):"},{"line_number":1195,"context_line":"        \"\"\"Returns an OpenStack client manager"},{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"        Create a pod unless a value for the pod_name parameter is provided and"},{"line_number":1198,"context_line":"        check connectivity to a service from that pod."}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_f62db0ae","line":1195,"range":{"start_line":1195,"start_character":11,"end_line":1195,"end_character":46},"in_reply_to":"9f560f44_0d281731","updated":"2020-10-07 10:28:52.000000000","message":"Done","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c3ff944b71b0c621eac79699b11c3fb8a0b06643","unresolved":false,"context_lines":[{"line_number":1197,"context_line":"        Create a pod unless a value for the pod_name parameter is provided and"},{"line_number":1198,"context_line":"        check connectivity to a service from that pod."},{"line_number":1199,"context_line":""},{"line_number":1200,"context_line":"        :param service_port - The port of the servic we check"},{"line_number":1201,"context_line":"        :param protocol - The service protocol we check"},{"line_number":1202,"context_line":"        :namespace - The namespace that the test pod should be in"},{"line_number":1203,"context_line":"        :param labels - The labels of the tester pod"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_8ddee767","line":1200,"range":{"start_line":1200,"start_character":46,"end_line":1200,"end_character":52},"updated":"2020-10-06 10:47:52.000000000","message":"service","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"434fad88751ac59aead3685492c0f315485ccbc2","unresolved":false,"context_lines":[{"line_number":1197,"context_line":"        Create a pod unless a value for the pod_name parameter is provided and"},{"line_number":1198,"context_line":"        check connectivity to a service from that pod."},{"line_number":1199,"context_line":""},{"line_number":1200,"context_line":"        :param service_port - The port of the servic we check"},{"line_number":1201,"context_line":"        :param protocol - The service protocol we check"},{"line_number":1202,"context_line":"        :namespace - The namespace that the test pod should be in"},{"line_number":1203,"context_line":"        :param labels - The labels of the tester pod"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_d6306c09","line":1200,"range":{"start_line":1200,"start_character":46,"end_line":1200,"end_character":52},"in_reply_to":"9f560f44_8ddee767","updated":"2020-10-07 10:28:52.000000000","message":"Done","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c3ff944b71b0c621eac79699b11c3fb8a0b06643","unresolved":false,"context_lines":[{"line_number":1199,"context_line":""},{"line_number":1200,"context_line":"        :param service_port - The port of the servic we check"},{"line_number":1201,"context_line":"        :param protocol - The service protocol we check"},{"line_number":1202,"context_line":"        :namespace - The namespace that the test pod should be in"},{"line_number":1203,"context_line":"        :param labels - The labels of the tester pod"},{"line_number":1204,"context_line":"        :param pod_num - The number of pods expected to serve the service"},{"line_number":1205,"context_line":"        :param pod_name - If supplied no pod will be created and instead a pod"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_4d420f0f","line":1202,"range":{"start_line":1202,"start_character":35,"end_line":1202,"end_character":65},"updated":"2020-10-06 10:47:52.000000000","message":"This could be renamed to \"The namespace of the client pod\" as this is the pod that will try to reach the server pods.","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"434fad88751ac59aead3685492c0f315485ccbc2","unresolved":false,"context_lines":[{"line_number":1199,"context_line":""},{"line_number":1200,"context_line":"        :param service_port - The port of the servic we check"},{"line_number":1201,"context_line":"        :param protocol - The service protocol we check"},{"line_number":1202,"context_line":"        :namespace - The namespace that the test pod should be in"},{"line_number":1203,"context_line":"        :param labels - The labels of the tester pod"},{"line_number":1204,"context_line":"        :param pod_num - The number of pods expected to serve the service"},{"line_number":1205,"context_line":"        :param pod_name - If supplied no pod will be created and instead a pod"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_9626f4ca","line":1202,"range":{"start_line":1202,"start_character":35,"end_line":1202,"end_character":65},"in_reply_to":"9f560f44_4d420f0f","updated":"2020-10-07 10:28:52.000000000","message":"Done","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c3ff944b71b0c621eac79699b11c3fb8a0b06643","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"        :param service_port - The port of the servic we check"},{"line_number":1201,"context_line":"        :param protocol - The service protocol we check"},{"line_number":1202,"context_line":"        :namespace - The namespace that the test pod should be in"},{"line_number":1203,"context_line":"        :param labels - The labels of the tester pod"},{"line_number":1204,"context_line":"        :param pod_num - The number of pods expected to serve the service"},{"line_number":1205,"context_line":"        :param pod_name - If supplied no pod will be created and instead a pod"},{"line_number":1206,"context_line":"                          with this name will be used"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_ad512bdc","line":1203,"range":{"start_line":1203,"start_character":42,"end_line":1203,"end_character":48},"updated":"2020-10-06 10:47:52.000000000","message":"could be renamed to client pod","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"434fad88751ac59aead3685492c0f315485ccbc2","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"        :param service_port - The port of the servic we check"},{"line_number":1201,"context_line":"        :param protocol - The service protocol we check"},{"line_number":1202,"context_line":"        :namespace - The namespace that the test pod should be in"},{"line_number":1203,"context_line":"        :param labels - The labels of the tester pod"},{"line_number":1204,"context_line":"        :param pod_num - The number of pods expected to serve the service"},{"line_number":1205,"context_line":"        :param pod_name - If supplied no pod will be created and instead a pod"},{"line_number":1206,"context_line":"                          with this name will be used"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_f6165058","line":1203,"range":{"start_line":1203,"start_character":42,"end_line":1203,"end_character":48},"in_reply_to":"9f560f44_ad512bdc","updated":"2020-10-07 10:28:52.000000000","message":"Done","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c3ff944b71b0c621eac79699b11c3fb8a0b06643","unresolved":false,"context_lines":[{"line_number":1205,"context_line":"        :param pod_name - If supplied no pod will be created and instead a pod"},{"line_number":1206,"context_line":"                          with this name will be used"},{"line_number":1207,"context_line":"        :param cleanup - Whether to add a cleanup function for the created pod"},{"line_number":1208,"context_line":"        :returns: The name of the pod that was created or passed to"},{"line_number":1209,"context_line":"                  the function"},{"line_number":1210,"context_line":"        \"\"\""},{"line_number":1211,"context_line":"        # FIXME(itzikb): Use the clusterIP to"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_edcfa388","line":1208,"range":{"start_line":1208,"start_character":34,"end_line":1208,"end_character":37},"updated":"2020-10-06 10:47:52.000000000","message":"might be handy to specify it\u0027s a client pod","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"434fad88751ac59aead3685492c0f315485ccbc2","unresolved":false,"context_lines":[{"line_number":1205,"context_line":"        :param pod_name - If supplied no pod will be created and instead a pod"},{"line_number":1206,"context_line":"                          with this name will be used"},{"line_number":1207,"context_line":"        :param cleanup - Whether to add a cleanup function for the created pod"},{"line_number":1208,"context_line":"        :returns: The name of the pod that was created or passed to"},{"line_number":1209,"context_line":"                  the function"},{"line_number":1210,"context_line":"        \"\"\""},{"line_number":1211,"context_line":"        # FIXME(itzikb): Use the clusterIP to"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_d6198c87","line":1208,"range":{"start_line":1208,"start_character":34,"end_line":1208,"end_character":37},"in_reply_to":"9f560f44_edcfa388","updated":"2020-10-07 10:28:52.000000000","message":"Done","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"05bf55b0e918dabe0ab153ed584e2b15844b6409","unresolved":false,"context_lines":[{"line_number":119,"context_line":"            egress_port \u003d [k8s_client.V1NetworkPolicyPort("},{"line_number":120,"context_line":"                port\u003degress_port, protocol\u003degress_port_protocol)]"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        if ingress_match_expressions:"},{"line_number":123,"context_line":"            _from \u003d [k8s_client.V1NetworkPolicyPeer("},{"line_number":124,"context_line":"                pod_selector\u003dk8s_client.V1LabelSelector("},{"line_number":125,"context_line":"                    match_expressions\u003dingress_match_expressions))]"},{"line_number":126,"context_line":"        if egress_match_expressions:"},{"line_number":127,"context_line":"            to \u003d [k8s_client.V1NetworkPolicyPeer("},{"line_number":128,"context_line":"                pod_selector\u003dk8s_client.V1LabelSelector("},{"line_number":129,"context_line":"                    match_expressions\u003degress_match_expressions))]"},{"line_number":130,"context_line":"        np.spec \u003d k8s_client.V1NetworkPolicySpec("},{"line_number":131,"context_line":"            egress\u003d[k8s_client.V1NetworkPolicyEgressRule("},{"line_number":132,"context_line":"                ports\u003degress_port,"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f65232a_c803d472","line":129,"range":{"start_line":122,"start_character":0,"end_line":129,"end_character":65},"updated":"2020-10-27 17:10:06.000000000","message":"That\u0027s a bit unusual, so you can either use ingress_match_expressions \u0026 egress_match_expressions *or* egress_ipblock_cidr \u0026 ingress_ipblock_cidr, because one will overwrite the other? Shouldn\u0027t we append to the list here?","commit_id":"d4f0b55b24f2ac695a003ae17e2957f7137e70ae"}],"kuryr_tempest_plugin/tests/scenario/base_network_policy.py":[{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"1f0799579bfd9025594f8e250386573d7b3a013a","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        service_label \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027}"},{"line_number":381,"context_line":"        tester_label \u003d {\u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":382,"context_line":"        pod_selector_labels \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027,"},{"line_number":383,"context_line":"                               \u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":384,"context_line":"        namespace_name, namespace \u003d self.create_namespace()"},{"line_number":385,"context_line":"        self.addCleanup(self.delete_namespace, namespace_name)"},{"line_number":386,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_2f48cfb1","line":383,"updated":"2020-09-29 13:10:24.000000000","message":"pod_selector_labels \u003d {**service_label, **tester_label}","commit_id":"826cbf77df04d7836fab608d432e1b2b4d9668f3"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"1f0799579bfd9025594f8e250386573d7b3a013a","unresolved":false,"context_lines":[{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        self.create_setup_for_service_test(label\u003d\u0027np-add-remove-label\u0027,"},{"line_number":388,"context_line":"                                           namespace\u003dnamespace_name,"},{"line_number":389,"context_line":"                                           cleanup\u003dFalse)"},{"line_number":390,"context_line":"        first_pod \u003d self.get_pod_name_list("},{"line_number":391,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":392,"context_line":"            label_selector\u003d\u0027app\u003dnp-add-remove-label\u0027)[0]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_4ff9c34c","line":389,"updated":"2020-09-29 13:10:24.000000000","message":"If you don\u0027t clean it here, I guess you need to clean it later right?","commit_id":"826cbf77df04d7836fab608d432e1b2b4d9668f3"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"8a924b83c5d10d0e3985c4e62d4b10bb2a3c690d","unresolved":false,"context_lines":[{"line_number":397,"context_line":""},{"line_number":398,"context_line":"        np \u003d self.create_network_policy(namespace\u003dnamespace_name,"},{"line_number":399,"context_line":"                                        match_labels\u003dpod_selector_labels)"},{"line_number":400,"context_line":"        LOG.debug(\"Creating network policy %s\", np)"},{"line_number":401,"context_line":"        self.addCleanup(self.delete_network_policy, np.metadata.name,"},{"line_number":402,"context_line":"                        namespace_name)"},{"line_number":403,"context_line":"        self.check_service_internal_connectivity(namespace\u003dnamespace_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_8bc9ef52","line":400,"range":{"start_line":400,"start_character":19,"end_line":400,"end_character":27},"updated":"2020-10-01 06:23:40.000000000","message":"Created\n\nor move the log before actual NP creation.","commit_id":"a8a21c0d4ff1efb1fe725ba927abff1704c6e853"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"0d675dd8e3dc374b21e76c51973871e0919f4b95","unresolved":false,"context_lines":[{"line_number":397,"context_line":""},{"line_number":398,"context_line":"        np \u003d self.create_network_policy(namespace\u003dnamespace_name,"},{"line_number":399,"context_line":"                                        match_labels\u003dpod_selector_labels)"},{"line_number":400,"context_line":"        LOG.debug(\"Creating network policy %s\", np)"},{"line_number":401,"context_line":"        self.addCleanup(self.delete_network_policy, np.metadata.name,"},{"line_number":402,"context_line":"                        namespace_name)"},{"line_number":403,"context_line":"        self.check_service_internal_connectivity(namespace\u003dnamespace_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_ebe06b9a","line":400,"range":{"start_line":400,"start_character":19,"end_line":400,"end_character":27},"in_reply_to":"9f560f44_8bc9ef52","updated":"2020-10-01 06:39:44.000000000","message":"Done","commit_id":"a8a21c0d4ff1efb1fe725ba927abff1704c6e853"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"016a40eec088d12e67680fa430da65689101a870","unresolved":false,"context_lines":[{"line_number":381,"context_line":"        tester_label \u003d {\u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":382,"context_line":"        pod_selector_labels \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027,"},{"line_number":383,"context_line":"                               \u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":384,"context_line":"        namespace_name, namespace \u003d self.create_namespace()"},{"line_number":385,"context_line":"        self.addCleanup(self.delete_namespace, namespace_name)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        self.create_setup_for_service_test(label\u003d\u0027np-add-remove-label\u0027,"},{"line_number":388,"context_line":"                                           namespace\u003dnamespace_name,"},{"line_number":389,"context_line":"                                           cleanup\u003dFalse)"},{"line_number":390,"context_line":"        first_pod \u003d self.get_pod_name_list("},{"line_number":391,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":392,"context_line":"            label_selector\u003d\u0027app\u003dnp-add-remove-label\u0027)[0]"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_dc839402","line":389,"range":{"start_line":384,"start_character":0,"end_line":389,"end_character":57},"updated":"2020-10-02 14:53:40.000000000","message":"It might be handy to add logs/comments about what each step is doing, like:\n\n- \"create pod server and service\"\n- \"test can connect\"\n- \"create network policy \u003cname\u003e\"\n- \"test client pod with label \u003cname\u003e can connect\"\n- \"deleting client pod\"\nand so on..","commit_id":"bb8768b279f95fd495955ea3c5a6af2d366d34e5"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"b35c9eb70ded2d4bd2f6f652d0f2e2aaf0facb98","unresolved":false,"context_lines":[{"line_number":381,"context_line":"        tester_label \u003d {\u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":382,"context_line":"        pod_selector_labels \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027,"},{"line_number":383,"context_line":"                               \u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":384,"context_line":"        namespace_name, namespace \u003d self.create_namespace()"},{"line_number":385,"context_line":"        self.addCleanup(self.delete_namespace, namespace_name)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        self.create_setup_for_service_test(label\u003d\u0027np-add-remove-label\u0027,"},{"line_number":388,"context_line":"                                           namespace\u003dnamespace_name,"},{"line_number":389,"context_line":"                                           cleanup\u003dFalse)"},{"line_number":390,"context_line":"        first_pod \u003d self.get_pod_name_list("},{"line_number":391,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":392,"context_line":"            label_selector\u003d\u0027app\u003dnp-add-remove-label\u0027)[0]"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_6682aec9","line":389,"range":{"start_line":384,"start_character":0,"end_line":389,"end_character":57},"in_reply_to":"9f560f44_dc839402","updated":"2020-10-04 09:41:34.000000000","message":"Done","commit_id":"bb8768b279f95fd495955ea3c5a6af2d366d34e5"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"016a40eec088d12e67680fa430da65689101a870","unresolved":false,"context_lines":[{"line_number":395,"context_line":"            labels\u003dtester_label,"},{"line_number":396,"context_line":"            cleanup\u003dFalse)"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"        np \u003d self.create_network_policy(namespace\u003dnamespace_name,"},{"line_number":399,"context_line":"                                        match_labels\u003dpod_selector_labels)"},{"line_number":400,"context_line":"        LOG.debug(\"Network policy %s was created\", np)"},{"line_number":401,"context_line":"        self.addCleanup(self.delete_network_policy, np.metadata.name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_1c9a2c5f","line":398,"range":{"start_line":398,"start_character":18,"end_line":398,"end_character":39},"updated":"2020-10-02 14:53:40.000000000","message":"could a name that identifies what this np is doing be applied to it?","commit_id":"bb8768b279f95fd495955ea3c5a6af2d366d34e5"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"9a097ffb26ecbac477f0e9b7e756f2bbf3a5431c","unresolved":false,"context_lines":[{"line_number":395,"context_line":"            labels\u003dtester_label,"},{"line_number":396,"context_line":"            cleanup\u003dFalse)"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"        np \u003d self.create_network_policy(namespace\u003dnamespace_name,"},{"line_number":399,"context_line":"                                        match_labels\u003dpod_selector_labels)"},{"line_number":400,"context_line":"        LOG.debug(\"Network policy %s was created\", np)"},{"line_number":401,"context_line":"        self.addCleanup(self.delete_network_policy, np.metadata.name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_26ef1687","line":398,"range":{"start_line":398,"start_character":18,"end_line":398,"end_character":39},"in_reply_to":"9f560f44_1c9a2c5f","updated":"2020-10-04 10:44:12.000000000","message":"Are you referring to a name of the network policy? We currently don\u0027t have it in the create_network_policy function (We can add it if you think it\u0027s good to do so)","commit_id":"bb8768b279f95fd495955ea3c5a6af2d366d34e5"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"13380d14166092124ec248c59ea0509f9014e8cc","unresolved":false,"context_lines":[{"line_number":387,"context_line":"        self.create_setup_for_service_test(label\u003d\u0027np-add-remove-label\u0027,"},{"line_number":388,"context_line":"                                           namespace\u003dnamespace_name,"},{"line_number":389,"context_line":"                                           cleanup\u003dFalse)"},{"line_number":390,"context_line":"        LOG.debug(\"A service %s and two pods were created in namespace %s\" %"},{"line_number":391,"context_line":"                  (self.service_name, namespace_name))"},{"line_number":392,"context_line":"        first_pod \u003d self.get_pod_name_list("},{"line_number":393,"context_line":"            namespace\u003dnamespace_name,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_308f47ce","line":390,"range":{"start_line":390,"start_character":70,"end_line":390,"end_character":76},"updated":"2020-10-05 07:33:13.000000000","message":"Why did you change late evaluation of the arguments, which log can do just fine?\n\nNote, that you might want to omit the parentheses, unless you want to pass tuple explicitly, i.e.:\n\n   LOG.debug(\"A service %s and two pods were created in namespace %s\",\n             self.service_name, namespace_name)","commit_id":"31ec1c8927a55371ed4b5bfaac8cc12a685bb983"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"9c61eacb0e6c48f6f47aea495ea1d9aa44b74c87","unresolved":false,"context_lines":[{"line_number":387,"context_line":"        self.create_setup_for_service_test(label\u003d\u0027np-add-remove-label\u0027,"},{"line_number":388,"context_line":"                                           namespace\u003dnamespace_name,"},{"line_number":389,"context_line":"                                           cleanup\u003dFalse)"},{"line_number":390,"context_line":"        LOG.debug(\"A service %s and two pods were created in namespace %s\" %"},{"line_number":391,"context_line":"                  (self.service_name, namespace_name))"},{"line_number":392,"context_line":"        first_pod \u003d self.get_pod_name_list("},{"line_number":393,"context_line":"            namespace\u003dnamespace_name,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_aee658af","line":390,"range":{"start_line":390,"start_character":70,"end_line":390,"end_character":76},"in_reply_to":"9f560f44_308f47ce","updated":"2020-10-05 09:15:31.000000000","message":"Done","commit_id":"31ec1c8927a55371ed4b5bfaac8cc12a685bb983"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"13380d14166092124ec248c59ea0509f9014e8cc","unresolved":false,"context_lines":[{"line_number":397,"context_line":"            labels\u003dtester_label,"},{"line_number":398,"context_line":"            cleanup\u003dFalse)"},{"line_number":399,"context_line":"        LOG.debug(\"Client pod %s was created\", tester_pod_name)"},{"line_number":400,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\" %"},{"line_number":401,"context_line":"                  (self.service_name, tester_pod_name))"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"        np \u003d self.create_network_policy(namespace\u003dnamespace_name,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_30a8e71e","line":400,"range":{"start_line":400,"start_character":68,"end_line":400,"end_character":69},"updated":"2020-10-05 07:33:13.000000000","message":"Ditto. And all the same in log.debug below.","commit_id":"31ec1c8927a55371ed4b5bfaac8cc12a685bb983"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"9c61eacb0e6c48f6f47aea495ea1d9aa44b74c87","unresolved":false,"context_lines":[{"line_number":397,"context_line":"            labels\u003dtester_label,"},{"line_number":398,"context_line":"            cleanup\u003dFalse)"},{"line_number":399,"context_line":"        LOG.debug(\"Client pod %s was created\", tester_pod_name)"},{"line_number":400,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\" %"},{"line_number":401,"context_line":"                  (self.service_name, tester_pod_name))"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"        np \u003d self.create_network_policy(namespace\u003dnamespace_name,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_8ee9d480","line":400,"range":{"start_line":400,"start_character":68,"end_line":400,"end_character":69},"in_reply_to":"9f560f44_30a8e71e","updated":"2020-10-05 09:15:31.000000000","message":"Done","commit_id":"31ec1c8927a55371ed4b5bfaac8cc12a685bb983"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"6aedc57468296f49d1c6ae5bd55e161b92714ae2","unresolved":false,"context_lines":[{"line_number":419,"context_line":"                                                 pod_num\u003d1)"},{"line_number":420,"context_line":"        LOG.debug(\"Connection to service %s with one pod from %s was \""},{"line_number":421,"context_line":"                  \"successful\" % (self.service_name, tester_pod_name))"},{"line_number":422,"context_line":"        pod_name, pod \u003d self.create_pod(labels\u003dservice_label,"},{"line_number":423,"context_line":"                                        namespace\u003dnamespace_name)"},{"line_number":424,"context_line":"        LOG.debug(\"Pod server %s with label %s was created\" %"},{"line_number":425,"context_line":"                  (pod_name, service_label))"},{"line_number":426,"context_line":"        self.check_service_internal_connectivity(namespace\u003dnamespace_name,"},{"line_number":427,"context_line":"                                                 pod_name\u003dtester_pod_name)"},{"line_number":428,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\" %"},{"line_number":429,"context_line":"                  (self.service_name, tester_pod_name))"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_33c2b135","line":427,"range":{"start_line":422,"start_character":0,"end_line":427,"end_character":74},"updated":"2020-10-05 07:49:26.000000000","message":"this will be race-prone... There may be some time between pod creation and having it part of the service/loadbalancer","commit_id":"31ec1c8927a55371ed4b5bfaac8cc12a685bb983"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"9c61eacb0e6c48f6f47aea495ea1d9aa44b74c87","unresolved":false,"context_lines":[{"line_number":419,"context_line":"                                                 pod_num\u003d1)"},{"line_number":420,"context_line":"        LOG.debug(\"Connection to service %s with one pod from %s was \""},{"line_number":421,"context_line":"                  \"successful\" % (self.service_name, tester_pod_name))"},{"line_number":422,"context_line":"        pod_name, pod \u003d self.create_pod(labels\u003dservice_label,"},{"line_number":423,"context_line":"                                        namespace\u003dnamespace_name)"},{"line_number":424,"context_line":"        LOG.debug(\"Pod server %s with label %s was created\" %"},{"line_number":425,"context_line":"                  (pod_name, service_label))"},{"line_number":426,"context_line":"        self.check_service_internal_connectivity(namespace\u003dnamespace_name,"},{"line_number":427,"context_line":"                                                 pod_name\u003dtester_pod_name)"},{"line_number":428,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\" %"},{"line_number":429,"context_line":"                  (self.service_name, tester_pod_name))"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_cefaac42","line":427,"range":{"start_line":422,"start_character":0,"end_line":427,"end_character":74},"in_reply_to":"9f560f44_33c2b135","updated":"2020-10-05 09:15:31.000000000","message":"Added self.verify_lbaas_endpoints_configured","commit_id":"31ec1c8927a55371ed4b5bfaac8cc12a685bb983"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c3ff944b71b0c621eac79699b11c3fb8a0b06643","unresolved":false,"context_lines":[{"line_number":377,"context_line":""},{"line_number":378,"context_line":"    @decorators.idempotent_id(\u0027a93b5bc5-e931-4719-8201-54315c5c86f8\u0027)"},{"line_number":379,"context_line":"    def test_network_policy_add_remove_pod(self):"},{"line_number":380,"context_line":"        service_label \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027}"},{"line_number":381,"context_line":"        tester_label \u003d {\u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":382,"context_line":"        pod_selector_labels \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027,"},{"line_number":383,"context_line":"                               \u0027tstapp\u0027: \u0027tester-label\u0027}"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_f097789b","line":380,"range":{"start_line":380,"start_character":8,"end_line":380,"end_character":54},"updated":"2020-10-06 10:47:52.000000000","message":"It can be handy to name the labels according to the function of the pod, like {app: server}","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"434fad88751ac59aead3685492c0f315485ccbc2","unresolved":false,"context_lines":[{"line_number":377,"context_line":""},{"line_number":378,"context_line":"    @decorators.idempotent_id(\u0027a93b5bc5-e931-4719-8201-54315c5c86f8\u0027)"},{"line_number":379,"context_line":"    def test_network_policy_add_remove_pod(self):"},{"line_number":380,"context_line":"        service_label \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027}"},{"line_number":381,"context_line":"        tester_label \u003d {\u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":382,"context_line":"        pod_selector_labels \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027,"},{"line_number":383,"context_line":"                               \u0027tstapp\u0027: \u0027tester-label\u0027}"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_4ad143f8","line":380,"range":{"start_line":380,"start_character":8,"end_line":380,"end_character":54},"in_reply_to":"9f560f44_f097789b","updated":"2020-10-07 10:28:52.000000000","message":"Done","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c3ff944b71b0c621eac79699b11c3fb8a0b06643","unresolved":false,"context_lines":[{"line_number":378,"context_line":"    @decorators.idempotent_id(\u0027a93b5bc5-e931-4719-8201-54315c5c86f8\u0027)"},{"line_number":379,"context_line":"    def test_network_policy_add_remove_pod(self):"},{"line_number":380,"context_line":"        service_label \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027}"},{"line_number":381,"context_line":"        tester_label \u003d {\u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":382,"context_line":"        pod_selector_labels \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027,"},{"line_number":383,"context_line":"                               \u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":384,"context_line":"        namespace_name, namespace \u003d self.create_namespace()"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_70ab68d6","line":381,"range":{"start_line":381,"start_character":8,"end_line":381,"end_character":49},"updated":"2020-10-06 10:47:52.000000000","message":"Following the thought of previous comment, this could be {app: client}","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"434fad88751ac59aead3685492c0f315485ccbc2","unresolved":false,"context_lines":[{"line_number":378,"context_line":"    @decorators.idempotent_id(\u0027a93b5bc5-e931-4719-8201-54315c5c86f8\u0027)"},{"line_number":379,"context_line":"    def test_network_policy_add_remove_pod(self):"},{"line_number":380,"context_line":"        service_label \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027}"},{"line_number":381,"context_line":"        tester_label \u003d {\u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":382,"context_line":"        pod_selector_labels \u003d {\u0027app\u0027: \u0027np-add-remove-label\u0027,"},{"line_number":383,"context_line":"                               \u0027tstapp\u0027: \u0027tester-label\u0027}"},{"line_number":384,"context_line":"        namespace_name, namespace \u003d self.create_namespace()"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_aa03bf75","line":381,"range":{"start_line":381,"start_character":8,"end_line":381,"end_character":49},"in_reply_to":"9f560f44_70ab68d6","updated":"2020-10-07 10:28:52.000000000","message":"Done","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c3ff944b71b0c621eac79699b11c3fb8a0b06643","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        namespace_name, namespace \u003d self.create_namespace()"},{"line_number":385,"context_line":"        self.addCleanup(self.delete_namespace, namespace_name)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        self.create_setup_for_service_test(label\u003d\u0027np-add-remove-label\u0027,"},{"line_number":388,"context_line":"                                           namespace\u003dnamespace_name,"},{"line_number":389,"context_line":"                                           cleanup\u003dFalse)"},{"line_number":390,"context_line":"        LOG.debug(\"A service %s and two pods were created in namespace %s\","}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_2d387bec","line":387,"range":{"start_line":387,"start_character":49,"end_line":387,"end_character":70},"updated":"2020-10-06 10:47:52.000000000","message":"Shouldn\u0027t this be service_label and not only the value of the service_label? labels in k8s are {key,value} pairs, the naming here can turn out to be misleading.","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"434fad88751ac59aead3685492c0f315485ccbc2","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        namespace_name, namespace \u003d self.create_namespace()"},{"line_number":385,"context_line":"        self.addCleanup(self.delete_namespace, namespace_name)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        self.create_setup_for_service_test(label\u003d\u0027np-add-remove-label\u0027,"},{"line_number":388,"context_line":"                                           namespace\u003dnamespace_name,"},{"line_number":389,"context_line":"                                           cleanup\u003dFalse)"},{"line_number":390,"context_line":"        LOG.debug(\"A service %s and two pods were created in namespace %s\","}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_81deb067","line":387,"range":{"start_line":387,"start_character":49,"end_line":387,"end_character":70},"in_reply_to":"9f560f44_2d387bec","updated":"2020-10-07 10:28:52.000000000","message":"Please look at https://github.com/openstack/kuryr-tempest-plugin/blob/master/kuryr_tempest_plugin/tests/scenario/base.py#L626","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c3ff944b71b0c621eac79699b11c3fb8a0b06643","unresolved":false,"context_lines":[{"line_number":389,"context_line":"                                           cleanup\u003dFalse)"},{"line_number":390,"context_line":"        LOG.debug(\"A service %s and two pods were created in namespace %s\","},{"line_number":391,"context_line":"                  self.service_name, namespace_name)"},{"line_number":392,"context_line":"        first_pod \u003d self.get_pod_name_list("},{"line_number":393,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":394,"context_line":"            label_selector\u003d\u0027app\u003dnp-add-remove-label\u0027)[0]"},{"line_number":395,"context_line":"        tester_pod_name \u003d self.check_service_internal_connectivity("}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_50d4644b","line":392,"range":{"start_line":392,"start_character":8,"end_line":392,"end_character":17},"updated":"2020-10-06 10:47:52.000000000","message":"first_server_pod?","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"434fad88751ac59aead3685492c0f315485ccbc2","unresolved":false,"context_lines":[{"line_number":389,"context_line":"                                           cleanup\u003dFalse)"},{"line_number":390,"context_line":"        LOG.debug(\"A service %s and two pods were created in namespace %s\","},{"line_number":391,"context_line":"                  self.service_name, namespace_name)"},{"line_number":392,"context_line":"        first_pod \u003d self.get_pod_name_list("},{"line_number":393,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":394,"context_line":"            label_selector\u003d\u0027app\u003dnp-add-remove-label\u0027)[0]"},{"line_number":395,"context_line":"        tester_pod_name \u003d self.check_service_internal_connectivity("}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_8114f042","line":392,"range":{"start_line":392,"start_character":8,"end_line":392,"end_character":17},"in_reply_to":"9f560f44_50d4644b","updated":"2020-10-07 10:28:52.000000000","message":"Done","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c3ff944b71b0c621eac79699b11c3fb8a0b06643","unresolved":false,"context_lines":[{"line_number":392,"context_line":"        first_pod \u003d self.get_pod_name_list("},{"line_number":393,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":394,"context_line":"            label_selector\u003d\u0027app\u003dnp-add-remove-label\u0027)[0]"},{"line_number":395,"context_line":"        tester_pod_name \u003d self.check_service_internal_connectivity("},{"line_number":396,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":397,"context_line":"            labels\u003dtester_label,"},{"line_number":398,"context_line":"            cleanup\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_d0e87416","line":395,"range":{"start_line":395,"start_character":8,"end_line":395,"end_character":23},"updated":"2020-10-06 10:47:52.000000000","message":"client_pod_name?","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"434fad88751ac59aead3685492c0f315485ccbc2","unresolved":false,"context_lines":[{"line_number":392,"context_line":"        first_pod \u003d self.get_pod_name_list("},{"line_number":393,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":394,"context_line":"            label_selector\u003d\u0027app\u003dnp-add-remove-label\u0027)[0]"},{"line_number":395,"context_line":"        tester_pod_name \u003d self.check_service_internal_connectivity("},{"line_number":396,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":397,"context_line":"            labels\u003dtester_label,"},{"line_number":398,"context_line":"            cleanup\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_812d1091","line":395,"range":{"start_line":395,"start_character":8,"end_line":395,"end_character":23},"in_reply_to":"9f560f44_d0e87416","updated":"2020-10-07 10:28:52.000000000","message":"Done","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c3ff944b71b0c621eac79699b11c3fb8a0b06643","unresolved":false,"context_lines":[{"line_number":400,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\","},{"line_number":401,"context_line":"                  self.service_name, tester_pod_name)"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"        np \u003d self.create_network_policy(namespace\u003dnamespace_name,"},{"line_number":404,"context_line":"                                        match_labels\u003dpod_selector_labels)"},{"line_number":405,"context_line":"        LOG.debug(\"Network policy %s with labels %s was created\","},{"line_number":406,"context_line":"                  np, pod_selector_labels)"},{"line_number":407,"context_line":"        self.addCleanup(self.delete_network_policy, np.metadata.name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_306d70cc","line":404,"range":{"start_line":403,"start_character":0,"end_line":404,"end_character":73},"updated":"2020-10-06 10:47:52.000000000","message":"Answering your previous comment, yup... it\u0027s always nice to give a name to the network policy to correspond to what it\u0027s doing. Like allow-all, deny-all, allow-from-client-x...\n\nAlso, I\u0027m a bit curious about the network policy  generated here, is it a deny all ingress?","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"434fad88751ac59aead3685492c0f315485ccbc2","unresolved":false,"context_lines":[{"line_number":400,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\","},{"line_number":401,"context_line":"                  self.service_name, tester_pod_name)"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"        np \u003d self.create_network_policy(namespace\u003dnamespace_name,"},{"line_number":404,"context_line":"                                        match_labels\u003dpod_selector_labels)"},{"line_number":405,"context_line":"        LOG.debug(\"Network policy %s with labels %s was created\","},{"line_number":406,"context_line":"                  np, pod_selector_labels)"},{"line_number":407,"context_line":"        self.addCleanup(self.delete_network_policy, np.metadata.name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_30743ed0","line":404,"range":{"start_line":403,"start_character":0,"end_line":404,"end_character":73},"in_reply_to":"9f560f44_306d70cc","updated":"2020-10-07 10:28:52.000000000","message":"Done","commit_id":"52eb3c55bea858781580050ae3ef6983cffd677f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f4577b25fdb00e97a6fe51b5b24b6cb803708e31","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        pods_match_expression \u003d {\u0027key\u0027: \u0027app\u0027,"},{"line_number":402,"context_line":"                                 \u0027operator\u0027: \u0027In\u0027,"},{"line_number":403,"context_line":"                                 \u0027values\u0027: [\u0027client\u0027, \u0027server\u0027]}"},{"line_number":404,"context_line":"        np \u003d self.create_network_policy("},{"line_number":405,"context_line":"            name\u003d\u0027allow-all\u0027,"},{"line_number":406,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":407,"context_line":"            match_expressions\u003d[pods_match_expression])"},{"line_number":408,"context_line":"        LOG.debug(\"Network policy %s with match expression %s was created\","},{"line_number":409,"context_line":"                  np, pods_match_expression)"},{"line_number":410,"context_line":"        self.addCleanup(self.delete_network_policy, np.metadata.name,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_719221a1","line":407,"range":{"start_line":404,"start_character":0,"end_line":407,"end_character":54},"updated":"2020-10-08 15:28:29.000000000","message":"Can we enforce some additional limitation for this Network policy?\nThis is working the same way as if no Network Policy was created. All the pods, including the ones not affected by the Network policy would accept traffic from everywhere as Pods by default accept all traffic.\n\nUnless we find out a scenario for this test that the connection wouldn\u0027t be successful.","commit_id":"ca82b0f2e05504fdd32bf863e7bca16f04b137b5"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"f47f9c771892d51b989fd6efbac11c3b04f5dfc8","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        pods_match_expression \u003d {\u0027key\u0027: \u0027app\u0027,"},{"line_number":402,"context_line":"                                 \u0027operator\u0027: \u0027In\u0027,"},{"line_number":403,"context_line":"                                 \u0027values\u0027: [\u0027client\u0027, \u0027server\u0027]}"},{"line_number":404,"context_line":"        np \u003d self.create_network_policy("},{"line_number":405,"context_line":"            name\u003d\u0027allow-all\u0027,"},{"line_number":406,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":407,"context_line":"            match_expressions\u003d[pods_match_expression])"},{"line_number":408,"context_line":"        LOG.debug(\"Network policy %s with match expression %s was created\","},{"line_number":409,"context_line":"                  np, pods_match_expression)"},{"line_number":410,"context_line":"        self.addCleanup(self.delete_network_policy, np.metadata.name,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_91c3758a","line":407,"range":{"start_line":404,"start_character":0,"end_line":407,"end_character":54},"in_reply_to":"9f560f44_719221a1","updated":"2020-10-08 15:31:42.000000000","message":"+1","commit_id":"ca82b0f2e05504fdd32bf863e7bca16f04b137b5"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"cb7a61b26a8604d37c4d2181b01404a5748452ae","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        pods_match_expression \u003d {\u0027key\u0027: \u0027app\u0027,"},{"line_number":402,"context_line":"                                 \u0027operator\u0027: \u0027In\u0027,"},{"line_number":403,"context_line":"                                 \u0027values\u0027: [\u0027client\u0027, \u0027server\u0027]}"},{"line_number":404,"context_line":"        np \u003d self.create_network_policy("},{"line_number":405,"context_line":"            name\u003d\u0027allow-all\u0027,"},{"line_number":406,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":407,"context_line":"            match_expressions\u003d[pods_match_expression])"},{"line_number":408,"context_line":"        LOG.debug(\"Network policy %s with match expression %s was created\","},{"line_number":409,"context_line":"                  np, pods_match_expression)"},{"line_number":410,"context_line":"        self.addCleanup(self.delete_network_policy, np.metadata.name,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_52f25f70","line":407,"range":{"start_line":404,"start_character":0,"end_line":407,"end_character":54},"in_reply_to":"9f560f44_719221a1","updated":"2020-10-11 02:01:33.000000000","message":"Done","commit_id":"ca82b0f2e05504fdd32bf863e7bca16f04b137b5"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"06565a6c2ac1700b8b2faf55e5302dbc58d53d85","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                                           cleanup\u003dFalse)"},{"line_number":388,"context_line":"        LOG.debug(\"A service %s and two pods were created in namespace %s\","},{"line_number":389,"context_line":"                  self.service_name, namespace_name)"},{"line_number":390,"context_line":"        first_pod \u003d self.get_pod_name_list("},{"line_number":391,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":392,"context_line":"            label_selector\u003d\u0027app\u003dserver\u0027)[0]"},{"line_number":393,"context_line":"        client_pod_name \u003d self.check_service_internal_connectivity("}],"source_content_type":"text/x-python","patch_set":17,"id":"3f65232a_9d9327a4","line":390,"range":{"start_line":390,"start_character":8,"end_line":390,"end_character":18},"updated":"2020-10-21 07:40:49.000000000","message":"server_pod?","commit_id":"c135330b973e5c2302e6fc6429efd696a2c53b6e"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"e48e3ef26aa0163bc10deac169076e5f62b61646","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                                           cleanup\u003dFalse)"},{"line_number":388,"context_line":"        LOG.debug(\"A service %s and two pods were created in namespace %s\","},{"line_number":389,"context_line":"                  self.service_name, namespace_name)"},{"line_number":390,"context_line":"        first_pod \u003d self.get_pod_name_list("},{"line_number":391,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":392,"context_line":"            label_selector\u003d\u0027app\u003dserver\u0027)[0]"},{"line_number":393,"context_line":"        client_pod_name \u003d self.check_service_internal_connectivity("}],"source_content_type":"text/x-python","patch_set":17,"id":"3f65232a_4ed27736","line":390,"range":{"start_line":390,"start_character":8,"end_line":390,"end_character":18},"in_reply_to":"3f65232a_9d9327a4","updated":"2020-10-21 11:16:00.000000000","message":"Done","commit_id":"c135330b973e5c2302e6fc6429efd696a2c53b6e"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"06565a6c2ac1700b8b2faf55e5302dbc58d53d85","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\","},{"line_number":399,"context_line":"                  self.service_name, client_pod_name)"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"        pods_match_expression \u003d {\u0027key\u0027: \u0027app\u0027,"},{"line_number":402,"context_line":"                                 \u0027operator\u0027: \u0027In\u0027,"},{"line_number":403,"context_line":"                                 \u0027values\u0027: [\u0027client\u0027, \u0027server\u0027]}"},{"line_number":404,"context_line":"        np \u003d self.create_network_policy("},{"line_number":405,"context_line":"            name\u003d\u0027allow-all\u0027,"},{"line_number":406,"context_line":"            namespace\u003dnamespace_name,"}],"source_content_type":"text/x-python","patch_set":17,"id":"3f65232a_5dd06f51","line":403,"range":{"start_line":401,"start_character":0,"end_line":403,"end_character":64},"updated":"2020-10-21 07:40:49.000000000","message":"shouldn\u0027t match expression only allow from client? And should you try that actually another pod cannot access it?","commit_id":"c135330b973e5c2302e6fc6429efd696a2c53b6e"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"e48e3ef26aa0163bc10deac169076e5f62b61646","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\","},{"line_number":399,"context_line":"                  self.service_name, client_pod_name)"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"        pods_match_expression \u003d {\u0027key\u0027: \u0027app\u0027,"},{"line_number":402,"context_line":"                                 \u0027operator\u0027: \u0027In\u0027,"},{"line_number":403,"context_line":"                                 \u0027values\u0027: [\u0027client\u0027, \u0027server\u0027]}"},{"line_number":404,"context_line":"        np \u003d self.create_network_policy("},{"line_number":405,"context_line":"            name\u003d\u0027allow-all\u0027,"},{"line_number":406,"context_line":"            namespace\u003dnamespace_name,"}],"source_content_type":"text/x-python","patch_set":17,"id":"3f65232a_cee5e70c","line":403,"range":{"start_line":401,"start_character":0,"end_line":403,"end_character":64},"in_reply_to":"3f65232a_5dd06f51","updated":"2020-10-21 11:16:00.000000000","message":"I\u0027ll keep the server. I\u0027ll add a check from anther pod","commit_id":"c135330b973e5c2302e6fc6429efd696a2c53b6e"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"b20a3fa7cda366cb03336ce001ece4da566c45ad","unresolved":false,"context_lines":[{"line_number":402,"context_line":"        connect_to_service_cmd \u003d [\"/bin/sh\", \"-c\", \"curl {dst_ip}\".format("},{"line_number":403,"context_line":"                                dst_ip\u003dself.service_ip)]"},{"line_number":404,"context_line":"        blocked_pod, _ \u003d self.create_pod(namespace\u003dnamespace_name)"},{"line_number":405,"context_line":"        self.assertIn(consts.POD_OUTPUT,"},{"line_number":406,"context_line":"                      self.exec_command_in_pod(blocked_pod,"},{"line_number":407,"context_line":"                                               connect_to_service_cmd,"},{"line_number":408,"context_line":"                                               namespace_name))"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        pods_match_expression \u003d {\u0027key\u0027: \u0027app\u0027,"},{"line_number":411,"context_line":"                                 \u0027operator\u0027: \u0027In\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"3f65232a_95e12c02","line":408,"range":{"start_line":405,"start_character":0,"end_line":408,"end_character":63},"updated":"2020-10-22 07:18:03.000000000","message":"here is not blocked_pod... but nice to have the extra checking..","commit_id":"156ff86beda75198553ff241d577ecad42bd0be8"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"5fa7d5ebdcc18b0c42c9d13b0c7bb2dca4b4e2e5","unresolved":false,"context_lines":[{"line_number":402,"context_line":"        connect_to_service_cmd \u003d [\"/bin/sh\", \"-c\", \"curl {dst_ip}\".format("},{"line_number":403,"context_line":"                                dst_ip\u003dself.service_ip)]"},{"line_number":404,"context_line":"        blocked_pod, _ \u003d self.create_pod(namespace\u003dnamespace_name)"},{"line_number":405,"context_line":"        self.assertIn(consts.POD_OUTPUT,"},{"line_number":406,"context_line":"                      self.exec_command_in_pod(blocked_pod,"},{"line_number":407,"context_line":"                                               connect_to_service_cmd,"},{"line_number":408,"context_line":"                                               namespace_name))"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        pods_match_expression \u003d {\u0027key\u0027: \u0027app\u0027,"},{"line_number":411,"context_line":"                                 \u0027operator\u0027: \u0027In\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"3f65232a_d5f56485","line":408,"range":{"start_line":405,"start_character":0,"end_line":408,"end_character":63},"in_reply_to":"3f65232a_95e12c02","updated":"2020-10-22 10:00:01.000000000","message":"Yes, it will be. I want to make sure it can connect first.","commit_id":"156ff86beda75198553ff241d577ecad42bd0be8"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"b20a3fa7cda366cb03336ce001ece4da566c45ad","unresolved":false,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        pods_match_expression \u003d {\u0027key\u0027: \u0027app\u0027,"},{"line_number":411,"context_line":"                                 \u0027operator\u0027: \u0027In\u0027,"},{"line_number":412,"context_line":"                                 \u0027values\u0027: [\u0027client\u0027, \u0027server\u0027]}"},{"line_number":413,"context_line":"        np \u003d self.create_network_policy("},{"line_number":414,"context_line":"            name\u003d\u0027allow-all\u0027,"},{"line_number":415,"context_line":"            namespace\u003dnamespace_name,"}],"source_content_type":"text/x-python","patch_set":18,"id":"3f65232a_f593405b","line":412,"range":{"start_line":412,"start_character":0,"end_line":412,"end_character":64},"updated":"2020-10-22 07:18:03.000000000","message":"if you are checking client -\u003e server connectivity, you only need to apply this to the server. As you are adding client here to be able to connect to it and trigger the curl/ping from it to the server, please add a comment so that it is clear why client is added too","commit_id":"156ff86beda75198553ff241d577ecad42bd0be8"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"81dbc10b480f423f9f69e290eaf99c9f1460e40b","unresolved":false,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        pods_match_expression \u003d {\u0027key\u0027: \u0027app\u0027,"},{"line_number":411,"context_line":"                                 \u0027operator\u0027: \u0027In\u0027,"},{"line_number":412,"context_line":"                                 \u0027values\u0027: [\u0027client\u0027, \u0027server\u0027]}"},{"line_number":413,"context_line":"        np \u003d self.create_network_policy("},{"line_number":414,"context_line":"            name\u003d\u0027allow-all\u0027,"},{"line_number":415,"context_line":"            namespace\u003dnamespace_name,"}],"source_content_type":"text/x-python","patch_set":18,"id":"3f65232a_35dad816","line":412,"range":{"start_line":412,"start_character":0,"end_line":412,"end_character":64},"in_reply_to":"3f65232a_f593405b","updated":"2020-10-22 07:25:44.000000000","message":"actually, the default one for clients will still be allow all, so you don\u0027t need that... you should only need to add servers here","commit_id":"156ff86beda75198553ff241d577ecad42bd0be8"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"b20a3fa7cda366cb03336ce001ece4da566c45ad","unresolved":false,"context_lines":[{"line_number":424,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful after \""},{"line_number":425,"context_line":"                  \"network policy was applied\","},{"line_number":426,"context_line":"                  self.service_name, client_pod_name)"},{"line_number":427,"context_line":"        # Check no connectivity from a pod not in the NP"},{"line_number":428,"context_line":"        self.assertNotIn(consts.POD_OUTPUT,"},{"line_number":429,"context_line":"                         self.exec_command_in_pod(blocked_pod,"},{"line_number":430,"context_line":"                                                  connect_to_service_cmd,"},{"line_number":431,"context_line":"                                                  namespace_name))"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"        self.delete_pod(first_server_pod, namespace\u003dnamespace_name)"},{"line_number":434,"context_line":"        LOG.debug(\"Deleted pod %s from service %s\","}],"source_content_type":"text/x-python","patch_set":18,"id":"3f65232a_159b5c72","line":431,"range":{"start_line":427,"start_character":0,"end_line":431,"end_character":66},"updated":"2020-10-22 07:18:03.000000000","message":"this could fail if the SGs are not yet deleted. It could be unstable on the gates","commit_id":"156ff86beda75198553ff241d577ecad42bd0be8"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"5fa7d5ebdcc18b0c42c9d13b0c7bb2dca4b4e2e5","unresolved":false,"context_lines":[{"line_number":424,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful after \""},{"line_number":425,"context_line":"                  \"network policy was applied\","},{"line_number":426,"context_line":"                  self.service_name, client_pod_name)"},{"line_number":427,"context_line":"        # Check no connectivity from a pod not in the NP"},{"line_number":428,"context_line":"        self.assertNotIn(consts.POD_OUTPUT,"},{"line_number":429,"context_line":"                         self.exec_command_in_pod(blocked_pod,"},{"line_number":430,"context_line":"                                                  connect_to_service_cmd,"},{"line_number":431,"context_line":"                                                  namespace_name))"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"        self.delete_pod(first_server_pod, namespace\u003dnamespace_name)"},{"line_number":434,"context_line":"        LOG.debug(\"Deleted pod %s from service %s\","}],"source_content_type":"text/x-python","patch_set":18,"id":"3f65232a_b55b8885","line":431,"range":{"start_line":427,"start_character":0,"end_line":431,"end_character":66},"in_reply_to":"3f65232a_159b5c72","updated":"2020-10-22 10:00:01.000000000","message":"Even that we run check_service_internal_connectivity before?","commit_id":"156ff86beda75198553ff241d577ecad42bd0be8"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"b20a3fa7cda366cb03336ce001ece4da566c45ad","unresolved":false,"context_lines":[{"line_number":454,"context_line":""},{"line_number":455,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\","},{"line_number":456,"context_line":"                  self.service_name, client_pod_name)"},{"line_number":457,"context_line":"        # Check no connectivity from a pod not in the NP"},{"line_number":458,"context_line":"        self.assertNotIn(consts.POD_OUTPUT,"},{"line_number":459,"context_line":"                         self.exec_command_in_pod(blocked_pod,"},{"line_number":460,"context_line":"                                                  connect_to_service_cmd,"},{"line_number":461,"context_line":"                                                  namespace_name))"}],"source_content_type":"text/x-python","patch_set":18,"id":"3f65232a_b598a86a","line":461,"range":{"start_line":457,"start_character":0,"end_line":461,"end_character":66},"updated":"2020-10-22 07:18:03.000000000","message":"this is the same as lines 451-454","commit_id":"156ff86beda75198553ff241d577ecad42bd0be8"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"ddf810e6ba008e7a0292fffa0779cb925d05c2d2","unresolved":false,"context_lines":[{"line_number":419,"context_line":"        pods_match_expression \u003d {\u0027key\u0027: \u0027app\u0027,"},{"line_number":420,"context_line":"                                 \u0027operator\u0027: \u0027In\u0027,"},{"line_number":421,"context_line":"                                 \u0027values\u0027: [\u0027client\u0027, \u0027server\u0027]}"},{"line_number":422,"context_line":"        np \u003d self.create_network_policy("},{"line_number":423,"context_line":"            name\u003dnp_name,"},{"line_number":424,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":425,"context_line":"            match_expressions\u003d[pods_match_expression],"},{"line_number":426,"context_line":"            ingress_match_expressions\u003d[pods_match_expression],"},{"line_number":427,"context_line":"            egress_match_expressions\u003d[pods_match_expression])"},{"line_number":428,"context_line":"        LOG.debug(\"Network policy %s with match expression %s was created\","},{"line_number":429,"context_line":"                  np, pods_match_expression)"},{"line_number":430,"context_line":"        self.addCleanup(self.delete_network_policy, np.metadata.name,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3f65232a_a5120c08","line":427,"range":{"start_line":422,"start_character":0,"end_line":427,"end_character":61},"updated":"2020-10-26 19:31:50.000000000","message":"hm, this network policy is being enforced on pods with labels app\u003dclient and app\u003dserver, allowing ingress/egress traffic to themselves and each other.\n\nPerhaps instead you could enforce the network policy just on pods with app\u003dserver label and allow ingress from app\u003dclient.","commit_id":"b93bb77956ce80ca4df6ed57484166cff2fa75e9"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"e7170303181b05a416f4e07ad79d76b2d033c8e1","unresolved":false,"context_lines":[{"line_number":419,"context_line":"        pods_match_expression \u003d {\u0027key\u0027: \u0027app\u0027,"},{"line_number":420,"context_line":"                                 \u0027operator\u0027: \u0027In\u0027,"},{"line_number":421,"context_line":"                                 \u0027values\u0027: [\u0027client\u0027, \u0027server\u0027]}"},{"line_number":422,"context_line":"        np \u003d self.create_network_policy("},{"line_number":423,"context_line":"            name\u003dnp_name,"},{"line_number":424,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":425,"context_line":"            match_expressions\u003d[pods_match_expression],"},{"line_number":426,"context_line":"            ingress_match_expressions\u003d[pods_match_expression],"},{"line_number":427,"context_line":"            egress_match_expressions\u003d[pods_match_expression])"},{"line_number":428,"context_line":"        LOG.debug(\"Network policy %s with match expression %s was created\","},{"line_number":429,"context_line":"                  np, pods_match_expression)"},{"line_number":430,"context_line":"        self.addCleanup(self.delete_network_policy, np.metadata.name,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3f65232a_7c2ec6fa","line":427,"range":{"start_line":422,"start_character":0,"end_line":427,"end_character":61},"in_reply_to":"3f65232a_a5120c08","updated":"2020-10-27 12:57:39.000000000","message":"I\u0027ll create two NPs","commit_id":"b93bb77956ce80ca4df6ed57484166cff2fa75e9"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"ddf810e6ba008e7a0292fffa0779cb925d05c2d2","unresolved":false,"context_lines":[{"line_number":471,"context_line":"            namespace\u003dnamespace_name, label_selector\u003d\u0027app\u003dserver\u0027)]"},{"line_number":472,"context_line":"        service_pods_cidrs \u003d [pod_ip+\u0027/32\u0027 for pod_ip in service_pods_ips]"},{"line_number":473,"context_line":"        allowed_cidrs \u003d service_pods_cidrs + [client_pod_cidr]"},{"line_number":474,"context_line":"        self.check_sg_rules_for_np(namespace_name, np_name,"},{"line_number":475,"context_line":"                                   ingress_cidrs_should_exist\u003dallowed_cidrs,"},{"line_number":476,"context_line":"                                   egress_cidrs_should_exist\u003dallowed_cidrs,"},{"line_number":477,"context_line":"                                   ingress_cidrs_shouldnt_exist\u003d["},{"line_number":478,"context_line":"                                       first_pod_cidr],"},{"line_number":479,"context_line":"                                   egress_cidrs_shouldnt_exist\u003d[])"},{"line_number":480,"context_line":"        self.check_service_internal_connectivity(namespace\u003dnamespace_name,"},{"line_number":481,"context_line":"                                                 pod_name\u003dclient_pod_name)"},{"line_number":482,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\","}],"source_content_type":"text/x-python","patch_set":19,"id":"3f65232a_4555f8c5","line":479,"range":{"start_line":474,"start_character":0,"end_line":479,"end_character":66},"updated":"2020-10-26 19:31:50.000000000","message":"Instead of checking all the sg rules why we just don\u0027t try to connect from that first_pod to any of the pods selected by the network policy?","commit_id":"b93bb77956ce80ca4df6ed57484166cff2fa75e9"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"e7170303181b05a416f4e07ad79d76b2d033c8e1","unresolved":false,"context_lines":[{"line_number":471,"context_line":"            namespace\u003dnamespace_name, label_selector\u003d\u0027app\u003dserver\u0027)]"},{"line_number":472,"context_line":"        service_pods_cidrs \u003d [pod_ip+\u0027/32\u0027 for pod_ip in service_pods_ips]"},{"line_number":473,"context_line":"        allowed_cidrs \u003d service_pods_cidrs + [client_pod_cidr]"},{"line_number":474,"context_line":"        self.check_sg_rules_for_np(namespace_name, np_name,"},{"line_number":475,"context_line":"                                   ingress_cidrs_should_exist\u003dallowed_cidrs,"},{"line_number":476,"context_line":"                                   egress_cidrs_should_exist\u003dallowed_cidrs,"},{"line_number":477,"context_line":"                                   ingress_cidrs_shouldnt_exist\u003d["},{"line_number":478,"context_line":"                                       first_pod_cidr],"},{"line_number":479,"context_line":"                                   egress_cidrs_shouldnt_exist\u003d[])"},{"line_number":480,"context_line":"        self.check_service_internal_connectivity(namespace\u003dnamespace_name,"},{"line_number":481,"context_line":"                                                 pod_name\u003dclient_pod_name)"},{"line_number":482,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\","}],"source_content_type":"text/x-python","patch_set":19,"id":"3f65232a_1c3fd225","line":479,"range":{"start_line":474,"start_character":0,"end_line":479,"end_character":66},"in_reply_to":"3f65232a_4555f8c5","updated":"2020-10-27 12:57:39.000000000","message":"I\u0027m checking sgs and also checking that there is not connectivity from a pod outside of the NP","commit_id":"b93bb77956ce80ca4df6ed57484166cff2fa75e9"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"05bf55b0e918dabe0ab153ed584e2b15844b6409","unresolved":false,"context_lines":[{"line_number":446,"context_line":"        service_pods_ips \u003d [pod.status.pod_ip for pod in self.get_pod_list("},{"line_number":447,"context_line":"            namespace\u003dnamespace_name, label_selector\u003d\u0027app\u003dserver\u0027)]"},{"line_number":448,"context_line":"        service_pods_cidrs \u003d [pod_ip+\u0027/32\u0027 for pod_ip in service_pods_ips]"},{"line_number":449,"context_line":"        self.check_sg_rules_for_np("},{"line_number":450,"context_line":"                namespace_name, np_name_server,"},{"line_number":451,"context_line":"                ingress_cidrs_should_exist\u003d[client_pod_cidr],"},{"line_number":452,"context_line":"                egress_cidrs_should_exist\u003d[client_pod_cidr],"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f65232a_e85cd07f","line":449,"range":{"start_line":449,"start_character":13,"end_line":449,"end_character":34},"updated":"2020-10-27 17:10:06.000000000","message":"You\u0027re using it in the base class, but it\u0027s defined in one of the subclass. That will break the tempest plugin for the stable versions.","commit_id":"d4f0b55b24f2ac695a003ae17e2957f7137e70ae"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f24f565fa72a331d26bb12e325b8000f8f9ab3b9","unresolved":false,"context_lines":[{"line_number":446,"context_line":"        service_pods_ips \u003d [pod.status.pod_ip for pod in self.get_pod_list("},{"line_number":447,"context_line":"            namespace\u003dnamespace_name, label_selector\u003d\u0027app\u003dserver\u0027)]"},{"line_number":448,"context_line":"        service_pods_cidrs \u003d [pod_ip+\u0027/32\u0027 for pod_ip in service_pods_ips]"},{"line_number":449,"context_line":"        self.check_sg_rules_for_np("},{"line_number":450,"context_line":"                namespace_name, np_name_server,"},{"line_number":451,"context_line":"                ingress_cidrs_should_exist\u003d[client_pod_cidr],"},{"line_number":452,"context_line":"                egress_cidrs_should_exist\u003d[client_pod_cidr],"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f65232a_953e09d8","line":449,"range":{"start_line":449,"start_character":13,"end_line":449,"end_character":34},"in_reply_to":"3f65232a_e85cd07f","updated":"2020-10-28 05:26:38.000000000","message":"Done","commit_id":"d4f0b55b24f2ac695a003ae17e2957f7137e70ae"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"898450f30fa3b254d77bc63a13fdc139a2201ec2","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                              egress_cidrs_should_exist\u003d(),"},{"line_number":59,"context_line":"                              ingress_cidrs_shouldnt_exist\u003d(),"},{"line_number":60,"context_line":"                              egress_cidrs_shouldnt_exist\u003d()):"},{"line_number":61,"context_line":"        TIMEOUT_PERIOD \u003d 180"},{"line_number":62,"context_line":"        ingress_cidrs_found \u003d set()"},{"line_number":63,"context_line":"        egress_cidrs_found \u003d set()"},{"line_number":64,"context_line":"        ingress_cidrs_should_exist \u003d set(ingress_cidrs_should_exist)"}],"source_content_type":"text/x-python","patch_set":21,"id":"1f621f24_8ee80117","line":61,"range":{"start_line":61,"start_character":8,"end_line":61,"end_character":28},"updated":"2020-10-29 07:42:34.000000000","message":"timeout_period is defined in line 30","commit_id":"f5b2118320261c113fc37ba1771e369cb63b3607"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"999edb4240b742d376f6aa832db1f10952ccead9","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                              egress_cidrs_should_exist\u003d(),"},{"line_number":59,"context_line":"                              ingress_cidrs_shouldnt_exist\u003d(),"},{"line_number":60,"context_line":"                              egress_cidrs_shouldnt_exist\u003d()):"},{"line_number":61,"context_line":"        TIMEOUT_PERIOD \u003d 180"},{"line_number":62,"context_line":"        ingress_cidrs_found \u003d set()"},{"line_number":63,"context_line":"        egress_cidrs_found \u003d set()"},{"line_number":64,"context_line":"        ingress_cidrs_should_exist \u003d set(ingress_cidrs_should_exist)"}],"source_content_type":"text/x-python","patch_set":21,"id":"1f621f24_ce279964","line":61,"range":{"start_line":61,"start_character":8,"end_line":61,"end_character":28},"in_reply_to":"1f621f24_8ee80117","updated":"2020-10-29 07:55:30.000000000","message":"Done","commit_id":"f5b2118320261c113fc37ba1771e369cb63b3607"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"9e5ab45c526a244587f967d1b82c312b5e4f6cd0","unresolved":false,"context_lines":[{"line_number":445,"context_line":"        service_pods_ips \u003d [pod.status.pod_ip for pod in self.get_pod_list("},{"line_number":446,"context_line":"            namespace\u003dnamespace_name, label_selector\u003d\u0027app\u003dserver\u0027)]"},{"line_number":447,"context_line":"        service_pods_cidrs \u003d [pod_ip+\u0027/32\u0027 for pod_ip in service_pods_ips]"},{"line_number":448,"context_line":"        first_pod \u003d self.get_pod_list("},{"line_number":449,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":450,"context_line":"            label_selector\u003d\u0027app\u003dserver\u0027)[0]"},{"line_number":451,"context_line":"        (first_pod_ip, first_pod_name) \u003d ("},{"line_number":452,"context_line":"                first_pod.status.pod_ip, first_pod.metadata.name)"},{"line_number":453,"context_line":"        first_pod_cidr \u003d first_pod_ip + \"/32\""}],"source_content_type":"text/x-python","patch_set":22,"id":"1f621f24_460fc9e0","line":450,"range":{"start_line":448,"start_character":0,"end_line":450,"end_character":43},"updated":"2020-11-02 11:12:52.000000000","message":"Instead of retrieving the Pods list again, you could rely on line 445 for that.\n\nLine 445 could retrieve the list of all pods on the namespace and with the specific label and line 447 could formulate the list of pod.status.pod_ip + \u0027/32\u0027.","commit_id":"cd37fdffe3ca6a3ffadf135ffda4e51326351e5c"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"104f37fbcc215b794aa9dcb6cc8534d33af931a6","unresolved":false,"context_lines":[{"line_number":445,"context_line":"        service_pods_ips \u003d [pod.status.pod_ip for pod in self.get_pod_list("},{"line_number":446,"context_line":"            namespace\u003dnamespace_name, label_selector\u003d\u0027app\u003dserver\u0027)]"},{"line_number":447,"context_line":"        service_pods_cidrs \u003d [pod_ip+\u0027/32\u0027 for pod_ip in service_pods_ips]"},{"line_number":448,"context_line":"        first_pod \u003d self.get_pod_list("},{"line_number":449,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":450,"context_line":"            label_selector\u003d\u0027app\u003dserver\u0027)[0]"},{"line_number":451,"context_line":"        (first_pod_ip, first_pod_name) \u003d ("},{"line_number":452,"context_line":"                first_pod.status.pod_ip, first_pod.metadata.name)"},{"line_number":453,"context_line":"        first_pod_cidr \u003d first_pod_ip + \"/32\""}],"source_content_type":"text/x-python","patch_set":22,"id":"1f621f24_97b58934","line":450,"range":{"start_line":448,"start_character":0,"end_line":450,"end_character":43},"in_reply_to":"1f621f24_460fc9e0","updated":"2020-11-02 12:33:54.000000000","message":"Done","commit_id":"cd37fdffe3ca6a3ffadf135ffda4e51326351e5c"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"9e5ab45c526a244587f967d1b82c312b5e4f6cd0","unresolved":false,"context_lines":[{"line_number":496,"context_line":"                  np_client, pods_client_match_expression)"},{"line_number":497,"context_line":"        self.addCleanup(self.delete_network_policy, np_client.metadata.name,"},{"line_number":498,"context_line":"                        namespace_name)"},{"line_number":499,"context_line":"        service_pods_ips \u003d [pod.status.pod_ip for pod in self.get_pod_list("},{"line_number":500,"context_line":"            namespace\u003dnamespace_name, label_selector\u003d\u0027app\u003dserver\u0027)]"},{"line_number":501,"context_line":"        service_pods_cidrs \u003d [pod_ip+\u0027/32\u0027 for pod_ip in service_pods_ips]"},{"line_number":502,"context_line":"        self.check_sg_rules_for_np("},{"line_number":503,"context_line":"                namespace_name, np_name_server,"},{"line_number":504,"context_line":"                ingress_cidrs_should_exist\u003d[client_pod_cidr],"}],"source_content_type":"text/x-python","patch_set":22,"id":"1f621f24_262d6d43","line":501,"range":{"start_line":499,"start_character":0,"end_line":501,"end_character":74},"updated":"2020-11-02 11:12:52.000000000","message":"Isn\u0027t this the same list of line 447?","commit_id":"cd37fdffe3ca6a3ffadf135ffda4e51326351e5c"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"104f37fbcc215b794aa9dcb6cc8534d33af931a6","unresolved":false,"context_lines":[{"line_number":496,"context_line":"                  np_client, pods_client_match_expression)"},{"line_number":497,"context_line":"        self.addCleanup(self.delete_network_policy, np_client.metadata.name,"},{"line_number":498,"context_line":"                        namespace_name)"},{"line_number":499,"context_line":"        service_pods_ips \u003d [pod.status.pod_ip for pod in self.get_pod_list("},{"line_number":500,"context_line":"            namespace\u003dnamespace_name, label_selector\u003d\u0027app\u003dserver\u0027)]"},{"line_number":501,"context_line":"        service_pods_cidrs \u003d [pod_ip+\u0027/32\u0027 for pod_ip in service_pods_ips]"},{"line_number":502,"context_line":"        self.check_sg_rules_for_np("},{"line_number":503,"context_line":"                namespace_name, np_name_server,"},{"line_number":504,"context_line":"                ingress_cidrs_should_exist\u003d[client_pod_cidr],"}],"source_content_type":"text/x-python","patch_set":22,"id":"1f621f24_dcc286e9","line":501,"range":{"start_line":499,"start_character":0,"end_line":501,"end_character":74},"in_reply_to":"1f621f24_262d6d43","updated":"2020-11-02 12:33:54.000000000","message":"Done","commit_id":"cd37fdffe3ca6a3ffadf135ffda4e51326351e5c"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"9e5ab45c526a244587f967d1b82c312b5e4f6cd0","unresolved":false,"context_lines":[{"line_number":523,"context_line":"                                                  connect_to_service_cmd,"},{"line_number":524,"context_line":"                                                  namespace_name))"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"        self.delete_pod(first_pod_name, namespace\u003dnamespace_name)"},{"line_number":527,"context_line":"        LOG.debug(\"Deleted pod %s from service %s\","},{"line_number":528,"context_line":"                  first_pod_name, self.service_name)"},{"line_number":529,"context_line":"        self.verify_lbaas_endpoints_configured(self.service_name,"}],"source_content_type":"text/x-python","patch_set":22,"id":"1f621f24_8176ebd7","line":526,"range":{"start_line":526,"start_character":24,"end_line":526,"end_character":38},"updated":"2020-11-02 11:12:52.000000000","message":"having it named as first_server_pod_name might be more intuitive.","commit_id":"cd37fdffe3ca6a3ffadf135ffda4e51326351e5c"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"104f37fbcc215b794aa9dcb6cc8534d33af931a6","unresolved":false,"context_lines":[{"line_number":523,"context_line":"                                                  connect_to_service_cmd,"},{"line_number":524,"context_line":"                                                  namespace_name))"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"        self.delete_pod(first_pod_name, namespace\u003dnamespace_name)"},{"line_number":527,"context_line":"        LOG.debug(\"Deleted pod %s from service %s\","},{"line_number":528,"context_line":"                  first_pod_name, self.service_name)"},{"line_number":529,"context_line":"        self.verify_lbaas_endpoints_configured(self.service_name,"}],"source_content_type":"text/x-python","patch_set":22,"id":"1f621f24_b71b6519","line":526,"range":{"start_line":526,"start_character":24,"end_line":526,"end_character":38},"in_reply_to":"1f621f24_8176ebd7","updated":"2020-11-02 12:33:54.000000000","message":"Done","commit_id":"cd37fdffe3ca6a3ffadf135ffda4e51326351e5c"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"9e5ab45c526a244587f967d1b82c312b5e4f6cd0","unresolved":false,"context_lines":[{"line_number":540,"context_line":"                  pod_name, server_label)"},{"line_number":541,"context_line":"        self.verify_lbaas_endpoints_configured(self.service_name,"},{"line_number":542,"context_line":"                                               2, namespace_name)"},{"line_number":543,"context_line":"        service_pods_ips \u003d [pod.status.pod_ip for pod in self.get_pod_list("},{"line_number":544,"context_line":"            namespace\u003dnamespace_name, label_selector\u003d\u0027app\u003dserver\u0027)]"},{"line_number":545,"context_line":"        service_pods_cidrs \u003d [pod_ip+\u0027/32\u0027 for pod_ip in service_pods_ips]"},{"line_number":546,"context_line":"        self.check_sg_rules_for_np("},{"line_number":547,"context_line":"            namespace_name, np_name_server,"},{"line_number":548,"context_line":"            ingress_cidrs_should_exist\u003d[client_pod_cidr],"}],"source_content_type":"text/x-python","patch_set":22,"id":"1f621f24_e1507f35","line":545,"range":{"start_line":543,"start_character":0,"end_line":545,"end_character":74},"updated":"2020-11-02 11:12:52.000000000","message":"This could be done in one iteration.","commit_id":"cd37fdffe3ca6a3ffadf135ffda4e51326351e5c"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"104f37fbcc215b794aa9dcb6cc8534d33af931a6","unresolved":false,"context_lines":[{"line_number":540,"context_line":"                  pod_name, server_label)"},{"line_number":541,"context_line":"        self.verify_lbaas_endpoints_configured(self.service_name,"},{"line_number":542,"context_line":"                                               2, namespace_name)"},{"line_number":543,"context_line":"        service_pods_ips \u003d [pod.status.pod_ip for pod in self.get_pod_list("},{"line_number":544,"context_line":"            namespace\u003dnamespace_name, label_selector\u003d\u0027app\u003dserver\u0027)]"},{"line_number":545,"context_line":"        service_pods_cidrs \u003d [pod_ip+\u0027/32\u0027 for pod_ip in service_pods_ips]"},{"line_number":546,"context_line":"        self.check_sg_rules_for_np("},{"line_number":547,"context_line":"            namespace_name, np_name_server,"},{"line_number":548,"context_line":"            ingress_cidrs_should_exist\u003d[client_pod_cidr],"}],"source_content_type":"text/x-python","patch_set":22,"id":"1f621f24_d7d70123","line":545,"range":{"start_line":543,"start_character":0,"end_line":545,"end_character":74},"in_reply_to":"1f621f24_e1507f35","updated":"2020-11-02 12:33:54.000000000","message":"Done","commit_id":"cd37fdffe3ca6a3ffadf135ffda4e51326351e5c"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"9e5ab45c526a244587f967d1b82c312b5e4f6cd0","unresolved":false,"context_lines":[{"line_number":556,"context_line":"            ingress_cidrs_shouldnt_exist\u003d["},{"line_number":557,"context_line":"                first_pod_cidr],"},{"line_number":558,"context_line":"            egress_cidrs_shouldnt_exist\u003d["},{"line_number":559,"context_line":"                first_pod_cidr])"},{"line_number":560,"context_line":"        self.check_service_internal_connectivity(namespace\u003dnamespace_name,"},{"line_number":561,"context_line":"                                                 pod_name\u003dclient_pod_name)"},{"line_number":562,"context_line":"        LOG.debug(\"Connection to service %s from %s was successful\","}],"source_content_type":"text/x-python","patch_set":22,"id":"1f621f24_615c6f4b","line":559,"range":{"start_line":559,"start_character":16,"end_line":559,"end_character":30},"updated":"2020-11-02 11:12:52.000000000","message":"perhaps rename it to first_server_pod_cidr?","commit_id":"cd37fdffe3ca6a3ffadf135ffda4e51326351e5c"}],"kuryr_tempest_plugin/tests/scenario/test_network_policy.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"05bf55b0e918dabe0ab153ed584e2b15844b6409","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        return self.list_security_group_rules(sg_id)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def check_sg_rules_for_np(self, namespace, np,"},{"line_number":188,"context_line":"                              ingress_cidrs_should_exist\u003d[],"},{"line_number":189,"context_line":"                              egress_cidrs_should_exist\u003d[],"},{"line_number":190,"context_line":"                              ingress_cidrs_shouldnt_exist\u003d[],"},{"line_number":191,"context_line":"                              egress_cidrs_shouldnt_exist\u003d[]):"},{"line_number":192,"context_line":"        TIMEOUT_PERIOD \u003d 180"},{"line_number":193,"context_line":"        ingress_cidrs_found \u003d set()"},{"line_number":194,"context_line":"        egress_cidrs_found \u003d set()"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f65232a_48f9844b","line":191,"range":{"start_line":188,"start_character":0,"end_line":191,"end_character":60},"updated":"2020-10-27 17:10:06.000000000","message":"You shouldn\u0027t define mutable values as defaults in method definition: https://docs.python-guide.org/writing/gotchas/#mutable-default-arguments","commit_id":"d4f0b55b24f2ac695a003ae17e2957f7137e70ae"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f24f565fa72a331d26bb12e325b8000f8f9ab3b9","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        return self.list_security_group_rules(sg_id)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def check_sg_rules_for_np(self, namespace, np,"},{"line_number":188,"context_line":"                              ingress_cidrs_should_exist\u003d[],"},{"line_number":189,"context_line":"                              egress_cidrs_should_exist\u003d[],"},{"line_number":190,"context_line":"                              ingress_cidrs_shouldnt_exist\u003d[],"},{"line_number":191,"context_line":"                              egress_cidrs_shouldnt_exist\u003d[]):"},{"line_number":192,"context_line":"        TIMEOUT_PERIOD \u003d 180"},{"line_number":193,"context_line":"        ingress_cidrs_found \u003d set()"},{"line_number":194,"context_line":"        egress_cidrs_found \u003d set()"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f65232a_b514e54f","line":191,"range":{"start_line":188,"start_character":0,"end_line":191,"end_character":60},"in_reply_to":"3f65232a_48f9844b","updated":"2020-10-28 05:26:38.000000000","message":"Done","commit_id":"d4f0b55b24f2ac695a003ae17e2957f7137e70ae"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"05bf55b0e918dabe0ab153ed584e2b15844b6409","unresolved":false,"context_lines":[{"line_number":221,"context_line":"                else:"},{"line_number":222,"context_line":"                    time.sleep(10)"},{"line_number":223,"context_line":"        if not rules_match:"},{"line_number":224,"context_line":"            msg \u003d (\u0027Timed out waiting sg rules for np %s to match\u0027 % np)"},{"line_number":225,"context_line":"            raise lib_exc.TimeoutException(msg)"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f65232a_a81ad879","line":224,"range":{"start_line":224,"start_character":18,"end_line":224,"end_character":72},"updated":"2020-10-27 17:10:06.000000000","message":"The parentheses are redundant, but thanks for a meaningful message here, it always helps with debugging!","commit_id":"d4f0b55b24f2ac695a003ae17e2957f7137e70ae"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f24f565fa72a331d26bb12e325b8000f8f9ab3b9","unresolved":false,"context_lines":[{"line_number":221,"context_line":"                else:"},{"line_number":222,"context_line":"                    time.sleep(10)"},{"line_number":223,"context_line":"        if not rules_match:"},{"line_number":224,"context_line":"            msg \u003d (\u0027Timed out waiting sg rules for np %s to match\u0027 % np)"},{"line_number":225,"context_line":"            raise lib_exc.TimeoutException(msg)"}],"source_content_type":"text/x-python","patch_set":20,"id":"1f621f24_530d0436","line":224,"range":{"start_line":224,"start_character":18,"end_line":224,"end_character":72},"in_reply_to":"3f65232a_a81ad879","updated":"2020-10-28 05:26:38.000000000","message":"Done","commit_id":"d4f0b55b24f2ac695a003ae17e2957f7137e70ae"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"05bf55b0e918dabe0ab153ed584e2b15844b6409","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        return (crd[\u0027status\u0027].get(\u0027securityGroupId\u0027),"},{"line_number":171,"context_line":"                crd[\u0027status\u0027].get(\u0027podSelector\u0027))"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def get_sg_rules_for_np(self, namespace, network_policy_name):"},{"line_number":174,"context_line":"        start \u003d time.time()"},{"line_number":175,"context_line":"        while time.time() - start \u003c TIMEOUT_PERIOD:"},{"line_number":176,"context_line":"            try:"},{"line_number":177,"context_line":"                time.sleep(1)"},{"line_number":178,"context_line":"                sg_id, _ \u003d self.get_np_crd_info(name\u003dnetwork_policy_name,"},{"line_number":179,"context_line":"                                                namespace\u003dnamespace)"},{"line_number":180,"context_line":"                if sg_id:"},{"line_number":181,"context_line":"                    break"},{"line_number":182,"context_line":"            except kubernetes.client.rest.ApiException:"},{"line_number":183,"context_line":"                continue"},{"line_number":184,"context_line":"        self.assertIsNotNone(sg_id)"},{"line_number":185,"context_line":"        return self.list_security_group_rules(sg_id)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def check_sg_rules_for_np(self, namespace, np,"},{"line_number":188,"context_line":"                              ingress_cidrs_should_exist\u003d[],"},{"line_number":189,"context_line":"                              egress_cidrs_should_exist\u003d[],"},{"line_number":190,"context_line":"                              ingress_cidrs_shouldnt_exist\u003d[],"},{"line_number":191,"context_line":"                              egress_cidrs_shouldnt_exist\u003d[]):"},{"line_number":192,"context_line":"        TIMEOUT_PERIOD \u003d 180"},{"line_number":193,"context_line":"        ingress_cidrs_found \u003d set()"},{"line_number":194,"context_line":"        egress_cidrs_found \u003d set()"},{"line_number":195,"context_line":"        ingress_cidrs_should_exist \u003d set(ingress_cidrs_should_exist)"},{"line_number":196,"context_line":"        egress_cidrs_should_exist \u003d set(egress_cidrs_should_exist)"},{"line_number":197,"context_line":"        ingress_cidrs_shouldnt_exist \u003d set(ingress_cidrs_shouldnt_exist)"},{"line_number":198,"context_line":"        egress_cidrs_shouldnt_exist \u003d set(egress_cidrs_shouldnt_exist)"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        rules_match \u003d False"},{"line_number":201,"context_line":"        start \u003d time.time()"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        while ((not rules_match) and (time.time() - start \u003c TIMEOUT_PERIOD)):"},{"line_number":204,"context_line":"            sg_rules \u003d self.get_sg_rules_for_np(namespace, np)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"            for rule in sg_rules:"},{"line_number":207,"context_line":"                if rule[\u0027direction\u0027] \u003d\u003d \u0027ingress\u0027:"},{"line_number":208,"context_line":"                    ingress_cidrs_found.add(rule[\u0027remote_ip_prefix\u0027])"},{"line_number":209,"context_line":"                elif rule[\u0027direction\u0027] \u003d\u003d \u0027egress\u0027:"},{"line_number":210,"context_line":"                    egress_cidrs_found.add(rule[\u0027remote_ip_prefix\u0027])"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"                if (ingress_cidrs_should_exist.issubset(ingress_cidrs_found)"},{"line_number":213,"context_line":"                    and (not ingress_cidrs_shouldnt_exist"},{"line_number":214,"context_line":"                         or not ingress_cidrs_shouldnt_exist.issubset("},{"line_number":215,"context_line":"                             ingress_cidrs_found))"},{"line_number":216,"context_line":"                    and egress_cidrs_should_exist.issubset(egress_cidrs_found)"},{"line_number":217,"context_line":"                    and (not egress_cidrs_shouldnt_exist"},{"line_number":218,"context_line":"                         or not egress_cidrs_shouldnt_exist.issubset("},{"line_number":219,"context_line":"                            egress_cidrs_found))):"},{"line_number":220,"context_line":"                    rules_match \u003d True"},{"line_number":221,"context_line":"                else:"},{"line_number":222,"context_line":"                    time.sleep(10)"},{"line_number":223,"context_line":"        if not rules_match:"},{"line_number":224,"context_line":"            msg \u003d (\u0027Timed out waiting sg rules for np %s to match\u0027 % np)"},{"line_number":225,"context_line":"            raise lib_exc.TimeoutException(msg)"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f65232a_484b44af","line":225,"range":{"start_line":173,"start_character":0,"end_line":225,"end_character":47},"updated":"2020-10-27 17:10:06.000000000","message":"If the test using those is defined in the base class, the methods should be defined in the base class too, otherwise you\u0027ll break OldNetworkPolicyScenario, which is run on releases prior to Victoria.","commit_id":"d4f0b55b24f2ac695a003ae17e2957f7137e70ae"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f24f565fa72a331d26bb12e325b8000f8f9ab3b9","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        return (crd[\u0027status\u0027].get(\u0027securityGroupId\u0027),"},{"line_number":171,"context_line":"                crd[\u0027status\u0027].get(\u0027podSelector\u0027))"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def get_sg_rules_for_np(self, namespace, network_policy_name):"},{"line_number":174,"context_line":"        start \u003d time.time()"},{"line_number":175,"context_line":"        while time.time() - start \u003c TIMEOUT_PERIOD:"},{"line_number":176,"context_line":"            try:"},{"line_number":177,"context_line":"                time.sleep(1)"},{"line_number":178,"context_line":"                sg_id, _ \u003d self.get_np_crd_info(name\u003dnetwork_policy_name,"},{"line_number":179,"context_line":"                                                namespace\u003dnamespace)"},{"line_number":180,"context_line":"                if sg_id:"},{"line_number":181,"context_line":"                    break"},{"line_number":182,"context_line":"            except kubernetes.client.rest.ApiException:"},{"line_number":183,"context_line":"                continue"},{"line_number":184,"context_line":"        self.assertIsNotNone(sg_id)"},{"line_number":185,"context_line":"        return self.list_security_group_rules(sg_id)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def check_sg_rules_for_np(self, namespace, np,"},{"line_number":188,"context_line":"                              ingress_cidrs_should_exist\u003d[],"},{"line_number":189,"context_line":"                              egress_cidrs_should_exist\u003d[],"},{"line_number":190,"context_line":"                              ingress_cidrs_shouldnt_exist\u003d[],"},{"line_number":191,"context_line":"                              egress_cidrs_shouldnt_exist\u003d[]):"},{"line_number":192,"context_line":"        TIMEOUT_PERIOD \u003d 180"},{"line_number":193,"context_line":"        ingress_cidrs_found \u003d set()"},{"line_number":194,"context_line":"        egress_cidrs_found \u003d set()"},{"line_number":195,"context_line":"        ingress_cidrs_should_exist \u003d set(ingress_cidrs_should_exist)"},{"line_number":196,"context_line":"        egress_cidrs_should_exist \u003d set(egress_cidrs_should_exist)"},{"line_number":197,"context_line":"        ingress_cidrs_shouldnt_exist \u003d set(ingress_cidrs_shouldnt_exist)"},{"line_number":198,"context_line":"        egress_cidrs_shouldnt_exist \u003d set(egress_cidrs_shouldnt_exist)"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        rules_match \u003d False"},{"line_number":201,"context_line":"        start \u003d time.time()"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        while ((not rules_match) and (time.time() - start \u003c TIMEOUT_PERIOD)):"},{"line_number":204,"context_line":"            sg_rules \u003d self.get_sg_rules_for_np(namespace, np)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"            for rule in sg_rules:"},{"line_number":207,"context_line":"                if rule[\u0027direction\u0027] \u003d\u003d \u0027ingress\u0027:"},{"line_number":208,"context_line":"                    ingress_cidrs_found.add(rule[\u0027remote_ip_prefix\u0027])"},{"line_number":209,"context_line":"                elif rule[\u0027direction\u0027] \u003d\u003d \u0027egress\u0027:"},{"line_number":210,"context_line":"                    egress_cidrs_found.add(rule[\u0027remote_ip_prefix\u0027])"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"                if (ingress_cidrs_should_exist.issubset(ingress_cidrs_found)"},{"line_number":213,"context_line":"                    and (not ingress_cidrs_shouldnt_exist"},{"line_number":214,"context_line":"                         or not ingress_cidrs_shouldnt_exist.issubset("},{"line_number":215,"context_line":"                             ingress_cidrs_found))"},{"line_number":216,"context_line":"                    and egress_cidrs_should_exist.issubset(egress_cidrs_found)"},{"line_number":217,"context_line":"                    and (not egress_cidrs_shouldnt_exist"},{"line_number":218,"context_line":"                         or not egress_cidrs_shouldnt_exist.issubset("},{"line_number":219,"context_line":"                            egress_cidrs_found))):"},{"line_number":220,"context_line":"                    rules_match \u003d True"},{"line_number":221,"context_line":"                else:"},{"line_number":222,"context_line":"                    time.sleep(10)"},{"line_number":223,"context_line":"        if not rules_match:"},{"line_number":224,"context_line":"            msg \u003d (\u0027Timed out waiting sg rules for np %s to match\u0027 % np)"},{"line_number":225,"context_line":"            raise lib_exc.TimeoutException(msg)"}],"source_content_type":"text/x-python","patch_set":20,"id":"1f621f24_b311f856","line":225,"range":{"start_line":173,"start_character":0,"end_line":225,"end_character":47},"in_reply_to":"3f65232a_484b44af","updated":"2020-10-28 05:26:38.000000000","message":"Done","commit_id":"d4f0b55b24f2ac695a003ae17e2957f7137e70ae"}]}
