)]}'
{"kuryr_kubernetes/controller/handlers/kuryrnetwork_population.py":[{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"bb5dfadd309b6e75902c3541aacf28582e02ce6a","unresolved":true,"context_lines":[{"line_number":46,"context_line":"        if not subnet_id:"},{"line_number":47,"context_line":"            LOG.debug(\"No Subnet present for KuryrNetwork %s\","},{"line_number":48,"context_line":"                      kuryrnet_crd[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":49,"context_line":"            return"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        if kuryrnet_crd[\u0027status\u0027].get(\u0027populated\u0027):"},{"line_number":52,"context_line":"            LOG.debug(\"Subnet %s already populated\", subnet_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"b5ead271_75632570","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":18},"updated":"2021-02-23 07:41:21.000000000","message":"wondering if we should return resourceNotReady here instead to ensure the prepopulation happens once the status is filled in","commit_id":"95fa70858b7860e3fd0d0d3cd4053eb1c1a4da2f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"94f2d04dfdbf3f1b01e93f72a9cc59f9cada4101","unresolved":true,"context_lines":[{"line_number":46,"context_line":"        if not subnet_id:"},{"line_number":47,"context_line":"            LOG.debug(\"No Subnet present for KuryrNetwork %s\","},{"line_number":48,"context_line":"                      kuryrnet_crd[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":49,"context_line":"            return"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        if kuryrnet_crd[\u0027status\u0027].get(\u0027populated\u0027):"},{"line_number":52,"context_line":"            LOG.debug(\"Subnet %s already populated\", subnet_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7d572ea9_0bc05d39","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":18},"in_reply_to":"4bdd3922_f61d6eab","updated":"2021-02-23 14:12:35.000000000","message":"We should, on_added will only be triggered once, so we won\u0027t get this again like on_present.","commit_id":"95fa70858b7860e3fd0d0d3cd4053eb1c1a4da2f"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"9ba7791515bf4f6dd6edf51f7a0d6cc344ff9dbc","unresolved":true,"context_lines":[{"line_number":46,"context_line":"        if not subnet_id:"},{"line_number":47,"context_line":"            LOG.debug(\"No Subnet present for KuryrNetwork %s\","},{"line_number":48,"context_line":"                      kuryrnet_crd[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":49,"context_line":"            return"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        if kuryrnet_crd[\u0027status\u0027].get(\u0027populated\u0027):"},{"line_number":52,"context_line":"            LOG.debug(\"Subnet %s already populated\", subnet_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"f3b51b50_b622574d","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":18},"in_reply_to":"51257735_da1716b1","updated":"2021-02-24 08:10:32.000000000","message":"really? I thought the resourceNotReady would allow other handlers to progress and then eventually the action would be retried. But it seems I remember wrong! :)","commit_id":"95fa70858b7860e3fd0d0d3cd4053eb1c1a4da2f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f2fd5d78729d23e52fd9d65f5519e209a04157d5","unresolved":true,"context_lines":[{"line_number":46,"context_line":"        if not subnet_id:"},{"line_number":47,"context_line":"            LOG.debug(\"No Subnet present for KuryrNetwork %s\","},{"line_number":48,"context_line":"                      kuryrnet_crd[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":49,"context_line":"            return"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        if kuryrnet_crd[\u0027status\u0027].get(\u0027populated\u0027):"},{"line_number":52,"context_line":"            LOG.debug(\"Subnet %s already populated\", subnet_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"51257735_da1716b1","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":18},"in_reply_to":"7d572ea9_0bc05d39","updated":"2021-02-23 23:12:14.000000000","message":"if we use KuryrNetworkPopulationHandler handles before the kuryrnetworkhandler the KuryrNetworkPopulationHandler would keep raising resourcenotready all the time causing a controller restart, and only then the other event for kuryrnetworkhandler would fill the status.\nIn order to avoid this I\u0027m now skipping the event and letting it be retried once again during any patching crd operation.","commit_id":"95fa70858b7860e3fd0d0d3cd4053eb1c1a4da2f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"7968c43387841e283d6caa22b59e643460877021","unresolved":true,"context_lines":[{"line_number":46,"context_line":"        if not subnet_id:"},{"line_number":47,"context_line":"            LOG.debug(\"No Subnet present for KuryrNetwork %s\","},{"line_number":48,"context_line":"                      kuryrnet_crd[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":49,"context_line":"            return"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        if kuryrnet_crd[\u0027status\u0027].get(\u0027populated\u0027):"},{"line_number":52,"context_line":"            LOG.debug(\"Subnet %s already populated\", subnet_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"4bdd3922_f61d6eab","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":18},"in_reply_to":"b5ead271_75632570","updated":"2021-02-23 12:24:55.000000000","message":"I started wondering the same when testing it ;)","commit_id":"95fa70858b7860e3fd0d0d3cd4053eb1c1a4da2f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7ba0ef7d2da12b0608d1afd76feeb63ba85ab0f3","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        if not subnet_id:"},{"line_number":47,"context_line":"            LOG.debug(\"No Subnet present for KuryrNetwork %s\","},{"line_number":48,"context_line":"                      kuryrnet_crd[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":49,"context_line":"            return"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        if kuryrnet_crd[\u0027status\u0027].get(\u0027populated\u0027):"},{"line_number":52,"context_line":"            LOG.debug(\"Subnet %s already populated\", subnet_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ebb2192f_f0c6f6b2","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":18},"in_reply_to":"f0e8c97d_a4b17b77","updated":"2021-02-24 11:18:25.000000000","message":"Ack","commit_id":"95fa70858b7860e3fd0d0d3cd4053eb1c1a4da2f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"1cfb910292c9af75c100d9f3fdc0cd6af3622ebc","unresolved":true,"context_lines":[{"line_number":46,"context_line":"        if not subnet_id:"},{"line_number":47,"context_line":"            LOG.debug(\"No Subnet present for KuryrNetwork %s\","},{"line_number":48,"context_line":"                      kuryrnet_crd[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":49,"context_line":"            return"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        if kuryrnet_crd[\u0027status\u0027].get(\u0027populated\u0027):"},{"line_number":52,"context_line":"            LOG.debug(\"Subnet %s already populated\", subnet_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"f0e8c97d_a4b17b77","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":18},"in_reply_to":"f3b51b50_b622574d","updated":"2021-02-24 11:07:11.000000000","message":"@Maysa: But on_added won\u0027t be happening again, only on_present is triggered on object updates [1].\n@Luis: This has to do with the fact that ResourceNotReady blocks the whole thread related to the object to make sure we won\u0027t lose events order (subsequent events are queued). We might need to have separate threads per handler too.\n\n[1] https://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/handlers/k8s_base.py#L79-L85","commit_id":"95fa70858b7860e3fd0d0d3cd4053eb1c1a4da2f"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"9ba7791515bf4f6dd6edf51f7a0d6cc344ff9dbc","unresolved":true,"context_lines":[{"line_number":48,"context_line":"                      kuryrnet_crd[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":49,"context_line":"            return"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        if kuryrnet_crd[\u0027status\u0027].get(\u0027populated\u0027):"},{"line_number":52,"context_line":"            LOG.debug(\"Subnet %s already populated for Namespace %s\","},{"line_number":53,"context_line":"                      subnet_id, kuryrnet_crd[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":54,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":3,"id":"f10c721d_12bac241","line":51,"updated":"2021-02-24 08:10:32.000000000","message":"as we are now reacting on \"on_present\" instead of \"on_added\", perhaps worth to check if already populated first (not a big deal though!)","commit_id":"0719ca7b2aba8c3e28b9a0498b271397db16b8ea"}]}
