)]}'
{"kuryr_kubernetes/controller/drivers/utils.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"c2b27a975508d19f3cb908bc67b44ff7bca99de8","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        raise"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"def patch_kuryrnet_crd(crd, populated\u003dTrue):"},{"line_number":222,"context_line":"    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":223,"context_line":"    crd_name \u003d crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":224,"context_line":"    LOG.debug(\u0027Patching KuryrNet CRD %s\u0027 % crd_name)"},{"line_number":225,"context_line":"    try:"},{"line_number":226,"context_line":"        kubernetes.patch_crd(\u0027spec\u0027, crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":227,"context_line":"                             {\u0027populated\u0027: populated})"},{"line_number":228,"context_line":"    except k_exc.K8sClientException:"},{"line_number":229,"context_line":"        LOG.exception(\u0027Error updating kuryrnet CRD %s\u0027, crd_name)"},{"line_number":230,"context_line":"        raise"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"def patch_kuryrnetworkpolicy_crd(crd, i_rules, e_rules, pod_selector,"},{"line_number":234,"context_line":"                                 np_spec\u003dNone):"},{"line_number":235,"context_line":"    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":236,"context_line":"    crd_name \u003d crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":237,"context_line":"    if not np_spec:"},{"line_number":238,"context_line":"        np_spec \u003d crd[\u0027spec\u0027][\u0027networkpolicy_spec\u0027]"},{"line_number":239,"context_line":"    LOG.debug(\u0027Patching KuryrNetPolicy CRD %s\u0027 % crd_name)"},{"line_number":240,"context_line":"    try:"},{"line_number":241,"context_line":"        kubernetes.patch_crd(\u0027spec\u0027, crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":242,"context_line":"                             {\u0027ingressSgRules\u0027: i_rules,"},{"line_number":243,"context_line":"                              \u0027egressSgRules\u0027: e_rules,"},{"line_number":244,"context_line":"                              \u0027podSelector\u0027: pod_selector,"},{"line_number":245,"context_line":"                              \u0027networkpolicy_spec\u0027: np_spec})"},{"line_number":246,"context_line":"    except k_exc.K8sClientException:"},{"line_number":247,"context_line":"        LOG.exception(\u0027Error updating kuryrnetpolicy CRD %s\u0027, crd_name)"},{"line_number":248,"context_line":"        raise"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"def create_security_group_rule_body("}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_8fc5075e","line":248,"range":{"start_line":221,"start_character":0,"end_line":248,"end_character":13},"updated":"2019-06-19 12:24:35.000000000","message":"This will grow unnecessarily when we add more CRD\u0027s, it would probably be better to just let it receive kwargs.","commit_id":"e2e63cfc4d5506277b53510701c97fb9f57d0430"},{"author":{"_account_id":14352,"name":"Antoni Segura Puimedon","email":"celebdor@gmail.com","username":"toni"},"change_message_id":"e7b42333b19bb9a77b4d8c1a34599832f262a422","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        raise"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"def patch_kuryrnet_crd(crd, populated\u003dTrue):"},{"line_number":222,"context_line":"    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":223,"context_line":"    crd_name \u003d crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":224,"context_line":"    LOG.debug(\u0027Patching KuryrNet CRD %s\u0027 % crd_name)"},{"line_number":225,"context_line":"    try:"},{"line_number":226,"context_line":"        kubernetes.patch_crd(\u0027spec\u0027, crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":227,"context_line":"                             {\u0027populated\u0027: populated})"},{"line_number":228,"context_line":"    except k_exc.K8sClientException:"},{"line_number":229,"context_line":"        LOG.exception(\u0027Error updating kuryrnet CRD %s\u0027, crd_name)"},{"line_number":230,"context_line":"        raise"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"def patch_kuryrnetworkpolicy_crd(crd, i_rules, e_rules, pod_selector,"},{"line_number":234,"context_line":"                                 np_spec\u003dNone):"},{"line_number":235,"context_line":"    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":236,"context_line":"    crd_name \u003d crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":237,"context_line":"    if not np_spec:"},{"line_number":238,"context_line":"        np_spec \u003d crd[\u0027spec\u0027][\u0027networkpolicy_spec\u0027]"},{"line_number":239,"context_line":"    LOG.debug(\u0027Patching KuryrNetPolicy CRD %s\u0027 % crd_name)"},{"line_number":240,"context_line":"    try:"},{"line_number":241,"context_line":"        kubernetes.patch_crd(\u0027spec\u0027, crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":242,"context_line":"                             {\u0027ingressSgRules\u0027: i_rules,"},{"line_number":243,"context_line":"                              \u0027egressSgRules\u0027: e_rules,"},{"line_number":244,"context_line":"                              \u0027podSelector\u0027: pod_selector,"},{"line_number":245,"context_line":"                              \u0027networkpolicy_spec\u0027: np_spec})"},{"line_number":246,"context_line":"    except k_exc.K8sClientException:"},{"line_number":247,"context_line":"        LOG.exception(\u0027Error updating kuryrnetpolicy CRD %s\u0027, crd_name)"},{"line_number":248,"context_line":"        raise"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"def create_security_group_rule_body("}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_fe179250","line":248,"range":{"start_line":221,"start_character":0,"end_line":248,"end_character":13},"in_reply_to":"9fb8cfa7_8fc5075e","updated":"2019-06-19 14:34:58.000000000","message":"Agreed","commit_id":"e2e63cfc4d5506277b53510701c97fb9f57d0430"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"25d05134cdcb405a2602d8d7a4a7a12000aaa2c4","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        raise"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"def patch_kuryrnet_crd(crd, populated\u003dTrue):"},{"line_number":222,"context_line":"    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":223,"context_line":"    crd_name \u003d crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":224,"context_line":"    LOG.debug(\u0027Patching KuryrNet CRD %s\u0027 % crd_name)"},{"line_number":225,"context_line":"    try:"},{"line_number":226,"context_line":"        kubernetes.patch_crd(\u0027spec\u0027, crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":227,"context_line":"                             {\u0027populated\u0027: populated})"},{"line_number":228,"context_line":"    except k_exc.K8sClientException:"},{"line_number":229,"context_line":"        LOG.exception(\u0027Error updating kuryrnet CRD %s\u0027, crd_name)"},{"line_number":230,"context_line":"        raise"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"def patch_kuryrnetworkpolicy_crd(crd, i_rules, e_rules, pod_selector,"},{"line_number":234,"context_line":"                                 np_spec\u003dNone):"},{"line_number":235,"context_line":"    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":236,"context_line":"    crd_name \u003d crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":237,"context_line":"    if not np_spec:"},{"line_number":238,"context_line":"        np_spec \u003d crd[\u0027spec\u0027][\u0027networkpolicy_spec\u0027]"},{"line_number":239,"context_line":"    LOG.debug(\u0027Patching KuryrNetPolicy CRD %s\u0027 % crd_name)"},{"line_number":240,"context_line":"    try:"},{"line_number":241,"context_line":"        kubernetes.patch_crd(\u0027spec\u0027, crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":242,"context_line":"                             {\u0027ingressSgRules\u0027: i_rules,"},{"line_number":243,"context_line":"                              \u0027egressSgRules\u0027: e_rules,"},{"line_number":244,"context_line":"                              \u0027podSelector\u0027: pod_selector,"},{"line_number":245,"context_line":"                              \u0027networkpolicy_spec\u0027: np_spec})"},{"line_number":246,"context_line":"    except k_exc.K8sClientException:"},{"line_number":247,"context_line":"        LOG.exception(\u0027Error updating kuryrnetpolicy CRD %s\u0027, crd_name)"},{"line_number":248,"context_line":"        raise"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"def create_security_group_rule_body("}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_417a8388","line":248,"range":{"start_line":221,"start_character":0,"end_line":248,"end_character":13},"in_reply_to":"9fb8cfa7_fe179250","updated":"2019-06-19 14:38:07.000000000","message":"yep... I thought about that... Perhaps once we start with the port/svc CRDs this is the first thing to reshape)","commit_id":"e2e63cfc4d5506277b53510701c97fb9f57d0430"}],"kuryr_kubernetes/controller/handlers/kuryrnet.py":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"ad79d6ae1d601eab50034b0c77001a7d8e6ba150","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        nodes \u003d utils.get_nodes_ips()"},{"line_number":59,"context_line":"        # NOTE(ltomasbo): Patch the kuryrnet_crd to ensure initial"},{"line_number":60,"context_line":"        # repopulation is not happening twice"},{"line_number":61,"context_line":"        driver_utils.patch_kuryrnet_crd(kuryrnet_crd, populated\u003dTrue)"},{"line_number":62,"context_line":"        # TODO(ltomasbo): Skip the master node where pods are not usually"},{"line_number":63,"context_line":"        # allocated."},{"line_number":64,"context_line":"        for node_ip in nodes:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_7afd1807","line":61,"range":{"start_line":61,"start_character":8,"end_line":61,"end_character":69},"updated":"2019-06-17 16:07:28.000000000","message":"Why not update the CRD status only after the population occurs? This way you could avoid the patch at line 73.","commit_id":"09a49c697730e8bbc02e8cec22bff4d8b9bcc5f5"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0c4240f66db6ee6f655bed365a66a99dad4e4931","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        nodes \u003d utils.get_nodes_ips()"},{"line_number":59,"context_line":"        # NOTE(ltomasbo): Patch the kuryrnet_crd to ensure initial"},{"line_number":60,"context_line":"        # repopulation is not happening twice"},{"line_number":61,"context_line":"        driver_utils.patch_kuryrnet_crd(kuryrnet_crd, populated\u003dTrue)"},{"line_number":62,"context_line":"        # TODO(ltomasbo): Skip the master node where pods are not usually"},{"line_number":63,"context_line":"        # allocated."},{"line_number":64,"context_line":"        for node_ip in nodes:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_752c4b4a","line":61,"range":{"start_line":61,"start_character":8,"end_line":61,"end_character":69},"in_reply_to":"9fb8cfa7_7afd1807","updated":"2019-06-17 17:06:51.000000000","message":"because in the case of a large number of nodes that could make repopulation actions a bit longer, or when something unexpected is happening (like the ports not transitioning to active) the controller will crash before getting into that point, and upon next kuryr-controller restart, more population actions will be triggered.","commit_id":"09a49c697730e8bbc02e8cec22bff4d8b9bcc5f5"}]}
