)]}'
{"nova/tests/functional/test_servers.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"632fa2c8b16121bec89577c491bad8d5eef164c9","unresolved":false,"context_lines":[{"line_number":1913,"context_line":""},{"line_number":1914,"context_line":"            return old_check_can_live_migrate_dest(_self, *args, **kwargs)"},{"line_number":1915,"context_line":""},{"line_number":1916,"context_line":"        # Yes this isn\u0027t great in a functional test but it\u0027s easy."},{"line_number":1917,"context_line":"        self.stub_out(\u0027nova.compute.manager.ComputeManager.\u0027"},{"line_number":1918,"context_line":"                      \u0027check_can_live_migrate_destination\u0027,"},{"line_number":1919,"context_line":"                      fake_check_can_live_migrate_destination)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_36e28ea1","line":1916,"updated":"2017-08-29 07:54:04.000000000","message":"I think it is better (and not much harder) to mock the FakeDriver.check_can_live_migrate_destination() call to keeping the SystemUnderTest as a black box.","commit_id":"a93328c8dacdd21150447bff84f37b4e3507e74d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"21145fbeaa3b40d9522590376eb1c6d47d099e45","unresolved":false,"context_lines":[{"line_number":1913,"context_line":""},{"line_number":1914,"context_line":"            return old_check_can_live_migrate_dest(_self, *args, **kwargs)"},{"line_number":1915,"context_line":""},{"line_number":1916,"context_line":"        # Yes this isn\u0027t great in a functional test but it\u0027s easy."},{"line_number":1917,"context_line":"        self.stub_out(\u0027nova.compute.manager.ComputeManager.\u0027"},{"line_number":1918,"context_line":"                      \u0027check_can_live_migrate_destination\u0027,"},{"line_number":1919,"context_line":"                      fake_check_can_live_migrate_destination)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_8d6a48ea","line":1916,"in_reply_to":"7f287b81_36e28ea1","updated":"2017-08-29 13:21:50.000000000","message":"I could do that but I don\u0027t see much of a benefit over what\u0027s already here.","commit_id":"a93328c8dacdd21150447bff84f37b4e3507e74d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1a5487d80cf5e716379ef1d7978de458183847d6","unresolved":false,"context_lines":[{"line_number":1913,"context_line":""},{"line_number":1914,"context_line":"            return old_check_can_live_migrate_dest(_self, *args, **kwargs)"},{"line_number":1915,"context_line":""},{"line_number":1916,"context_line":"        # Yes this isn\u0027t great in a functional test but it\u0027s easy."},{"line_number":1917,"context_line":"        self.stub_out(\u0027nova.compute.manager.ComputeManager.\u0027"},{"line_number":1918,"context_line":"                      \u0027check_can_live_migrate_destination\u0027,"},{"line_number":1919,"context_line":"                      fake_check_can_live_migrate_destination)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_f01be3c6","line":1916,"in_reply_to":"7f287b81_8d43686c","updated":"2017-08-29 13:48:57.000000000","message":"Sure, I agree that creating yet another test class just to add a FakeDriver variant is too much hassle. So I rest my case.\n\nI theory you could call mock.patch.object only on that compute manager you want to behave differently and then you can remove the if from the fake method. But I think that doesn\u0027t worth the effort.","commit_id":"a93328c8dacdd21150447bff84f37b4e3507e74d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b024ef10477eeb7dbef18f9fd930e2cfea639b82","unresolved":false,"context_lines":[{"line_number":1913,"context_line":""},{"line_number":1914,"context_line":"            return old_check_can_live_migrate_dest(_self, *args, **kwargs)"},{"line_number":1915,"context_line":""},{"line_number":1916,"context_line":"        # Yes this isn\u0027t great in a functional test but it\u0027s easy."},{"line_number":1917,"context_line":"        self.stub_out(\u0027nova.compute.manager.ComputeManager.\u0027"},{"line_number":1918,"context_line":"                      \u0027check_can_live_migrate_destination\u0027,"},{"line_number":1919,"context_line":"                      fake_check_can_live_migrate_destination)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_8d43686c","line":1916,"in_reply_to":"7f287b81_8d6a48ea","updated":"2017-08-29 13:22:53.000000000","message":"Ideally we\u0027d be using a specific FakeDriver variant that fails but then it needs to be a new test class altogether which I\u0027d rather avoid.","commit_id":"a93328c8dacdd21150447bff84f37b4e3507e74d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"41f5e65791a9c1e501af82c2d7297fd0d6eb0ec5","unresolved":false,"context_lines":[{"line_number":1913,"context_line":""},{"line_number":1914,"context_line":"            return old_check_can_live_migrate_dest(_self, *args, **kwargs)"},{"line_number":1915,"context_line":""},{"line_number":1916,"context_line":"        # Yes this isn\u0027t great in a functional test but it\u0027s easy."},{"line_number":1917,"context_line":"        self.stub_out(\u0027nova.compute.manager.ComputeManager.\u0027"},{"line_number":1918,"context_line":"                      \u0027check_can_live_migrate_destination\u0027,"},{"line_number":1919,"context_line":"                      fake_check_can_live_migrate_destination)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_30b04b8a","line":1916,"in_reply_to":"7f287b81_f01be3c6","updated":"2017-08-29 13:52:59.000000000","message":"I\u0027ve already made the change, it wasn\u0027t hard, so I\u0027ll just push that up.","commit_id":"a93328c8dacdd21150447bff84f37b4e3507e74d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"b5e54bbb5fa8f6ed07efd60ec2f33b6ecdeb231a","unresolved":false,"context_lines":[{"line_number":1961,"context_line":"        allocations \u003d self._get_allocations_by_server_uuid(server[\u0027id\u0027])"},{"line_number":1962,"context_line":"        # FIXME(mriedem): After bug 1712411 is fixed there should only be 1"},{"line_number":1963,"context_line":"        # allocation for the instance, on the source node."},{"line_number":1964,"context_line":"        self.assertEqual(2, len(allocations))"},{"line_number":1965,"context_line":"        self.assertIn(source_rp_uuid, allocations)"},{"line_number":1966,"context_line":"        self.assertIn(dest_rp_uuid, allocations)"},{"line_number":1967,"context_line":"        dest_allocation \u003d allocations[dest_rp_uuid][\u0027resources\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_4442d9ac","line":1964,"updated":"2017-08-30 13:32:17.000000000","message":"For the sake of following the pattern elsewhere with fixme-related assertions, should you leave the expected assert after the fix present but commented? Or set a var twice, with one of them commented.\n\nOr, actually more generally this whole stanza could do with the expected future results commented thing.","commit_id":"0b05655ef8b62bcb21345e778baeed3114c11571"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1c5ae5745b40d64adfcf57c41bb31a9b92e4b017","unresolved":false,"context_lines":[{"line_number":1961,"context_line":"        allocations \u003d self._get_allocations_by_server_uuid(server[\u0027id\u0027])"},{"line_number":1962,"context_line":"        # FIXME(mriedem): After bug 1712411 is fixed there should only be 1"},{"line_number":1963,"context_line":"        # allocation for the instance, on the source node."},{"line_number":1964,"context_line":"        self.assertEqual(2, len(allocations))"},{"line_number":1965,"context_line":"        self.assertIn(source_rp_uuid, allocations)"},{"line_number":1966,"context_line":"        self.assertIn(dest_rp_uuid, allocations)"},{"line_number":1967,"context_line":"        dest_allocation \u003d allocations[dest_rp_uuid][\u0027resources\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_cca68bac","line":1964,"in_reply_to":"7f287b81_4442d9ac","updated":"2017-09-04 14:41:53.000000000","message":"Looks like this goes really soon, so don\u0027t want to block on that.","commit_id":"0b05655ef8b62bcb21345e778baeed3114c11571"}]}
