)]}'
{"metalsmith/_nics.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"40292d179b0a3fdce62a50da724629e012daeace","unresolved":true,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3db6f554_d3ff4f4a","line":74,"updated":"2021-06-28 14:44:33.000000000","message":"I suggest we don\u0027t send a project ID if there is none. We\u0027re going to have a very confusing error message if neutron decides not to accept it.","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1385e2e30bddbb42e7c641f46a1eb9f02e4269dc","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1596d84f_5eafe6f9","line":74,"updated":"2021-06-29 08:08:08.000000000","message":"Still, if Neutron requires a fake value, it\u0027s a bug in Neutron (we have similar conditions in Ironic, and we\u0027re trying to get rid of them).","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3eb54f64aa867d80d087c8d4f157c754a7cfb02a","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"779b6b7e_59a2bd40","line":74,"updated":"2021-06-29 10:22:12.000000000","message":"Why cannot you fix neutron? At least to accept None (the model you\u0027re linking to has a nullable field)? Requiring a dummy value is 100% a bug on your side. I\u0027m not comfortable landing a workaround without a way forward for removing it.","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"631572463a0dd6a760acfff3c037d9349e30895f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"b6ce7a0d_3746494e","line":74,"in_reply_to":"19476082_5bca783c","updated":"2021-07-01 12:32:38.000000000","message":"Just a small correction, we don\u0027t have concrete plans, but the desire to drop neutron if possible.","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"b51fb9bcd32e230b543b7d7ae86a0dac749651f9","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"19476082_5bca783c","line":74,"in_reply_to":"2fe9145e_6ac7e0c3","updated":"2021-07-01 12:25:02.000000000","message":"That\u0027s not the understanding I\u0027ve. I created that bug so that we can work on properly supporting it and neutron team agreed on it. We\u0027re dropping keystone from undercloud and we also have plans also drop neutron (only used for IPAM) in the near future.","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"522261b894d0e24268186260a6e71398cbd6bad5","unresolved":true,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"4e9281a9_48365134","line":74,"in_reply_to":"3db6f554_d3ff4f4a","updated":"2021-06-28 14:57:00.000000000","message":"I\u0027m going to second Dmitry\u0027s statement. This just feels wrong to send none, or a dummy value. It feels like a deficiency of the API and that we\u0027re routing around designed mechanisms/models of use.\n\nIt almost feels like, the requirement might need to be dropped from the Neutron side for it to be truly useful in a standalone case anyway, given the project id is a construct of user pooling from Keystone to begin with.","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"cacfa0ab3531b0664415fecb5ff9a807ed525cf0","unresolved":true,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"2646aad4_ebab802c","line":74,"in_reply_to":"3db6f554_d3ff4f4a","updated":"2021-06-28 14:52:30.000000000","message":"Not sure I understand. Neutron does expect a project_id in request if X-Project-Id is not in header.","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"4ba890b0366da55c9cf39cc2f723fe7dc99490f8","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bc5f9962_355661e1","line":74,"in_reply_to":"46e1012d_8d6fced5","updated":"2021-07-01 05:33:15.000000000","message":"No, using custom policy won\u0027t suffice, as there are embeded logic in the api layer to use project_id. I had a chat with Akihiro-san and he has updated the bug https://bugs.launchpad.net/neutron/+bug/1934039/comments/5","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"0145f56095a1f6fae1a9ecc87b8d219a0012de2e","unresolved":true,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfb13de4_bf007b7b","line":74,"in_reply_to":"4e9281a9_48365134","updated":"2021-06-28 16:42:32.000000000","message":"tenant_id attribute is required_by_policy for POST requests[1] and enforced by the neutron policy engine since long. I don\u0027t know how it would disappear from neutron API any time.\n\nAs for making changes to neutron to behave differently, I don\u0027t know what all needs to be changed, but I suspect it\u0027s probably going to be a very big change and won\u0027t fly.\n\nMy understanding is metalsmith is consuming neutron API and when the neutron API changes (and is not backward compatible), it would change as well.    \n\n\n[1] https://github.com/openstack/neutron-lib/blob/master/neutron_lib/api/definitions/port.py#L90","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"a4fde89cb4e830b72ab562f7b05594644644ceb1","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9e1adabe_fcd9b5bc","line":74,"in_reply_to":"779b6b7e_59a2bd40","updated":"2021-06-30 03:39:13.000000000","message":"I\u0027ve reported a neutron bug https://bugs.launchpad.net/neutron/+bug/1934039 for this and would work with the neutron folks to chage it along with support for \u0027http_basic\u0027 auth_strategy.\n\nWith that as a way forward, would we be ok to merge this workaround to get us moving?","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f03b38636700a70b4136118aa163acdcbaf7fea0","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"46e1012d_8d6fced5","line":74,"in_reply_to":"9e1adabe_fcd9b5bc","updated":"2021-06-30 12:05:44.000000000","message":"Per https://bugs.launchpad.net/neutron/+bug/1934039/comments/1 it seems to be a neutron misconfiguration.","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2f3a4a8d6995cead8aaaa671d5dbf73e52211877","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"0c339241_41d19fe9","line":74,"in_reply_to":"b6ce7a0d_3746494e","updated":"2021-07-01 13:21:20.000000000","message":"I\u0027ve expressed my opinion on https://bugs.launchpad.net/neutron/+bug/1934039/comments/7. If the neutron team doesn\u0027t care about this, I will recommend you keep Keystone or drop both Neutron and Keystone altogether.","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"49dd732e7ae11c13a23b467c00e123281d3a88f6","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"2fe9145e_6ac7e0c3","line":74,"in_reply_to":"bc5f9962_355661e1","updated":"2021-07-01 12:09:40.000000000","message":"If neutron doesn\u0027t want to properly support no-auth, we probably don\u0027t either, and you definitely should not try to use it in TripleO. Keystone is not a heavyweight service to deploy.","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8b973e32ed9b1811184b8db7078edfd9794b192d","unresolved":true,"context_lines":[{"line_number":71,"context_line":"    def _get_project_id(self):"},{"line_number":72,"context_line":"        \"\"\"Returns current project id\"\"\""},{"line_number":73,"context_line":"        project_id \u003d self._connection.session.get_project_id("},{"line_number":74,"context_line":"            self._connection.session.auth) or _DUMMY_PROJECT_ID"},{"line_number":75,"context_line":"        return project_id"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_and_attach_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"c70ddc19_daeff855","line":74,"in_reply_to":"dfb13de4_bf007b7b","updated":"2021-06-29 09:12:34.000000000","message":"That is true that neutron requires project id to be set always for most of the resources: https://github.com/openstack/neutron-lib/blob/master/neutron_lib/db/model_base.py#L22\nWe have same problem now with SYSTEM scoped personas with new RBAC policies as there is no project_id in context so we need to pass project_id in the request body.\nSending some dummy value will work from the neutron PoV unless You will not have \"project_id\" filter enabled: https://github.com/openstack/neutron/commit/2df49fa879eda377c6f7489cfbe0659be29d2366\nI know it\u0027s not perfect solution but I think that for now it\u0027s the only possible workaround here.","commit_id":"1a41d860733ab077e5e651fcb0cacc9ac5c9bd98"}]}
