)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"17b127319d6304f6ed471bbe37fdaa5c742fcf0b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The patch https://review.opendev.org/663980 made resource provider"},{"line_number":10,"context_line":"inventory update failing with the assumption that inventory update"},{"line_number":11,"context_line":"expects a dict with a key of the resource class, like resource provider"},{"line_number":12,"context_line":"inventories update."},{"line_number":13,"context_line":"See the placement API-ref:"},{"line_number":14,"context_line":"https://developer.openstack.org/api-ref/placement/#update-resource-provider-inventory"},{"line_number":15,"context_line":"https://developer.openstack.org/api-ref/placement/#update-resource-provider-inventories"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_9b83cacc","line":12,"range":{"start_line":12,"start_character":12,"end_line":12,"end_character":18},"updated":"2019-07-11 17:10:38.000000000","message":"creation?","commit_id":"12ab7c4cb149147e3e7886233f4ba99c3484f923"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a0948b93667c1faf7aa7627859af9a46f4d39734","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The patch https://review.opendev.org/663980 made resource provider"},{"line_number":10,"context_line":"inventory update failing with the assumption that inventory update"},{"line_number":11,"context_line":"expects a dict with a key of the resource class, like resource provider"},{"line_number":12,"context_line":"inventories update."},{"line_number":13,"context_line":"See the placement API-ref:"},{"line_number":14,"context_line":"https://developer.openstack.org/api-ref/placement/#update-resource-provider-inventory"},{"line_number":15,"context_line":"https://developer.openstack.org/api-ref/placement/#update-resource-provider-inventories"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_9d2e3b90","line":12,"range":{"start_line":12,"start_character":12,"end_line":12,"end_character":18},"in_reply_to":"7faddb67_4b29f598","updated":"2019-07-15 09:42:59.000000000","message":"This  confusion is part of the reason why some people have decided to use only one of inventory or inventories update.\n\nIt depends mostly on whether or not a particular part of the system needs or wants to be concerned about other classes of inventory on a resource provider.","commit_id":"12ab7c4cb149147e3e7886233f4ba99c3484f923"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"ef21a6a563dfa9fbd169d2366ed5c910069521c2","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The patch https://review.opendev.org/663980 made resource provider"},{"line_number":10,"context_line":"inventory update failing with the assumption that inventory update"},{"line_number":11,"context_line":"expects a dict with a key of the resource class, like resource provider"},{"line_number":12,"context_line":"inventories update."},{"line_number":13,"context_line":"See the placement API-ref:"},{"line_number":14,"context_line":"https://developer.openstack.org/api-ref/placement/#update-resource-provider-inventory"},{"line_number":15,"context_line":"https://developer.openstack.org/api-ref/placement/#update-resource-provider-inventories"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_4b29f598","line":12,"range":{"start_line":12,"start_character":12,"end_line":12,"end_character":18},"in_reply_to":"7faddb67_9b83cacc","updated":"2019-07-12 08:59:53.000000000","message":"It\u0027s update:\nhttps://developer.openstack.org/api-ref/placement/#update-resource-provider-inventories\n\nPlacement API can be confusing for the ones not dedicating whole life to it:-)","commit_id":"12ab7c4cb149147e3e7886233f4ba99c3484f923"}],"neutron/tests/unit/extensions/test_segment.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"d59362b713488cc1ba461fcccce5dcbb77e2f9cc","unresolved":false,"context_lines":[{"line_number":1714,"context_line":"        total, reserved \u003d self._calculate_inventory_total_and_reserved("},{"line_number":1715,"context_line":"            subnet[\u0027subnet\u0027])"},{"line_number":1716,"context_line":"        inventory, _ \u003d self._get_inventory(total, reserved)"},{"line_number":1717,"context_line":"        ipv4_classname \u003d seg_plugin.IPV4_RESOURCE_CLASS"},{"line_number":1718,"context_line":"        self.mock_p_client.update_resource_provider_inventories.\\"},{"line_number":1719,"context_line":"            assert_called_with(segment_id, {ipv4_classname: inventory})"},{"line_number":1720,"context_line":"        self.assertEqual("}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_691defbb","line":1717,"updated":"2019-07-11 08:57:38.000000000","message":"I\u0027m not sure if I see the value of these unit tests since they cannot catch the type of errors that is being fixed here. A test where this is integrated with placement could actually prove something on the other hand.","commit_id":"12ab7c4cb149147e3e7886233f4ba99c3484f923"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a0948b93667c1faf7aa7627859af9a46f4d39734","unresolved":false,"context_lines":[{"line_number":1714,"context_line":"        total, reserved \u003d self._calculate_inventory_total_and_reserved("},{"line_number":1715,"context_line":"            subnet[\u0027subnet\u0027])"},{"line_number":1716,"context_line":"        inventory, _ \u003d self._get_inventory(total, reserved)"},{"line_number":1717,"context_line":"        ipv4_classname \u003d seg_plugin.IPV4_RESOURCE_CLASS"},{"line_number":1718,"context_line":"        self.mock_p_client.update_resource_provider_inventories.\\"},{"line_number":1719,"context_line":"            assert_called_with(segment_id, {ipv4_classname: inventory})"},{"line_number":1720,"context_line":"        self.assertEqual("}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_7d4edf6f","line":1717,"in_reply_to":"7faddb67_691defbb","updated":"2019-07-15 09:42:59.000000000","message":"Neutron may wish to explore using the PlacementFixture, as nova does in functional tests. It runs a real placement api (with an in-RAM db) in-process. See: https://github.com/openstack/nova/blob/master/nova/tests/functional/fixtures.py#L46","commit_id":"12ab7c4cb149147e3e7886233f4ba99c3484f923"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"b341d70e9d5379d4915f23e140889d758712fddf","unresolved":false,"context_lines":[{"line_number":1714,"context_line":"        total, reserved \u003d self._calculate_inventory_total_and_reserved("},{"line_number":1715,"context_line":"            subnet[\u0027subnet\u0027])"},{"line_number":1716,"context_line":"        inventory, _ \u003d self._get_inventory(total, reserved)"},{"line_number":1717,"context_line":"        ipv4_classname \u003d seg_plugin.IPV4_RESOURCE_CLASS"},{"line_number":1718,"context_line":"        self.mock_p_client.update_resource_provider_inventories.\\"},{"line_number":1719,"context_line":"            assert_called_with(segment_id, {ipv4_classname: inventory})"},{"line_number":1720,"context_line":"        self.assertEqual("}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_76b9e712","line":1717,"in_reply_to":"7faddb67_7d4edf6f","updated":"2019-07-18 08:01:39.000000000","message":"Thanks Chris, I checked the placement fixture when we added fullstack tests to neutron, but the decision from neutron community was to avoid the dependency to external services (like placement) in neutron \"internal\" test environment, like functional, or fullstack.\n\nSo I added a very primitive mocked placement wsgi server, see: https://opendev.org/openstack/neutron/src/branch/master/neutron/tests/fullstack/servers/placement.py, which responses to the requests from neutron. It is used only in the neutron fullstack environment.","commit_id":"12ab7c4cb149147e3e7886233f4ba99c3484f923"}]}
