)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"103652c25fd4c5dfbe327b62d5f469127fee7dff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"684ec239_c191fe64","updated":"2021-11-25 14:35:07.000000000","message":"Hi fellow reviewers, if you have some time, please check this patch.","commit_id":"8c9c1485ceaa7ee28e1641d55a4bac2717531c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"dd25006b699a77a5047058c1100df5affded6978","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6668243a_d8ab52d1","updated":"2021-11-25 17:10:40.000000000","message":"Is this behavior that users would ever want to opt out of? I wonder if it would be better to have this be the default and add a \u0027--force\u0027 parameter or similar to drop the check? Let me know what you think.\n\nNeed a release note for this (and a unit test would be nice to have also). -1 is for that. Other than that and the question above, this looks sane","commit_id":"8c9c1485ceaa7ee28e1641d55a4bac2717531c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e744252f1e751381df0f4493c232156deea16809","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4b0e8773_65e3a7aa","in_reply_to":"3ea1b9de_a7ba0465","updated":"2021-11-25 18:00:46.000000000","message":"😄 Okay, I wasn\u0027t aware of that context. I won\u0027t open the pandora\u0027s box too much, but I wonder if we could still do this in OSC? The behavior of the API won\u0027t have changed, but one of the clients will have chosen to enforce a sensible limit. We could do this slowly by adding a \u0027--no-force\u0027 option (to complement the \u0027--force\u0027 option) and a warning that it will become the default for neutron quotas in a future OSC release to avoid breaking existing scripts? Just an idea","commit_id":"8c9c1485ceaa7ee28e1641d55a4bac2717531c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8745827dc6ef35ccf5c960942f50e83181c027f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"59d9a551_f0e8922f","in_reply_to":"4b0e8773_65e3a7aa","updated":"2021-11-29 11:38:32.000000000","message":"I proposed such an alternative here [1]. Feel free to squash this in if you can get the neutron community to buy in (which I\u0027m hoping you can - the \"no force\" behavior by default is a lot safer and it aligns behavior between the networking and compute services)\n\n[1] https://review.opendev.org/c/openstack/python-openstackclient/+/819627/1","commit_id":"8c9c1485ceaa7ee28e1641d55a4bac2717531c1c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6c5094b0d293710c40306f85a580ebbb493c1be4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3ea1b9de_a7ba0465","in_reply_to":"6668243a_d8ab52d1","updated":"2021-11-25 17:46:45.000000000","message":"Ufff, do no open the Pandora box again!\n\nWhen I proposed this feature, I realize that Neutron API behaves different to Nova. Nova, by default, checks the quota limits. With --force, Nova will push any value.\n\nIn Neutron we have the opposite behaviour, the API accepts everything, regardless of the current resource usage. The output of the community was clear: the current behaviour must not change. This is why I proposed (and it was accepted) a new CLI knob: --check-limit\n\nI\u0027ll add unit testing and a reno.","commit_id":"8c9c1485ceaa7ee28e1641d55a4bac2717531c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e744252f1e751381df0f4493c232156deea16809","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b1700553_1092c5fe","updated":"2021-11-25 18:00:46.000000000","message":"I\u0027m basically +2 but want to tease this out a little more to see if we can do our users a favor here. Also, once question on the functional test that I missed before","commit_id":"347211a0e0e754beeec8fc5e80e084145c078b58"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"83eb31ab32f59f8bf75446c5ef1a6e361b33450e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ee0eb483_db74bbdf","updated":"2021-11-29 11:38:56.000000000","message":"Waiting on the outcome of [1] which ralonsoh is going to bring up in the neutron drivers meeting this week\n\n[1] https://review.opendev.org/c/openstack/python-openstackclient/+/819627/1","commit_id":"347211a0e0e754beeec8fc5e80e084145c078b58"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d0db9d156fc459a7f7769896eab7d933f307a11a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"13b1894e_210bb486","updated":"2021-12-03 11:06:28.000000000","message":"recheck","commit_id":"f2afa283bdaca9f4aa28977c88775bc0af7a70a3"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fbb242bcfac2ff2c00298a9c06a470b0aab4fdaf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1687ded7_6e2eb94d","updated":"2021-12-07 17:38:17.000000000","message":"recheck","commit_id":"f2afa283bdaca9f4aa28977c88775bc0af7a70a3"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c2a824f02516884d9c40f3ea6d8baf7dc4607dbc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"04dad058_dce42ed9","updated":"2022-01-21 10:55:29.000000000","message":"ping fellow reviewers, thanks in advance","commit_id":"bef70397a3e1240cc593b3fb34049f2ff6601e68"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f151683686979773dee3602974051b46b1b418f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"420bda88_17e40f86","updated":"2022-01-10 12:14:48.000000000","message":"ping fellow reviewers, thanks in advance","commit_id":"bef70397a3e1240cc593b3fb34049f2ff6601e68"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"491d4eb9b07618084488f40dc49c3b12604e0ee5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"58cf1e66_0f7ebc1c","updated":"2021-12-10 10:47:45.000000000","message":"recheck","commit_id":"bef70397a3e1240cc593b3fb34049f2ff6601e68"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"746d23bedd24b426bb3a03c14a0f959194cfb4a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"6abeaae1_0049155b","updated":"2022-02-02 20:50:46.000000000","message":"recheck","commit_id":"bef70397a3e1240cc593b3fb34049f2ff6601e68"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c042e3d1724100bebae568d23737cadcd28dc807","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"8707f3eb_e49ffbff","updated":"2022-02-03 12:32:26.000000000","message":"recheck\n\ndoc build fix merged now","commit_id":"bef70397a3e1240cc593b3fb34049f2ff6601e68"}],"openstackclient/common/quota.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e744252f1e751381df0f4493c232156deea16809","unresolved":true,"context_lines":[{"line_number":536,"context_line":"            help\u003d_(\u0027Force quota update (only supported by compute)\u0027)"},{"line_number":537,"context_line":"        )"},{"line_number":538,"context_line":"        parser.add_argument("},{"line_number":539,"context_line":"            \u0027--check-limit\u0027,"},{"line_number":540,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":541,"context_line":"            help\u003d_(\u0027Check quota limit when updating (only supported by \u0027"},{"line_number":542,"context_line":"                   \u0027network)\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"39b06d14_245bc141","line":539,"updated":"2021-11-25 18:00:46.000000000","message":"Per top-level comment, would it make sense to call this \u0027--no-force\u0027 (I can\u0027t think of a good opposite for \u0027force\u0027 in this context) and document that this is the default for compute but not for networking","commit_id":"347211a0e0e754beeec8fc5e80e084145c078b58"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8745827dc6ef35ccf5c960942f50e83181c027f8","unresolved":false,"context_lines":[{"line_number":536,"context_line":"            help\u003d_(\u0027Force quota update (only supported by compute)\u0027)"},{"line_number":537,"context_line":"        )"},{"line_number":538,"context_line":"        parser.add_argument("},{"line_number":539,"context_line":"            \u0027--check-limit\u0027,"},{"line_number":540,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":541,"context_line":"            help\u003d_(\u0027Check quota limit when updating (only supported by \u0027"},{"line_number":542,"context_line":"                   \u0027network)\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"e84128b2_65f3afd8","line":539,"in_reply_to":"39b06d14_245bc141","updated":"2021-11-29 11:38:32.000000000","message":"Proposed in [1]\n\n[1] https://review.opendev.org/c/openstack/python-openstackclient/+/819627/1","commit_id":"347211a0e0e754beeec8fc5e80e084145c078b58"}],"openstackclient/tests/functional/common/test_quota.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e744252f1e751381df0f4493c232156deea16809","unresolved":true,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def test_quota_network_set_with_check_limit(self):"},{"line_number":173,"context_line":"        if not self.haz_network:"},{"line_number":174,"context_line":"            self.skipTest(\u0027No Network service present\u0027)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        self.openstack(\u0027quota set --networks 40 \u0027 + self.PROJECT_NAME)"},{"line_number":177,"context_line":"        cmd_output \u003d json.loads(self.openstack("}],"source_content_type":"text/x-python","patch_set":5,"id":"ebde9eea_8244c30e","line":174,"updated":"2021-11-25 18:00:46.000000000","message":"Does this need an API extension?","commit_id":"347211a0e0e754beeec8fc5e80e084145c078b58"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8745827dc6ef35ccf5c960942f50e83181c027f8","unresolved":true,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def test_quota_network_set_with_check_limit(self):"},{"line_number":173,"context_line":"        if not self.haz_network:"},{"line_number":174,"context_line":"            self.skipTest(\u0027No Network service present\u0027)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        self.openstack(\u0027quota set --networks 40 \u0027 + self.PROJECT_NAME)"},{"line_number":177,"context_line":"        cmd_output \u003d json.loads(self.openstack("}],"source_content_type":"text/x-python","patch_set":5,"id":"9146daf1_2eeccda9","line":174,"in_reply_to":"6bf82506_83c47033","updated":"2021-11-29 11:38:32.000000000","message":"\u003e There is a shim extension, \"quota-check-limit\". It was added in the Neutron patch.\n\nAck, thanks. I think my question still stands so? If these tests were run against an older neutron server instance, they would fail, right? If so, we should add a check for the extension.","commit_id":"347211a0e0e754beeec8fc5e80e084145c078b58"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"bf63913a491ba3409b91db87117164ee8ce5e735","unresolved":true,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def test_quota_network_set_with_check_limit(self):"},{"line_number":173,"context_line":"        if not self.haz_network:"},{"line_number":174,"context_line":"            self.skipTest(\u0027No Network service present\u0027)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        self.openstack(\u0027quota set --networks 40 \u0027 + self.PROJECT_NAME)"},{"line_number":177,"context_line":"        cmd_output \u003d json.loads(self.openstack("}],"source_content_type":"text/x-python","patch_set":5,"id":"abd49c5d_ebb2fcef","line":174,"in_reply_to":"9146daf1_2eeccda9","updated":"2021-12-02 11:06:53.000000000","message":"I\u0027ll add this check.","commit_id":"347211a0e0e754beeec8fc5e80e084145c078b58"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"13f791a0b0c87d4c4f42e2c6f0ee9f4f8d40d94b","unresolved":true,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def test_quota_network_set_with_check_limit(self):"},{"line_number":173,"context_line":"        if not self.haz_network:"},{"line_number":174,"context_line":"            self.skipTest(\u0027No Network service present\u0027)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        self.openstack(\u0027quota set --networks 40 \u0027 + self.PROJECT_NAME)"},{"line_number":177,"context_line":"        cmd_output \u003d json.loads(self.openstack("}],"source_content_type":"text/x-python","patch_set":5,"id":"f23ed6c1_0b7b3e1f","line":174,"in_reply_to":"abd49c5d_ebb2fcef","updated":"2022-01-28 12:10:19.000000000","message":"Actually, now I\u0027m checking the patch again, this check is done in L175.","commit_id":"347211a0e0e754beeec8fc5e80e084145c078b58"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"69b84c8fd8c2ecffe3bc498f0e19beb71d4b4b9e","unresolved":true,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def test_quota_network_set_with_check_limit(self):"},{"line_number":173,"context_line":"        if not self.haz_network:"},{"line_number":174,"context_line":"            self.skipTest(\u0027No Network service present\u0027)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        self.openstack(\u0027quota set --networks 40 \u0027 + self.PROJECT_NAME)"},{"line_number":177,"context_line":"        cmd_output \u003d json.loads(self.openstack("}],"source_content_type":"text/x-python","patch_set":5,"id":"6bf82506_83c47033","line":174,"in_reply_to":"ebde9eea_8244c30e","updated":"2021-11-26 10:39:36.000000000","message":"There is a shim extension, \"quota-check-limit\". It was added in the Neutron patch.","commit_id":"347211a0e0e754beeec8fc5e80e084145c078b58"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"92cd8a73afb984131e761e464452f387d1a584a9","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def test_quota_network_set_with_check_limit(self):"},{"line_number":173,"context_line":"        if not self.haz_network:"},{"line_number":174,"context_line":"            self.skipTest(\u0027No Network service present\u0027)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        self.openstack(\u0027quota set --networks 40 \u0027 + self.PROJECT_NAME)"},{"line_number":177,"context_line":"        cmd_output \u003d json.loads(self.openstack("}],"source_content_type":"text/x-python","patch_set":5,"id":"f0746952_0690824f","line":174,"in_reply_to":"f23ed6c1_0b7b3e1f","updated":"2022-01-28 12:14:05.000000000","message":"Ack","commit_id":"347211a0e0e754beeec8fc5e80e084145c078b58"}]}
