)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"4b7a89faee5e838582ad9208d8496fb160c4c84f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Test resource allocation during soft delete"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch covers the following two scenarios while checking the"},{"line_number":10,"context_line":"resource allocations at every steps:"},{"line_number":11,"context_line":"* boot a server, soft delete, wait until automatic reclaim"},{"line_number":12,"context_line":"* boot a server, soft delete, restore, normal delete"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":20,"id":"3f4b6375_93f62df9","line":10,"range":{"start_line":10,"start_character":30,"end_line":10,"end_character":35},"updated":"2017-10-23 17:18:52.000000000","message":"step","commit_id":"39c7b19ed7cf12d09f365685fc0bcc92297bfa15"}],"nova/tests/functional/test_servers.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"146f3c3c5f75c332e098d6fd9c77af3752981daf","unresolved":false,"context_lines":[{"line_number":2307,"context_line":"    def setUp(self):"},{"line_number":2308,"context_line":"        super(ServerSoftDeleteTests, self).setUp()"},{"line_number":2309,"context_line":"        # We only need one compute service/host/node for these tests."},{"line_number":2310,"context_line":"        fake.set_nodes([\u0027host1\u0027])"},{"line_number":2311,"context_line":"        self.flags(host\u003d\u0027host1\u0027)"},{"line_number":2312,"context_line":"        self.computes \u003d {}"},{"line_number":2313,"context_line":"        self.compute1 \u003d self.start_service(\u0027compute\u0027, host\u003d\u0027host1\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_47087227","line":2310,"range":{"start_line":2310,"start_character":8,"end_line":2310,"end_character":33},"updated":"2017-09-08 19:14:33.000000000","message":"I don\u0027t think you actually need to do this if you only have one host. But I see the other tests above are doing it so OK.","commit_id":"7103a79ed9212e36fc0de86d76fa68d79ed01920"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0a754bcc836e67c919c707b614969eb307c2cc28","unresolved":false,"context_lines":[{"line_number":2307,"context_line":"    def setUp(self):"},{"line_number":2308,"context_line":"        super(ServerSoftDeleteTests, self).setUp()"},{"line_number":2309,"context_line":"        # We only need one compute service/host/node for these tests."},{"line_number":2310,"context_line":"        fake.set_nodes([\u0027host1\u0027])"},{"line_number":2311,"context_line":"        self.flags(host\u003d\u0027host1\u0027)"},{"line_number":2312,"context_line":"        self.computes \u003d {}"},{"line_number":2313,"context_line":"        self.compute1 \u003d self.start_service(\u0027compute\u0027, host\u003d\u0027host1\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_4b5de1e7","line":2310,"range":{"start_line":2310,"start_character":8,"end_line":2310,"end_character":33},"in_reply_to":"5f2577a7_47087227","updated":"2017-09-12 16:04:23.000000000","message":"Now it is encapsulated in a util method","commit_id":"7103a79ed9212e36fc0de86d76fa68d79ed01920"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"146f3c3c5f75c332e098d6fd9c77af3752981daf","unresolved":false,"context_lines":[{"line_number":2349,"context_line":"        allocation \u003d allocations[rp_uuid][\u0027resources\u0027]"},{"line_number":2350,"context_line":"        self.assertFlavorMatchesAllocation(self.flavor1, allocation)"},{"line_number":2351,"context_line":""},{"line_number":2352,"context_line":"    def test_soft_delete_then_reclaim(self):"},{"line_number":2353,"context_line":"        # make sure that instance will go to SOFT_DELETED state instead of"},{"line_number":2354,"context_line":"        # deleted immediately"},{"line_number":2355,"context_line":"        self.flags(reclaim_instance_interval\u003d30)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_dc09d931","line":2352,"range":{"start_line":2352,"start_character":8,"end_line":2352,"end_character":37},"updated":"2017-09-08 19:14:33.000000000","message":"A docstring describing this test would be nice.","commit_id":"7103a79ed9212e36fc0de86d76fa68d79ed01920"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0a754bcc836e67c919c707b614969eb307c2cc28","unresolved":false,"context_lines":[{"line_number":2349,"context_line":"        allocation \u003d allocations[rp_uuid][\u0027resources\u0027]"},{"line_number":2350,"context_line":"        self.assertFlavorMatchesAllocation(self.flavor1, allocation)"},{"line_number":2351,"context_line":""},{"line_number":2352,"context_line":"    def test_soft_delete_then_reclaim(self):"},{"line_number":2353,"context_line":"        # make sure that instance will go to SOFT_DELETED state instead of"},{"line_number":2354,"context_line":"        # deleted immediately"},{"line_number":2355,"context_line":"        self.flags(reclaim_instance_interval\u003d30)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_0b79192e","line":2352,"range":{"start_line":2352,"start_character":8,"end_line":2352,"end_character":37},"in_reply_to":"5f2577a7_dc09d931","updated":"2017-09-12 16:04:23.000000000","message":"Done","commit_id":"7103a79ed9212e36fc0de86d76fa68d79ed01920"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"146f3c3c5f75c332e098d6fd9c77af3752981daf","unresolved":false,"context_lines":[{"line_number":2379,"context_line":"        allocations \u003d self._get_allocations_by_server_uuid(server[\u0027id\u0027])"},{"line_number":2380,"context_line":"        self.assertEqual(0, len(allocations))"},{"line_number":2381,"context_line":""},{"line_number":2382,"context_line":"    def test_soft_delete_then_restore(self):"},{"line_number":2383,"context_line":"        # make sure that instance will go to SOFT_DELETED state instead of"},{"line_number":2384,"context_line":"        # deleted immediately"},{"line_number":2385,"context_line":"        self.flags(reclaim_instance_interval\u003d30)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_87fe5a03","line":2382,"range":{"start_line":2382,"start_character":8,"end_line":2382,"end_character":37},"updated":"2017-09-08 19:14:33.000000000","message":"same - describe the test place - scenario tests could always benefit from a nicely detailed docstring for debugging or updating later.","commit_id":"7103a79ed9212e36fc0de86d76fa68d79ed01920"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0a754bcc836e67c919c707b614969eb307c2cc28","unresolved":false,"context_lines":[{"line_number":2379,"context_line":"        allocations \u003d self._get_allocations_by_server_uuid(server[\u0027id\u0027])"},{"line_number":2380,"context_line":"        self.assertEqual(0, len(allocations))"},{"line_number":2381,"context_line":""},{"line_number":2382,"context_line":"    def test_soft_delete_then_restore(self):"},{"line_number":2383,"context_line":"        # make sure that instance will go to SOFT_DELETED state instead of"},{"line_number":2384,"context_line":"        # deleted immediately"},{"line_number":2385,"context_line":"        self.flags(reclaim_instance_interval\u003d30)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_2b7e1519","line":2382,"range":{"start_line":2382,"start_character":8,"end_line":2382,"end_character":37},"in_reply_to":"5f2577a7_87fe5a03","updated":"2017-09-12 16:04:23.000000000","message":"Done","commit_id":"7103a79ed9212e36fc0de86d76fa68d79ed01920"}]}
