)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"a5011defd1eb61caa749434278e42499e8bd405f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3d83ff17_998cb1d0","updated":"2026-04-09 17:49:05.000000000","message":"I had a chat with Gibi, and we agreed to bring this topic to Nova meeting / PTG so let\u0027s wait with it till the dust settles 😊","commit_id":"aff91d80d54d219a5af11525ed670b0e49237518"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"5e28f3bfef763f00dd9281d641188e0f505d2c45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"717854c6_d27e3ff3","updated":"2026-04-15 18:42:28.000000000","message":"Some news: I had a chat with Sean on Nova IRC channel, see: https://meetings.opendev.org/irclogs/%23openstack-nova/%23openstack-nova.2026-04-13.log.html#openstack-nova.2026-04-13.log.html#t2026-04-13T11:07:17\n\nsummary: adding a subnet to a network does not automatically assign new IPs to existing ports. Existing ports only get a new IP if it is manually assigned. Auto-allocating IPs from a new subnet to old ports would be a breaking API change.","commit_id":"aff91d80d54d219a5af11525ed670b0e49237518"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"da5e6026d437335e26ccbadfd7fc59f5a4b75fb1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bc4f1eef_f35eb7fc","updated":"2026-05-28 16:44:26.000000000","message":"https://review.opendev.org/c/openstack/openstacksdk/+/983904 is p","commit_id":"d20b526093ea501dc9da994f22eb7435a5132321"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"da5e6026d437335e26ccbadfd7fc59f5a4b75fb1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8ec10564_121fe8f9","updated":"2026-05-28 16:44:26.000000000","message":"wrong patch to rebase","commit_id":"d20b526093ea501dc9da994f22eb7435a5132321"}],"neutron/notifiers/nova.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"da21da8203e5b911c466867e9421592c897502e4","unresolved":true,"context_lines":[{"line_number":167,"context_line":"        try:"},{"line_number":168,"context_line":"            ports \u003d directory.get_plugin().get_ports("},{"line_number":169,"context_line":"                ctx, filters\u003d{\u0027network_id\u0027: [net_id],"},{"line_number":170,"context_line":"                              \u0027device_owner\u0027: [\u0027compute:nova\u0027]})"},{"line_number":171,"context_line":"        except Exception:"},{"line_number":172,"context_line":"            LOG.debug(\"No Port was found for subnet %s on network %s, \""},{"line_number":173,"context_line":"                      \"no need to send any notification\","}],"source_content_type":"text/x-python","patch_set":2,"id":"28531f57_12dfed40","line":170,"range":{"start_line":170,"start_character":48,"end_line":170,"end_character":60},"updated":"2026-04-08 14:20:09.000000000","message":"Typically we do a device_owner.startswith(constants.DEVICE_OWNER_COMPUTE_PREFIX), but don\u0027t think there is a way to pass that as a filter.\n\nOh, that\u0027s what _is_compute_port() is doing below, so maybe we can just remove this here?","commit_id":"89247b7de4b5293cdc6a2dfcbb5e2ba508aac505"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"a5011defd1eb61caa749434278e42499e8bd405f","unresolved":true,"context_lines":[{"line_number":167,"context_line":"        try:"},{"line_number":168,"context_line":"            ports \u003d directory.get_plugin().get_ports("},{"line_number":169,"context_line":"                ctx, filters\u003d{\u0027network_id\u0027: [net_id],"},{"line_number":170,"context_line":"                              \u0027device_owner\u0027: [\u0027compute:nova\u0027]})"},{"line_number":171,"context_line":"        except Exception:"},{"line_number":172,"context_line":"            LOG.debug(\"No Port was found for subnet %s on network %s, \""},{"line_number":173,"context_line":"                      \"no need to send any notification\","}],"source_content_type":"text/x-python","patch_set":2,"id":"8dbdac91_938f318b","line":170,"range":{"start_line":170,"start_character":48,"end_line":170,"end_character":60},"in_reply_to":"28531f57_12dfed40","updated":"2026-04-09 17:49:05.000000000","message":"is_compute_port can check if a port has this owner, but here I need to filter and only fetch those ports that have compute:nova as dev_owner","commit_id":"89247b7de4b5293cdc6a2dfcbb5e2ba508aac505"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e4575fae321719cc8816c7f2aba4a23976e08989","unresolved":true,"context_lines":[{"line_number":167,"context_line":"        try:"},{"line_number":168,"context_line":"            ports \u003d directory.get_plugin().get_ports("},{"line_number":169,"context_line":"                ctx, filters\u003d{\u0027network_id\u0027: [net_id],"},{"line_number":170,"context_line":"                              \u0027device_owner\u0027: [\u0027compute:nova\u0027]})"},{"line_number":171,"context_line":"        except Exception:"},{"line_number":172,"context_line":"            LOG.debug(\"No Port was found for subnet %s on network %s, \""},{"line_number":173,"context_line":"                      \"no need to send any notification\","}],"source_content_type":"text/x-python","patch_set":2,"id":"bf2323b2_836150fe","line":170,"range":{"start_line":170,"start_character":48,"end_line":170,"end_character":60},"in_reply_to":"8dbdac91_938f318b","updated":"2026-04-09 18:54:06.000000000","message":"I worry about doing that as all the other code, from what I can tell, only looks at the prefix.","commit_id":"89247b7de4b5293cdc6a2dfcbb5e2ba508aac505"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e4575fae321719cc8816c7f2aba4a23976e08989","unresolved":true,"context_lines":[{"line_number":168,"context_line":"            ports \u003d directory.get_plugin().get_ports("},{"line_number":169,"context_line":"                ctx, filters\u003d{"},{"line_number":170,"context_line":"                    \u0027network_id\u0027: [net_id],"},{"line_number":171,"context_line":"                    \u0027device_owner\u0027: [constants.DEVICE_OWNER_COMPUTE_PREFIX]})"},{"line_number":172,"context_line":"        except Exception:"},{"line_number":173,"context_line":"            LOG.debug(\"No Port was found for subnet %s on network %s, \""},{"line_number":174,"context_line":"                      \"no need to send any notification\","}],"source_content_type":"text/x-python","patch_set":3,"id":"e284b499_92397e43","line":171,"updated":"2026-04-09 18:54:06.000000000","message":"I don\u0027t think this will work, seems we might have to add a new DB method in objects/ports.py that has something like this for a filter:\n\n    Port.device_owner.startswith(\n        lib_consts.DEVICE_OWNER_COMPUTE_PREFIX),\n\nOr I suppose it can take a prefix as an argument.","commit_id":"aff91d80d54d219a5af11525ed670b0e49237518"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"5e28f3bfef763f00dd9281d641188e0f505d2c45","unresolved":true,"context_lines":[{"line_number":168,"context_line":"            ports \u003d directory.get_plugin().get_ports("},{"line_number":169,"context_line":"                ctx, filters\u003d{"},{"line_number":170,"context_line":"                    \u0027network_id\u0027: [net_id],"},{"line_number":171,"context_line":"                    \u0027device_owner\u0027: [constants.DEVICE_OWNER_COMPUTE_PREFIX]})"},{"line_number":172,"context_line":"        except Exception:"},{"line_number":173,"context_line":"            LOG.debug(\"No Port was found for subnet %s on network %s, \""},{"line_number":174,"context_line":"                      \"no need to send any notification\","}],"source_content_type":"text/x-python","patch_set":3,"id":"ab403047_b3bc6b4a","line":171,"in_reply_to":"e284b499_92397e43","updated":"2026-04-15 18:42:28.000000000","message":"True, thanks, I just played with it","commit_id":"aff91d80d54d219a5af11525ed670b0e49237518"}],"neutron/tests/unit/notifiers/test_nova.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"da21da8203e5b911c466867e9421592c897502e4","unresolved":true,"context_lines":[{"line_number":524,"context_line":"        mock_plugin \u003d mock.Mock()"},{"line_number":525,"context_line":"        mock_plugin.get_ports.return_value \u003d ["},{"line_number":526,"context_line":"            {\u0027device_id\u0027: \u002732102d7b-1cf4-404d-b50a-97aae1f55f87\u0027,"},{"line_number":527,"context_line":"             \u0027device_owner\u0027: \u0027network:dhcp\u0027,"},{"line_number":528,"context_line":"             \u0027id\u0027: \u0027bee50827-bcee-4cc8-91c1-a27b0ce54222\u0027}]"},{"line_number":529,"context_line":"        directory.add_plugin(plugin_constants.CORE, mock_plugin)"},{"line_number":530,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"eb65745b_6930368c","line":527,"range":{"start_line":527,"start_character":29,"end_line":527,"end_character":43},"updated":"2026-04-08 14:20:09.000000000","message":"nit: n_const.DEVICE_OWNER_DHCP","commit_id":"89247b7de4b5293cdc6a2dfcbb5e2ba508aac505"}],"releasenotes/notes/Notifier-for-subnet-actions-59ed74db758c8cb8.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"da21da8203e5b911c466867e9421592c897502e4","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Send Nova notification for subnet change events when there are"},{"line_number":5,"context_line":"    ``compute:nova`` owned ports on the network for which the subnet"},{"line_number":6,"context_line":"    changed."},{"line_number":7,"context_line":"    See bug: https://bugs.launchpad.net/neutron/+bug/2146534"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"79a9ed4d_c9ce23f1","line":5,"range":{"start_line":5,"start_character":6,"end_line":5,"end_character":18},"updated":"2026-04-08 14:20:09.000000000","message":"this string would have to change as well","commit_id":"89247b7de4b5293cdc6a2dfcbb5e2ba508aac505"}]}
