)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3920dd25a67c0f37112493dce836d55d74a2ea2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"32d3984d_16e0eb6d","updated":"2021-11-02 12:23:48.000000000","message":"This bug should have been fixed with https://review.opendev.org/c/openstack/neutron/+/745330","commit_id":"71015d2321124fadede0dbe310b4b232c9659519"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1d2286d745ea6d4ad33e1d3c9dc1b7c6f8c42fef","unresolved":false,"context_lines":[{"line_number":491,"context_line":"                LOG.warning(\u0027Maintenance job failed to update metadata port \u0027"},{"line_number":492,"context_line":"                            \u0027on network {}. The operation will be retried on \u0027"},{"line_number":493,"context_line":"                            \u0027next run.\u0027"},{"line_number":494,"context_line":"                            .format(n[\u0027id\u0027]))"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"        raise periodics.NeverAgain()"},{"line_number":497,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_33ed7f8b","line":494,"updated":"2020-08-19 12:27:42.000000000","message":"It\u0027s mostly a nit but, the logging format is not adhering to the OpenStack guidelines [0] which says the string interpolation should be delayed.\n\n[0] https://docs.openstack.org/oslo.log/latest/user/guidelines.html#adding-variables-to-log-messages","commit_id":"b111600c2f990b551df85e5ce14a17411b5ff6b2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ec19412009a6276305d4cf577702879ce795d654","unresolved":false,"context_lines":[{"line_number":501,"context_line":"            # fixed_ips of the metadata port as it requires a lock on"},{"line_number":502,"context_line":"            # all the involved subnets. LP: #1890432"},{"line_number":503,"context_line":"            try:"},{"line_number":504,"context_line":"                self._ovn_client.update_metadata_port(admin_context, n)"},{"line_number":505,"context_line":"            except (n_exc.SubnetInUse, n_exc.SubnetNotFound):"},{"line_number":506,"context_line":"                LOG.warning(\u0027Maintenance job failed to update metadata port \u0027"},{"line_number":507,"context_line":"                            \u0027on network %s. The operation will be retried on \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_4ee8ee7a","line":504,"updated":"2020-08-25 13:07:32.000000000","message":"Sorry for the delay, I was on PTO.\n\nAs commented before, this is a workaround. The solution for this problem should be something like https://review.opendev.org/#/c/745330/1/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py\n\nI\u0027m still working on this.","commit_id":"71015d2321124fadede0dbe310b4b232c9659519"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"195e6399bd736e93399ecc4ebc64734f83a3e189","unresolved":false,"context_lines":[{"line_number":501,"context_line":"            # fixed_ips of the metadata port as it requires a lock on"},{"line_number":502,"context_line":"            # all the involved subnets. LP: #1890432"},{"line_number":503,"context_line":"            try:"},{"line_number":504,"context_line":"                self._ovn_client.update_metadata_port(admin_context, n)"},{"line_number":505,"context_line":"            except (n_exc.SubnetInUse, n_exc.SubnetNotFound):"},{"line_number":506,"context_line":"                LOG.warning(\u0027Maintenance job failed to update metadata port \u0027"},{"line_number":507,"context_line":"                            \u0027on network %s. The operation will be retried on \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"fffc6b78_87dc5447","line":504,"in_reply_to":"9f560f44_1133b715","updated":"2020-11-19 08:21:12.000000000","message":"I don\u0027t fully understand this change. Why we need to call \"create_metadata_port\" and just after that also \"update_metadata_port\" immediately?\nAnd also, @Rodolfo - so do You think that after Your change this one will not be needed anymore?","commit_id":"71015d2321124fadede0dbe310b4b232c9659519"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"4b511bb760e41f92b62e21d49c78c0e184707a27","unresolved":false,"context_lines":[{"line_number":501,"context_line":"            # fixed_ips of the metadata port as it requires a lock on"},{"line_number":502,"context_line":"            # all the involved subnets. LP: #1890432"},{"line_number":503,"context_line":"            try:"},{"line_number":504,"context_line":"                self._ovn_client.update_metadata_port(admin_context, n)"},{"line_number":505,"context_line":"            except (n_exc.SubnetInUse, n_exc.SubnetNotFound):"},{"line_number":506,"context_line":"                LOG.warning(\u0027Maintenance job failed to update metadata port \u0027"},{"line_number":507,"context_line":"                            \u0027on network %s. The operation will be retried on \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_1133b715","line":504,"in_reply_to":"9f560f44_4ee8ee7a","updated":"2020-08-25 13:49:38.000000000","message":"No worries, hopefully that will reduce the contention.\n\nHowever, even if you only call update_port once it will still lock all the subnets currently linked in fixed_ips, which in the environment/scenario of the reported bug may be a source of deadlocks.","commit_id":"71015d2321124fadede0dbe310b4b232c9659519"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"bfe38841381b9109aa46e9171879e4f7210e9700","unresolved":false,"context_lines":[{"line_number":1944,"context_line":"    def create_subnet(self, context, subnet, network):"},{"line_number":1945,"context_line":"        if subnet[\u0027enable_dhcp\u0027]:"},{"line_number":1946,"context_line":"            if subnet[\u0027ip_version\u0027] \u003d\u003d 4:"},{"line_number":1947,"context_line":"                try:"},{"line_number":1948,"context_line":"                    self.update_metadata_port(context, network[\u0027id\u0027])"},{"line_number":1949,"context_line":"                except n_exc.SubnetNotFound:"},{"line_number":1950,"context_line":"                    # There is a inherent lock contention when updating the"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_60d33105","line":1947,"updated":"2020-08-07 10:58:21.000000000","message":"I don\u0027t know if there is a better solution for this but we should try to find it. This patch, although could work, is more like a workaround to the real problem.\n\nI\u0027m not saying this is not valid and until we find a better solution, this could work.","commit_id":"579c4655efd5b0c454ee28aa36eab7cf16bbf7c1"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1d2286d745ea6d4ad33e1d3c9dc1b7c6f8c42fef","unresolved":false,"context_lines":[{"line_number":1954,"context_line":"                    LOG.warning(\u0027Unable to update metadata port on network {} \u0027"},{"line_number":1955,"context_line":"                                \u0027for subnet {}. The update will be performed \u0027"},{"line_number":1956,"context_line":"                                \u0027in a maintenance job.\u0027"},{"line_number":1957,"context_line":"                                .format(network[\u0027id\u0027], subnet[\u0027id\u0027]))"},{"line_number":1958,"context_line":"            self._add_subnet_dhcp_options(subnet, network)"},{"line_number":1959,"context_line":"        db_rev.bump_revision(context, subnet, ovn_const.TYPE_SUBNETS)"},{"line_number":1960,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_9303ab42","line":1957,"updated":"2020-08-19 12:27:42.000000000","message":"ditto logging","commit_id":"b111600c2f990b551df85e5ce14a17411b5ff6b2"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1d2286d745ea6d4ad33e1d3c9dc1b7c6f8c42fef","unresolved":false,"context_lines":[{"line_number":1981,"context_line":"                LOG.warning(\u0027Unable to update metadata port on network {} \u0027"},{"line_number":1982,"context_line":"                            \u0027for subnet {}. The update will be performed \u0027"},{"line_number":1983,"context_line":"                            \u0027in a maintenance job.\u0027"},{"line_number":1984,"context_line":"                            .format(network[\u0027id\u0027], subnet[\u0027id\u0027]))"},{"line_number":1985,"context_line":""},{"line_number":1986,"context_line":"        check_rev_cmd \u003d self._nb_idl.check_revision_number("},{"line_number":1987,"context_line":"            subnet[\u0027id\u0027], subnet, ovn_const.TYPE_SUBNETS)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_73fed738","line":1984,"updated":"2020-08-19 12:27:42.000000000","message":"ditto logging","commit_id":"b111600c2f990b551df85e5ce14a17411b5ff6b2"}]}
