)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"71d73b0cf1976ba32d81d97cb894c63e3a760aa9","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Przemyslaw Szczerbik \u003cprzemyslaw.szczerbik@est.tech\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-08-16 09:04:37 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Report CUSTOM_VNIC_TYPE_ traits on OVS agent RP"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now that the OVS agent RP is going to have its own resource inventory,"},{"line_number":10,"context_line":"the Neutron server needs to report the same \u0027CUSTOM_VNIC_TYPE_\u0027 traits"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3d98adb8_3f25e175","line":7,"range":{"start_line":7,"start_character":35,"end_line":7,"end_character":47},"updated":"2021-08-19 14:06:43.000000000","message":"by this change if an agent reports bandwidth or pps inventory then the vnic type traits will be reported to the agent RP. So such traits are reported to the sriov agent RP too if that agent reports bandwidth inventory. It is not a problem from scheduling perspective so we can keep this logic.","commit_id":"8bbc7f52bdd194c9d56ba9a7cd09ff859c974f50"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"2d9b05e4a8b12857ceddca3812aa8e79608994ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"189b8686_f62a736c","updated":"2021-10-14 06:49:21.000000000","message":"recheck","commit_id":"76a99f9a1458b4691a94f9508f56d4f05f500df9"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"5738dab7e4ab57f02087197bbbe738bd0aa34039","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":16,"id":"6e6b83d9_b9152083","updated":"2021-10-14 13:57:15.000000000","message":"recheck","commit_id":"76a99f9a1458b4691a94f9508f56d4f05f500df9"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"e6c55220f6f24a621aec45f0436177c0e50b7479","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":16,"id":"d6302ab7_5edf0b09","updated":"2021-10-20 08:39:18.000000000","message":"recheck","commit_id":"76a99f9a1458b4691a94f9508f56d4f05f500df9"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"c122db7b453b127c07c2800bf8c889e6bacb1cc1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":16,"id":"ff82880d_9b280a51","updated":"2021-10-15 05:23:55.000000000","message":"recheck","commit_id":"76a99f9a1458b4691a94f9508f56d4f05f500df9"}],"neutron/agent/common/placement_report.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"71d73b0cf1976ba32d81d97cb894c63e3a760aa9","unresolved":true,"context_lines":[{"line_number":215,"context_line":"                    resource_provider_uuid\u003drp_uuid,"},{"line_number":216,"context_line":"                    traits\u003dtraits))"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        rp_traits +\u003d self._deferred_update_agent_rp_traits(vnic_type_traits)"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        return rp_traits"},{"line_number":221,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5999dc6c_d25fc88d","line":218,"updated":"2021-08-19 14:06:43.000000000","message":"I think this runs for every agent that has qos enabled. So in a deployment where bandwidth is configured for both ovs and sriov this codechange causes that the vnic type traits are reported to both the ovs and the sriov agent RP. This is not a problem per se just wanted to not it as it now conflicts with the commit message.","commit_id":"8bbc7f52bdd194c9d56ba9a7cd09ff859c974f50"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"4bcbbbced74c46810ff7e5001bf8852f3ad24513","unresolved":false,"context_lines":[{"line_number":215,"context_line":"                    resource_provider_uuid\u003drp_uuid,"},{"line_number":216,"context_line":"                    traits\u003dtraits))"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        rp_traits +\u003d self._deferred_update_agent_rp_traits(vnic_type_traits)"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        return rp_traits"},{"line_number":221,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3cd45a2c_51116c4a","line":218,"in_reply_to":"5999dc6c_d25fc88d","updated":"2021-08-20 14:21:15.000000000","message":"Done","commit_id":"8bbc7f52bdd194c9d56ba9a7cd09ff859c974f50"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3f209c707b6932a1b184e9924a21c0aacda3dcf6","unresolved":true,"context_lines":[{"line_number":183,"context_line":"            agent_rp_uuid \u003d place_utils.agent_resource_provider_uuid("},{"line_number":184,"context_line":"                self._driver_uuid_namespace, hypervisor)"},{"line_number":185,"context_line":"            agent_rp_traits.append("},{"line_number":186,"context_line":"                DeferredCall("},{"line_number":187,"context_line":"                    self._client.update_resource_provider_traits,"},{"line_number":188,"context_line":"                    resource_provider_uuid\u003dagent_rp_uuid,"},{"line_number":189,"context_line":"                    traits\u003dtraits_))"}],"source_content_type":"text/x-python","patch_set":15,"id":"369ab064_6f234afa","line":186,"range":{"start_line":186,"start_character":16,"end_line":186,"end_character":28},"updated":"2021-09-29 13:42:29.000000000","message":"In case we have \"vnic_type_traits\" (depending on the supported VNIC types), we\u0027ll call this method in any placement call. Shouldn\u0027t we call this update only once?","commit_id":"cdb43ee16ed2262fef8af42b3b1ed92b00c41945"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"286169a222f46b93fa4cd39b39a76da055f6fbc4","unresolved":true,"context_lines":[{"line_number":183,"context_line":"            agent_rp_uuid \u003d place_utils.agent_resource_provider_uuid("},{"line_number":184,"context_line":"                self._driver_uuid_namespace, hypervisor)"},{"line_number":185,"context_line":"            agent_rp_traits.append("},{"line_number":186,"context_line":"                DeferredCall("},{"line_number":187,"context_line":"                    self._client.update_resource_provider_traits,"},{"line_number":188,"context_line":"                    resource_provider_uuid\u003dagent_rp_uuid,"},{"line_number":189,"context_line":"                    traits\u003dtraits_))"}],"source_content_type":"text/x-python","patch_set":15,"id":"91a04fcd_e2d8b6f5","line":186,"range":{"start_line":186,"start_character":16,"end_line":186,"end_character":28},"in_reply_to":"369ab064_6f234afa","updated":"2021-09-30 10:04:18.000000000","message":"If I understand this code that would be different from min_bw, and for that there will be a GET resource_provider/{uuid}/traits\nIf we go with this to try to sync anyway there\u0027s a GET resource_provider/{uuid} to fetch the generation and a PUT resource_provider/{uuid}/traits..\n\nPersonally I don\u0027t see big profit to do a GET anyway and do update only if needed.\n(To tell the truth my memories of how placement API works are fading)","commit_id":"cdb43ee16ed2262fef8af42b3b1ed92b00c41945"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"43329af74bd7d69bf683f532fe1e7c6bdf81ea9e","unresolved":true,"context_lines":[{"line_number":183,"context_line":"            agent_rp_uuid \u003d place_utils.agent_resource_provider_uuid("},{"line_number":184,"context_line":"                self._driver_uuid_namespace, hypervisor)"},{"line_number":185,"context_line":"            agent_rp_traits.append("},{"line_number":186,"context_line":"                DeferredCall("},{"line_number":187,"context_line":"                    self._client.update_resource_provider_traits,"},{"line_number":188,"context_line":"                    resource_provider_uuid\u003dagent_rp_uuid,"},{"line_number":189,"context_line":"                    traits\u003dtraits_))"}],"source_content_type":"text/x-python","patch_set":15,"id":"a0407741_24683dd0","line":186,"range":{"start_line":186,"start_character":16,"end_line":186,"end_character":28},"in_reply_to":"91a04fcd_e2d8b6f5","updated":"2021-09-30 10:14:25.000000000","message":"Trait update is a one-way sync operation from Neutron to Placement. I don\u0027t see how we can avoid updating them every time, without storing previous state or querying Placement API as Lajos mentioned.","commit_id":"cdb43ee16ed2262fef8af42b3b1ed92b00c41945"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"286169a222f46b93fa4cd39b39a76da055f6fbc4","unresolved":true,"context_lines":[{"line_number":215,"context_line":"                    resource_provider_uuid\u003drp_uuid,"},{"line_number":216,"context_line":"                    traits\u003dtraits))"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        rp_traits +\u003d self._deferred_update_agent_rp_traits(vnic_type_traits)"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        return rp_traits"},{"line_number":221,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"61abad49_2780e68c","line":218,"range":{"start_line":218,"start_character":18,"end_line":218,"end_character":20},"updated":"2021-09-30 10:04:18.000000000","message":"nit: extend","commit_id":"cdb43ee16ed2262fef8af42b3b1ed92b00c41945"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"43329af74bd7d69bf683f532fe1e7c6bdf81ea9e","unresolved":true,"context_lines":[{"line_number":215,"context_line":"                    resource_provider_uuid\u003drp_uuid,"},{"line_number":216,"context_line":"                    traits\u003dtraits))"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        rp_traits +\u003d self._deferred_update_agent_rp_traits(vnic_type_traits)"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        return rp_traits"},{"line_number":221,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"cafd86de_3e2aa275","line":218,"range":{"start_line":218,"start_character":18,"end_line":218,"end_character":20},"in_reply_to":"61abad49_2780e68c","updated":"2021-09-30 10:14:25.000000000","message":"I don\u0027t think there\u0027s any significant difference between +\u003d operator and extend() function.","commit_id":"cdb43ee16ed2262fef8af42b3b1ed92b00c41945"}],"neutron/tests/unit/agent/common/test_placement_report.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"3b0b44db944a533315de57f81f63f89bdbc337b7","unresolved":true,"context_lines":[{"line_number":117,"context_line":"                # uuid -v5 \u002700000000-0000-0000-0000-000000000001\u0027 \u0027fakehost2\u0027"},{"line_number":118,"context_line":"                resource_provider_uuid\u003duuid.UUID("},{"line_number":119,"context_line":"                    \u0027544155b7-1295-5f10-b5f0-eadc50abc6d4\u0027))]"},{"line_number":120,"context_line":"        self.client_mock.update_resource_provider_traits.\\"},{"line_number":121,"context_line":"            assert_has_calls(expected_calls, any_order\u003dTrue)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def test__deferred_create_agent_rps(self):"},{"line_number":124,"context_line":"        state \u003d placement_report.PlacementState(**self.kwargs)"}],"source_content_type":"text/x-python","patch_set":16,"id":"150294da_1f8e48d3","line":121,"range":{"start_line":120,"start_character":8,"end_line":121,"end_character":60},"updated":"2021-10-20 06:23:58.000000000","message":"nit: to avoid \\:\nself.client_mock.update_resource_provider_traits.assert_has_calls(\n            expected_calls, any_order\u003dTrue)","commit_id":"76a99f9a1458b4691a94f9508f56d4f05f500df9"}]}
