)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"e054a560ca58e84d3437034d82ffeb7f1398c751","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e2fb3a7d_5005a90e","updated":"2024-04-15 16:08:37.000000000","message":"this whole API is not really for SDK, but I try to get over it....","commit_id":"48b83d5a9fbc55498b26424cc88fa5bad871c5b2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2981d7cf7ee9de57cb447cc1554cc5ca39ff01ab","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c550dacd_d58b37c3","in_reply_to":"e2fb3a7d_5005a90e","updated":"2024-06-24 13:12:02.000000000","message":"this should be in the sdk as the sdk is how all service to service api calls shoudl be done eventually.\n\n\nthe sdk is not intended for only calls used by members or admin so to me this is perfectly in scope","commit_id":"48b83d5a9fbc55498b26424cc88fa5bad871c5b2"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"024694cfbb1a4e1391259fb26b67a52cc8a9d54e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bca9ec26_18b6cff2","updated":"2024-06-24 11:20:43.000000000","message":"functional tests are not feasible, due to default policy and things like how to fetch the hostname.","commit_id":"302a7ef3406b65490a8e2ab8f6c9bb8bb1df3b34"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"b4cd6c9c0ec88278a1785b00a600b023c491ac83","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8dd38d38_7de91f6b","in_reply_to":"b299df66_b4060d6f","updated":"2024-07-03 09:41:18.000000000","message":"I am open for adding such functional tests, so if there is consensus to have such and the form of the job and what to include I can participate in it.","commit_id":"302a7ef3406b65490a8e2ab8f6c9bb8bb1df3b34"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2981d7cf7ee9de57cb447cc1554cc5ca39ff01ab","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b299df66_b4060d6f","in_reply_to":"bca9ec26_18b6cff2","updated":"2024-06-24 13:12:02.000000000","message":"it depends on your defintion of fucntioal tests\n\nthe openstacksdk-functional-devstack jobs could have test that use the sdk to make calls as if they are nova/ironic.\n\ni have never treid to do that but you could write a test that used a service account i.e. novs to create a port and port binding manually on neutron \nyou could even create an instance if needed to provid a uuid for the device owner\n\nwhile it would not be a teest emulating workflow that enduser shoudl ever use the sdk for it would emulate what nova/zun/ironic would do in this case and provide a tempelste for those service to adopt the sdk to replace the the neutron client for.\n\nhow realsitic that is or feasible is really something the sdk folks would have to weigh in on.","commit_id":"302a7ef3406b65490a8e2ab8f6c9bb8bb1df3b34"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"319703e17bd4078cc9bd75f5ccd85bfd514efa3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2c16d275_d47b8bc6","updated":"2024-11-08 07:42:33.000000000","message":"recheck\nPOST_FAILURE\nStrange thing that the job throw exception fro neutron db migration:\n2024-11-07 10:05:20.875679 | controller |   File \"/opt/stack/neutron-vpnaas/neutron_vpnaas/db/migration/alembic_migrations/versions/newton/expand/fe637dc3f042_support_sha256.py\", line 36, in upgrade\n2024-11-07 10:05:20.875730 | controller |     migration.alter_enum(\u0027ikepolicies\u0027, \u0027auth_algorithm\u0027, new_auth,\n2024-11-07 10:05:20.875766 | controller | AttributeError: module \u0027neutron.db.migration\u0027 has no attribute \u0027alter_enum\u0027\n\nWhich is strange as alter_enum is in Neutron still","commit_id":"c47b05836fc73db7dfb25928d6289f88e1be5992"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"50d23ded8c2f244a1914e34f8b1a7156cf805851","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"9a119d5a_b64d6430","updated":"2024-11-14 10:28:28.000000000","message":"failures in stadiums fixed now","commit_id":"85a14888cd7bcf3e4416fae1849744380271b51a"}],"openstack/network/v2/_proxy.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2981d7cf7ee9de57cb447cc1554cc5ca39ff01ab","unresolved":true,"context_lines":[{"line_number":3047,"context_line":"            port_id\u003dport.id,"},{"line_number":3048,"context_line":"            **query,"},{"line_number":3049,"context_line":"        )"},{"line_number":3050,"context_line":""},{"line_number":3051,"context_line":"    def create_qos_bandwidth_limit_rule(self, qos_policy, **attrs):"},{"line_number":3052,"context_line":"        \"\"\"Create a new bandwidth limit rule"},{"line_number":3053,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"2284fed2_cd58183c","line":3050,"updated":"2024-06-24 13:12:02.000000000","message":"this is missing deactivate_port_binding and delete_port_binding\n\ni assume those would be added in the next revision","commit_id":"302a7ef3406b65490a8e2ab8f6c9bb8bb1df3b34"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"da84b6e3e1df74fe54bbfbf884ff16dcfc35a742","unresolved":true,"context_lines":[{"line_number":3047,"context_line":"            port_id\u003dport.id,"},{"line_number":3048,"context_line":"            **query,"},{"line_number":3049,"context_line":"        )"},{"line_number":3050,"context_line":""},{"line_number":3051,"context_line":"    def create_qos_bandwidth_limit_rule(self, qos_policy, **attrs):"},{"line_number":3052,"context_line":"        \"\"\"Create a new bandwidth limit rule"},{"line_number":3053,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"cbec2746_a32126a9","line":3050,"in_reply_to":"2284fed2_cd58183c","updated":"2024-07-01 14:22:23.000000000","message":"True there is delete_port_binding, but where is deactivate_port_binding?\nIn neutronclient for example I see only these:\nhttps://opendev.org/openstack/python-neutronclient/src/branch/master/neutronclient/v2_0/client.py#L835-L856\n\nBut I have to update the api-ref also (https://docs.openstack.org/api-ref/network/v2/index.html#port-binding) with delete","commit_id":"302a7ef3406b65490a8e2ab8f6c9bb8bb1df3b34"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a788d973692c3db86e836dfac4d9fd1de782a115","unresolved":true,"context_lines":[{"line_number":3047,"context_line":"            port_id\u003dport.id,"},{"line_number":3048,"context_line":"            **query,"},{"line_number":3049,"context_line":"        )"},{"line_number":3050,"context_line":""},{"line_number":3051,"context_line":"    def create_qos_bandwidth_limit_rule(self, qos_policy, **attrs):"},{"line_number":3052,"context_line":"        \"\"\"Create a new bandwidth limit rule"},{"line_number":3053,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fc05d57_b8940e7e","line":3050,"in_reply_to":"cb997da6_470d8173","updated":"2024-07-01 15:04:34.000000000","message":"looking at nova we also only use activate.\n\ni tought there was a deactivate in the spec but maybe that was removed when impelmeting this.\n\nso delete is the the only missing function.","commit_id":"302a7ef3406b65490a8e2ab8f6c9bb8bb1df3b34"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"eb3e030eb648dfbe0fea59ebb7d94982eb11c69e","unresolved":true,"context_lines":[{"line_number":3047,"context_line":"            port_id\u003dport.id,"},{"line_number":3048,"context_line":"            **query,"},{"line_number":3049,"context_line":"        )"},{"line_number":3050,"context_line":""},{"line_number":3051,"context_line":"    def create_qos_bandwidth_limit_rule(self, qos_policy, **attrs):"},{"line_number":3052,"context_line":"        \"\"\"Create a new bandwidth limit rule"},{"line_number":3053,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"cb997da6_470d8173","line":3050,"in_reply_to":"cbec2746_a32126a9","updated":"2024-07-01 14:23:36.000000000","message":"In the api definition just activate is defined so there is no deactivate: https://docs.openstack.org/api-ref/network/v2/index.html#port-binding","commit_id":"302a7ef3406b65490a8e2ab8f6c9bb8bb1df3b34"}],"openstack/network/v2/port_binding.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"e054a560ca58e84d3437034d82ffeb7f1398c751","unresolved":true,"context_lines":[{"line_number":54,"context_line":"    #  direct-physical, virtio-forwarder, smart-nic and remote-managed."},{"line_number":55,"context_line":"    vnic_type \u003d resource.Body(\u0027vnic_type\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def activate_port_binding(self, session, **attrs):"},{"line_number":58,"context_line":"        host \u003d attrs[\u0027host\u0027]"},{"line_number":59,"context_line":"        url \u003d utils.urljoin("},{"line_number":60,"context_line":"            \u0027/ports\u0027, self.port_id, \u0027bindings\u0027, host, \u0027activate\u0027"},{"line_number":61,"context_line":"        )"},{"line_number":62,"context_line":"        resp \u003d session.put(url, json\u003d{\u0027binding\u0027: attrs})"},{"line_number":63,"context_line":"        exceptions.raise_from_response(resp)"},{"line_number":64,"context_line":"        self._body.attributes.update(resp.json())"},{"line_number":65,"context_line":"        return self"}],"source_content_type":"text/x-python","patch_set":1,"id":"55f1a931_af0a15ef","line":65,"range":{"start_line":57,"start_character":0,"end_line":65,"end_character":19},"updated":"2024-04-15 16:08:37.000000000","message":"hmmm, this part fails with an ugly Neutron traceback:\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource [None req-01bf8e76-4e1b-48b7-a660-9fb447355ec5 demo admin] activate failed: No details.: TypeError: Ml2Plugin.activate() got multiple values for argument \u0027port_id\u0027\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource Traceback (most recent call last):\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron/neutron/api/v2/resource.py\", line 98, in resource\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     result \u003d method(request\u003drequest, **args)\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron-lib/neutron_lib/db/api.py\", line 137, in wrapped\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     with excutils.save_and_reraise_exception():\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 227, in __exit__\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     self.force_reraise()\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 200, in force_reraise\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     raise self.value\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron-lib/neutron_lib/db/api.py\", line 135, in wrapped\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     return f(*args, **kwargs)\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_db/api.py\", line 144, in wrapper\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     with excutils.save_and_reraise_exception() as ectxt:\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 227, in __exit__\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     self.force_reraise()\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 200, in force_reraise\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     raise self.value\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_db/api.py\", line 142, in wrapper\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     return f(*args, **kwargs)\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron-lib/neutron_lib/db/api.py\", line 183, in wrapped\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     with excutils.save_and_reraise_exception():\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 227, in __exit__\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     self.force_reraise()\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 200, in force_reraise\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     raise self.value\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron-lib/neutron_lib/db/api.py\", line 181, in wrapped\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     return f(*dup_args, **dup_kwargs)\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron/neutron/api/v2/base.py\", line 255, in _handle_action\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     ret_value \u003d getattr(self._plugin, name)(*arg_list, **kwargs)\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron/neutron/common/utils.py\", line 726, in inner\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     return f(*args, **kwargs)\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron-lib/neutron_lib/db/api.py\", line 223, in wrapped\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     return f_with_retry(*args, **kwargs,\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron-lib/neutron_lib/db/api.py\", line 137, in wrapped\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     with excutils.save_and_reraise_exception():\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 227, in __exit__\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     self.force_reraise()\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 200, in force_reraise\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     raise self.value\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron-lib/neutron_lib/db/api.py\", line 135, in wrapped\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     return f(*args, **kwargs)\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_db/api.py\", line 144, in wrapper\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     with excutils.save_and_reraise_exception() as ectxt:\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 227, in __exit__\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     self.force_reraise()\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 200, in force_reraise\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     raise self.value\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_db/api.py\", line 142, in wrapper\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     return f(*args, **kwargs)\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron-lib/neutron_lib/db/api.py\", line 183, in wrapped\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     with excutils.save_and_reraise_exception():\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 227, in __exit__\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     self.force_reraise()\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 200, in force_reraise\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     raise self.value\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource   File \"/opt/stack/neutron-lib/neutron_lib/db/api.py\", line 181, in wrapped\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource     return f(*dup_args, **dup_kwargs)\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource TypeError: Ml2Plugin.activate() got multiple values for argument \u0027port_id\u0027\nApr 15 14:57:41 jammy neutron-server[229340]: ERROR neutron.api.v2.resource","commit_id":"48b83d5a9fbc55498b26424cc88fa5bad871c5b2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"58e4152cded826b1f0360bcbafe1ac0e35e0b2c7","unresolved":true,"context_lines":[{"line_number":54,"context_line":"    #  direct-physical, virtio-forwarder, smart-nic and remote-managed."},{"line_number":55,"context_line":"    vnic_type \u003d resource.Body(\u0027vnic_type\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def activate_port_binding(self, session, **attrs):"},{"line_number":58,"context_line":"        host \u003d attrs[\u0027host\u0027]"},{"line_number":59,"context_line":"        url \u003d utils.urljoin("},{"line_number":60,"context_line":"            \u0027/ports\u0027, self.port_id, \u0027bindings\u0027, host, \u0027activate\u0027"},{"line_number":61,"context_line":"        )"},{"line_number":62,"context_line":"        resp \u003d session.put(url, json\u003d{\u0027binding\u0027: attrs})"},{"line_number":63,"context_line":"        exceptions.raise_from_response(resp)"},{"line_number":64,"context_line":"        self._body.attributes.update(resp.json())"},{"line_number":65,"context_line":"        return self"}],"source_content_type":"text/x-python","patch_set":1,"id":"7e040702_ff016c74","line":65,"range":{"start_line":57,"start_character":0,"end_line":65,"end_character":19},"in_reply_to":"55f1a931_af0a15ef","updated":"2024-07-10 06:19:33.000000000","message":"Is this failing again? I dont\u0027 see that","commit_id":"48b83d5a9fbc55498b26424cc88fa5bad871c5b2"}]}
