)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"5c949d5b5300bb11e36f52029b3cca817c5f3a59","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"64397f3c_4b01a19d","updated":"2025-04-02 21:14:17.000000000","message":"recheck neutron-functional gate","commit_id":"9e0bd0a36414e949de38360bbe8c6951f3526321"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/extensions/placement.py":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"84679cf565b34622f8a4f74ea9a0f758712af026","unresolved":true,"context_lines":[{"line_number":150,"context_line":"            # the OVNMechanismDriver OVNClient has been instantiated. Wait for"},{"line_number":151,"context_line":"            # it and check the Placement extension."},{"line_number":152,"context_line":"            self._driver._post_fork_event.wait()"},{"line_number":153,"context_line":"            if not self.placement_extension_enabled:"},{"line_number":154,"context_line":"                return"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        name2uuid \u003d self.placement_extension.name2uuid()"},{"line_number":157,"context_line":"        state \u003d self.placement_extension.build_placement_state(row, name2uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"99d038c2_ee5227fc","line":154,"range":{"start_line":153,"start_character":12,"end_line":154,"end_character":22},"updated":"2025-04-02 06:54:25.000000000","message":"shouldn\u0027t this be before l148?\n\nIf this is not ROW_CREATE event and code on L156 is executed it will blow if placement_extension not initialized.","commit_id":"9e0bd0a36414e949de38360bbe8c6951f3526321"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"5a558bb444ec734f40de53124f0f6cc204783cff","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            # the OVNMechanismDriver OVNClient has been instantiated. Wait for"},{"line_number":151,"context_line":"            # it and check the Placement extension."},{"line_number":152,"context_line":"            self._driver._post_fork_event.wait()"},{"line_number":153,"context_line":"            if not self.placement_extension_enabled:"},{"line_number":154,"context_line":"                return"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        name2uuid \u003d self.placement_extension.name2uuid()"},{"line_number":157,"context_line":"        state \u003d self.placement_extension.build_placement_state(row, name2uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"2e0f02e2_748c260a","line":154,"range":{"start_line":153,"start_character":12,"end_line":154,"end_character":22},"in_reply_to":"6b89a6c8_9bf467d2","updated":"2025-04-02 21:29:13.000000000","message":"but what if its not ROW_CREATE event and is something else? in this case _post_fork_event will not be called and we will fail at L156? Or we are sure that this situation is not possible?","commit_id":"9e0bd0a36414e949de38360bbe8c6951f3526321"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8d5ff873f704c381685aa93d02f270bb246ee0af","unresolved":true,"context_lines":[{"line_number":150,"context_line":"            # the OVNMechanismDriver OVNClient has been instantiated. Wait for"},{"line_number":151,"context_line":"            # it and check the Placement extension."},{"line_number":152,"context_line":"            self._driver._post_fork_event.wait()"},{"line_number":153,"context_line":"            if not self.placement_extension_enabled:"},{"line_number":154,"context_line":"                return"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        name2uuid \u003d self.placement_extension.name2uuid()"},{"line_number":157,"context_line":"        state \u003d self.placement_extension.build_placement_state(row, name2uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf342505_cb6c5100","line":154,"range":{"start_line":153,"start_character":12,"end_line":154,"end_character":22},"in_reply_to":"99d038c2_ee5227fc","updated":"2025-04-02 09:11:42.000000000","message":"your comment seems to be valid but this is just backport of something what is already merged so this should be addressed in follow up patch (if at all)","commit_id":"9e0bd0a36414e949de38360bbe8c6951f3526321"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"298a13bc3e2b39bfffa551c212e2ca22221a282d","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            # the OVNMechanismDriver OVNClient has been instantiated. Wait for"},{"line_number":151,"context_line":"            # it and check the Placement extension."},{"line_number":152,"context_line":"            self._driver._post_fork_event.wait()"},{"line_number":153,"context_line":"            if not self.placement_extension_enabled:"},{"line_number":154,"context_line":"                return"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        name2uuid \u003d self.placement_extension.name2uuid()"},{"line_number":157,"context_line":"        state \u003d self.placement_extension.build_placement_state(row, name2uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"6b89a6c8_9bf467d2","line":154,"range":{"start_line":153,"start_character":12,"end_line":154,"end_character":22},"in_reply_to":"bf342505_cb6c5100","updated":"2025-04-02 09:20:45.000000000","message":"This is what I tried to comment in the note. The event needs to be registered in the ``OvnSbIdl`` class, before the extension is loaded. Thus, if an event is received before the extension is loaded, we need to wait for the ``_post_fork_event``. Once this event has been set, we are sure the Placement extension has been loaded and is possible to read ``self.placement_extension.enabled``","commit_id":"9e0bd0a36414e949de38360bbe8c6951f3526321"}]}
