)]}'
{"nova/tests/fixtures.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"75be66e14756f03f100447e31adc08eab916e1fc","unresolved":false,"context_lines":[{"line_number":1651,"context_line":"    def get(self, url):"},{"line_number":1652,"context_line":"        return client.APIResponse(self.fixture._fake_get(None, url))"},{"line_number":1653,"context_line":""},{"line_number":1654,"context_line":"    def put(self, url, body, **kwargs):"},{"line_number":1655,"context_line":"        return client.APIResponse("},{"line_number":1656,"context_line":"            self.fixture._fake_put(None, url, body, **kwargs))"},{"line_number":1657,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_1a031e75","line":1654,"updated":"2018-01-30 20:35:52.000000000","message":"You don\u0027t need this...","commit_id":"70986a918deb773cb8da0ca2d7c55abf430c2f2a"}],"nova/tests/functional/test_servers.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"75be66e14756f03f100447e31adc08eab916e1fc","unresolved":false,"context_lines":[{"line_number":1404,"context_line":"        return self.placement_api.get("},{"line_number":1405,"context_line":"            \u0027/allocations/%s\u0027 % server_uuid).body[\u0027allocations\u0027]"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    def _set_provider_traits(self, rp_uuid, traits):"},{"line_number":1408,"context_line":"        \"\"\"This will overwrite any existing traits."},{"line_number":1409,"context_line":""},{"line_number":1410,"context_line":"        :param rp_uuid: UUID of the resource provider to update"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_9aee4eb2","line":1407,"updated":"2018-01-30 20:35:52.000000000","message":"...if you pull the SchedulerReportClient out of self.compute._get_resource_tracker().scheduler_client.reportclient and use its methods instead.  E.g. in this case, set_traits_for_provider.  See [1] for an example.\n\n[1] https://review.openstack.org/#/c/520246/43/nova/tests/functional/test_servers.py","commit_id":"70986a918deb773cb8da0ca2d7c55abf430c2f2a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"91191a5b6aca8ff4e63f182d87feeebb39e77024","unresolved":false,"context_lines":[{"line_number":1404,"context_line":"        return self.placement_api.get("},{"line_number":1405,"context_line":"            \u0027/allocations/%s\u0027 % server_uuid).body[\u0027allocations\u0027]"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    def _set_provider_traits(self, rp_uuid, traits):"},{"line_number":1408,"context_line":"        \"\"\"This will overwrite any existing traits."},{"line_number":1409,"context_line":""},{"line_number":1410,"context_line":"        :param rp_uuid: UUID of the resource provider to update"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_d4ea66d6","line":1407,"in_reply_to":"5f93b717_9aee4eb2","updated":"2018-01-31 02:07:40.000000000","message":"That seems kind of weird to me, and I actually like the fact that the functional tests use straight up REST API requests rather than rely on the report client finagling stuff for us.","commit_id":"70986a918deb773cb8da0ca2d7c55abf430c2f2a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7182cab1e4e5bd843d1bd88ef6184b01b4437290","unresolved":false,"context_lines":[{"line_number":1404,"context_line":"        return self.placement_api.get("},{"line_number":1405,"context_line":"            \u0027/allocations/%s\u0027 % server_uuid).body[\u0027allocations\u0027]"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    def _set_provider_traits(self, rp_uuid, traits):"},{"line_number":1408,"context_line":"        \"\"\"This will overwrite any existing traits."},{"line_number":1409,"context_line":""},{"line_number":1410,"context_line":"        :param rp_uuid: UUID of the resource provider to update"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_1d96aa3f","line":1407,"in_reply_to":"5f93b717_d4ea66d6","updated":"2018-01-31 09:07:36.000000000","message":"It is really the question how closely we want to simulate reality in the functional tests. In reality the update_provider_tree virt driver method will populate the traits of the compute RP. In the nova functional tests we already decided to fake the whole driver. Therefore I don\u0027t see enough value of mocking an already faked method in the virt driver.\nThe only reason I might think about encapsulating this test setup into the fake driver is that maybe one day we decide not to fake the whole virt driver in these tests. That day such encapsulation will help us see what the fake virt driver is used for in these tests.","commit_id":"70986a918deb773cb8da0ca2d7c55abf430c2f2a"}]}
