)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5ca2ef46c1a51969e175744143a672326613d935","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Jakub Libosvar \u003clibosvar@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-02-04 10:37:55 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"quota: Return empty dict in NullQuotaDriver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some operations in Quota driver require a body to be returned"},{"line_number":10,"context_line":"to the caller. This patch returns empty dict for methods that return"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7d9e070b_b97ac3a5","line":7,"range":{"start_line":7,"start_character":7,"end_line":7,"end_character":24},"updated":"2022-02-04 16:06:29.000000000","message":"nit: some of them, or list or 0.","commit_id":"3401278bca6c4550fb5639cc99fc50de13e3d719"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"64140d99018169e946f2418751fce75681dfcc5a","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Jakub Libosvar \u003clibosvar@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-02-04 10:37:55 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"quota: Return empty dict in NullQuotaDriver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some operations in Quota driver require a body to be returned"},{"line_number":10,"context_line":"to the caller. This patch returns empty dict for methods that return"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"573ca863_ae00bab2","line":7,"range":{"start_line":7,"start_character":7,"end_line":7,"end_character":24},"in_reply_to":"7d9e070b_b97ac3a5","updated":"2022-02-04 16:19:40.000000000","message":"I\u0027ll update that after we get CI results.","commit_id":"3401278bca6c4550fb5639cc99fc50de13e3d719"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5ca2ef46c1a51969e175744143a672326613d935","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a6e18816_3ca69901","updated":"2022-02-04 16:06:29.000000000","message":"Let\u0027s see the CI","commit_id":"3401278bca6c4550fb5639cc99fc50de13e3d719"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"b916a658effb875894256dc856ea8d48a198b043","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"669fd5a9_725a02ba","updated":"2022-02-07 09:45:32.000000000","message":"recheck\nneutron.tests.functional.agent.l3.extensions.test_port_forwarding_extension.TestL3AgentFipPortForwardingExtensionDVR.test_dvr_router_fip_agent_mismatch seems to be failing, have to keep an eye on it","commit_id":"3401278bca6c4550fb5639cc99fc50de13e3d719"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"07db784fcedf40627cdb60fa4959c97f263773e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"fe670b40_de9d376b","updated":"2022-03-22 08:40:32.000000000","message":"Fullstack test failures seems to be related to that patch so please check them before rechecking","commit_id":"0c346cc7e810306b64222d309bc485ceb392faac"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"c65291c84ced985f1246ed0da38798acce231568","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5663d5de_f330cc4f","updated":"2022-03-29 19:56:33.000000000","message":"Shall we split this patch into two? The original intent was to fix the returned objects.","commit_id":"0c346cc7e810306b64222d309bc485ceb392faac"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"b087770651a78510113378ceb7569bcae41b5782","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"11d27c2f_ab3c9d8c","in_reply_to":"5663d5de_f330cc4f","updated":"2022-03-29 19:58:13.000000000","message":"Disregard, I thought it\u0027s enabling it by default but I see it does not.","commit_id":"0c346cc7e810306b64222d309bc485ceb392faac"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"843d94079a32010ca591c6d2dfedbd2c59ead634","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3b70168e_81cc20b2","in_reply_to":"fe670b40_de9d376b","updated":"2022-04-01 08:35:14.000000000","message":"Done","commit_id":"0c346cc7e810306b64222d309bc485ceb392faac"}],"neutron/db/quota/api.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5592d5f2a589a507d1e8df641ab33aa5d643dc8c","unresolved":true,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    @staticmethod"},{"line_number":273,"context_line":"    def get_all_quotas(context, resources):"},{"line_number":274,"context_line":"        return {}"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"    @staticmethod"},{"line_number":277,"context_line":"    def update_quota_limit(context, project_id, resource, limit):"}],"source_content_type":"text/x-python","patch_set":1,"id":"f7b9411d_3bbcc7ac","line":274,"range":{"start_line":274,"start_character":8,"end_line":274,"end_character":17},"updated":"2022-02-04 15:29:33.000000000","message":"This method should return a list: https://github.com/openstack/neutron/blob/f3d5cab3b44e83a94bd750e3ec9e33f48238478e/neutron/db/quota/driver.py#L160","commit_id":"96693dcd215bd4bd75a8d4676d91f506be6f2604"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1fc54c662ab3bbd025464c3ec198c6b67cf8817c","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    @staticmethod"},{"line_number":273,"context_line":"    def get_all_quotas(context, resources):"},{"line_number":274,"context_line":"        return {}"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"    @staticmethod"},{"line_number":277,"context_line":"    def update_quota_limit(context, project_id, resource, limit):"}],"source_content_type":"text/x-python","patch_set":1,"id":"b06b4114_875e38ca","line":274,"range":{"start_line":274,"start_character":8,"end_line":274,"end_character":17},"in_reply_to":"f7b9411d_3bbcc7ac","updated":"2022-02-04 15:38:07.000000000","message":"Done","commit_id":"96693dcd215bd4bd75a8d4676d91f506be6f2604"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5592d5f2a589a507d1e8df641ab33aa5d643dc8c","unresolved":true,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    @staticmethod"},{"line_number":281,"context_line":"    def make_reservation(context, project_id, resources, deltas, plugin):"},{"line_number":282,"context_line":"        return {}"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    @staticmethod"},{"line_number":285,"context_line":"    def commit_reservation(context, reservation_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"586c6f04_0c0ad783","line":282,"range":{"start_line":282,"start_character":8,"end_line":282,"end_character":17},"updated":"2022-02-04 15:29:33.000000000","message":"This can return None (pass). The caller expects this method to return a ``Reservation`` instance or None\n\nhttps://github.com/openstack/neutron/blob/f3d5cab3b44e83a94bd750e3ec9e33f48238478e/neutron/pecan_wsgi/hooks/quota_enforcement.py#L56-L57","commit_id":"96693dcd215bd4bd75a8d4676d91f506be6f2604"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1fc54c662ab3bbd025464c3ec198c6b67cf8817c","unresolved":false,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    @staticmethod"},{"line_number":281,"context_line":"    def make_reservation(context, project_id, resources, deltas, plugin):"},{"line_number":282,"context_line":"        return {}"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    @staticmethod"},{"line_number":285,"context_line":"    def commit_reservation(context, reservation_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"2175dc74_dc93f99a","line":282,"range":{"start_line":282,"start_character":8,"end_line":282,"end_character":17},"in_reply_to":"586c6f04_0c0ad783","updated":"2022-02-04 15:38:07.000000000","message":"Done","commit_id":"96693dcd215bd4bd75a8d4676d91f506be6f2604"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5592d5f2a589a507d1e8df641ab33aa5d643dc8c","unresolved":true,"context_lines":[{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    @staticmethod"},{"line_number":293,"context_line":"    def limit_check(context, project_id, resources, values):"},{"line_number":294,"context_line":"        return {}"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    @staticmethod"},{"line_number":297,"context_line":"    def get_resource_usage(context, project_id, resources, resource_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"8fc0e8c9_2c5097b0","line":294,"updated":"2022-02-04 15:29:33.000000000","message":"This method is terribly documented. This method should return nothing or raise an exception. By default, \"pass\" is correct.","commit_id":"96693dcd215bd4bd75a8d4676d91f506be6f2604"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1fc54c662ab3bbd025464c3ec198c6b67cf8817c","unresolved":false,"context_lines":[{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    @staticmethod"},{"line_number":293,"context_line":"    def limit_check(context, project_id, resources, values):"},{"line_number":294,"context_line":"        return {}"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    @staticmethod"},{"line_number":297,"context_line":"    def get_resource_usage(context, project_id, resources, resource_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"dcc68230_e315e2ca","line":294,"in_reply_to":"8fc0e8c9_2c5097b0","updated":"2022-02-04 15:38:07.000000000","message":"Done","commit_id":"96693dcd215bd4bd75a8d4676d91f506be6f2604"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5592d5f2a589a507d1e8df641ab33aa5d643dc8c","unresolved":true,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    @staticmethod"},{"line_number":297,"context_line":"    def get_resource_usage(context, project_id, resources, resource_name):"},{"line_number":298,"context_line":"        return {}"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    @staticmethod"},{"line_number":301,"context_line":"    def quota_limit_check(context, project_id, resources, deltas):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5854604b_c19479b5","line":298,"range":{"start_line":298,"start_character":8,"end_line":298,"end_character":17},"updated":"2022-02-04 15:29:33.000000000","message":"This method, again, should be better documented in the API. At least what returned type we expected.\n\nThis method should return an integer. Here we should return 0.","commit_id":"96693dcd215bd4bd75a8d4676d91f506be6f2604"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1fc54c662ab3bbd025464c3ec198c6b67cf8817c","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    @staticmethod"},{"line_number":297,"context_line":"    def get_resource_usage(context, project_id, resources, resource_name):"},{"line_number":298,"context_line":"        return {}"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    @staticmethod"},{"line_number":301,"context_line":"    def quota_limit_check(context, project_id, resources, deltas):"}],"source_content_type":"text/x-python","patch_set":1,"id":"de3bb11f_7a893afe","line":298,"range":{"start_line":298,"start_character":8,"end_line":298,"end_character":17},"in_reply_to":"5854604b_c19479b5","updated":"2022-02-04 15:38:07.000000000","message":"Done","commit_id":"96693dcd215bd4bd75a8d4676d91f506be6f2604"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5592d5f2a589a507d1e8df641ab33aa5d643dc8c","unresolved":true,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    @staticmethod"},{"line_number":301,"context_line":"    def quota_limit_check(context, project_id, resources, deltas):"},{"line_number":302,"context_line":"        return {}"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"    @staticmethod"},{"line_number":305,"context_line":"    def get_workers():"}],"source_content_type":"text/x-python","patch_set":1,"id":"5bb4cf15_826f41b2","line":302,"range":{"start_line":302,"start_character":8,"end_line":302,"end_character":17},"updated":"2022-02-04 15:29:33.000000000","message":"This one is well documented. From the neutron-lib API class:\n:return: None if passed; ``OverQuota`` if quota limits are exceeded,\n         ``InvalidQuotaValue`` if delta values are invalid.\n\nSo \"pass\" is correct.","commit_id":"96693dcd215bd4bd75a8d4676d91f506be6f2604"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1fc54c662ab3bbd025464c3ec198c6b67cf8817c","unresolved":false,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    @staticmethod"},{"line_number":301,"context_line":"    def quota_limit_check(context, project_id, resources, deltas):"},{"line_number":302,"context_line":"        return {}"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"    @staticmethod"},{"line_number":305,"context_line":"    def get_workers():"}],"source_content_type":"text/x-python","patch_set":1,"id":"733e5a8c_a40c42d3","line":302,"range":{"start_line":302,"start_character":8,"end_line":302,"end_character":17},"in_reply_to":"5bb4cf15_826f41b2","updated":"2022-02-04 15:38:07.000000000","message":"Done","commit_id":"96693dcd215bd4bd75a8d4676d91f506be6f2604"}],"neutron/tests/fullstack/resources/environment.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"951a11e4c5bee50c147ee55e44be4c757a54c654","unresolved":true,"context_lines":[{"line_number":44,"context_line":"                 dhcp_scheduler_class\u003dNone, ml2_extension_drivers\u003dNone,"},{"line_number":45,"context_line":"                 api_workers\u003d1,"},{"line_number":46,"context_line":"                 enable_traditional_dhcp\u003dTrue, local_ip_ext\u003dFalse,"},{"line_number":47,"context_line":"                 quota_driver\u003dquota_conf.QUOTA_DB_DRIVER):"},{"line_number":48,"context_line":"        self.network_type \u003d network_type"},{"line_number":49,"context_line":"        self.l2_pop \u003d l2_pop"},{"line_number":50,"context_line":"        self.qos \u003d qos"}],"source_content_type":"text/x-python","patch_set":11,"id":"50c4e03d_6a82f5e5","line":47,"updated":"2022-04-12 10:52:09.000000000","message":"do we need Quota to be stored in DB during fullstack tests? I think that this new \"Null\" driver would be better here, wdyt?","commit_id":"8ccbbb229276c62de4799810571b222d9bc046f5"}],"neutron/tests/fullstack/test_quota.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"843d94079a32010ca591c6d2dfedbd2c59ead634","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        port \u003d self.safe_client.create_port(self.tenant_id, network[\u0027id\u0027])"},{"line_number":49,"context_line":"        port_id \u003d port[\u0027id\u0027]"},{"line_number":50,"context_line":"        port \u003d self.safe_client.client.list_ports(id\u003dport_id)[\u0027ports\u0027][0]"},{"line_number":51,"context_line":"        self.assertFalse(port_id, port[\u0027id\u0027])"},{"line_number":52,"context_line":"        self.safe_client.delete_network(network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"f28dfe10_43af1a73","line":51,"range":{"start_line":51,"start_character":13,"end_line":51,"end_character":24},"updated":"2022-04-01 08:35:14.000000000","message":"Of course, this must be \"assertEqual\".","commit_id":"0c346cc7e810306b64222d309bc485ceb392faac"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"91c2297504d255921643104526101c2f2c7d13e3","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        port \u003d self.safe_client.create_port(self.tenant_id, network[\u0027id\u0027])"},{"line_number":49,"context_line":"        port_id \u003d port[\u0027id\u0027]"},{"line_number":50,"context_line":"        port \u003d self.safe_client.client.list_ports(id\u003dport_id)[\u0027ports\u0027][0]"},{"line_number":51,"context_line":"        self.assertFalse(port_id, port[\u0027id\u0027])"},{"line_number":52,"context_line":"        self.safe_client.delete_network(network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"d2f527c7_5cea3a80","line":51,"range":{"start_line":51,"start_character":13,"end_line":51,"end_character":24},"in_reply_to":"f28dfe10_43af1a73","updated":"2022-04-01 08:35:27.000000000","message":"Done","commit_id":"0c346cc7e810306b64222d309bc485ceb392faac"}]}
