)]}'
{"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":"35e978a2b06765f85332275bcc4e2f79cbb54477","unresolved":false,"context_lines":[{"line_number":1887,"context_line":"        # Run the periodics again to show they don\u0027t change anything."},{"line_number":1888,"context_line":"        self._run_periodics()"},{"line_number":1889,"context_line":""},{"line_number":1890,"context_line":"        # The source compute shouldn\u0027t have cleaned up the allocation for"},{"line_number":1891,"context_line":"        # itself since the instance didn\u0027t move."},{"line_number":1892,"context_line":"        source_usages \u003d self._get_provider_usages(source_rp_uuid)"},{"line_number":1893,"context_line":"        self.assertFlavorMatchesAllocation(self.flavor1, source_usages)"},{"line_number":1894,"context_line":""},{"line_number":1895,"context_line":"        allocations \u003d self._get_allocations_by_server_uuid(server[\u0027id\u0027])"},{"line_number":1896,"context_line":"        self.assertEqual(1, len(allocations))"},{"line_number":1897,"context_line":"        source_allocation \u003d allocations[source_rp_uuid][\u0027resources\u0027]"},{"line_number":1898,"context_line":"        self.assertFlavorMatchesAllocation(self.flavor1, source_allocation)"},{"line_number":1899,"context_line":""},{"line_number":1900,"context_line":"    def _boot_then_shelve_and_check_allocations(self, hostname, rp_uuid):"},{"line_number":1901,"context_line":"        # avoid automatic shelve offloading"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_53d7a150","line":1898,"range":{"start_line":1890,"start_character":0,"end_line":1898,"end_character":75},"updated":"2017-09-06 14:54:22.000000000","message":"This is similar to the issue in https://review.openstack.org/#/c/499237/ where the evac failed with NoValidHost. There it is still an open question if we want to delete the allocation or not.","commit_id":"a7c54c1c4d05ae5016bf2916cd20a46190c44b33"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"60b671556493e6c4557e3f0766bb976311eb914d","unresolved":false,"context_lines":[{"line_number":1887,"context_line":"        # Run the periodics again to show they don\u0027t change anything."},{"line_number":1888,"context_line":"        self._run_periodics()"},{"line_number":1889,"context_line":""},{"line_number":1890,"context_line":"        # The source compute shouldn\u0027t have cleaned up the allocation for"},{"line_number":1891,"context_line":"        # itself since the instance didn\u0027t move."},{"line_number":1892,"context_line":"        source_usages \u003d self._get_provider_usages(source_rp_uuid)"},{"line_number":1893,"context_line":"        self.assertFlavorMatchesAllocation(self.flavor1, source_usages)"},{"line_number":1894,"context_line":""},{"line_number":1895,"context_line":"        allocations \u003d self._get_allocations_by_server_uuid(server[\u0027id\u0027])"},{"line_number":1896,"context_line":"        self.assertEqual(1, len(allocations))"},{"line_number":1897,"context_line":"        source_allocation \u003d allocations[source_rp_uuid][\u0027resources\u0027]"},{"line_number":1898,"context_line":"        self.assertFlavorMatchesAllocation(self.flavor1, source_allocation)"},{"line_number":1899,"context_line":""},{"line_number":1900,"context_line":"    def _boot_then_shelve_and_check_allocations(self, hostname, rp_uuid):"},{"line_number":1901,"context_line":"        # avoid automatic shelve offloading"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_0292be57","line":1898,"range":{"start_line":1890,"start_character":0,"end_line":1898,"end_character":75},"in_reply_to":"7f287b81_3b6175aa","updated":"2017-09-07 14:28:58.000000000","message":"Yeah I commented in https://review.openstack.org/#/c/499237 and I tend to agree with you, especially pointing out that (1) a rebuild on the source host won\u0027t modify allocations since there is no claim for a rebuild and (2) we should be consistent about behavior when cleaning up the destination node and setting the migration status to \u0027failed\u0027 (or \u0027error\u0027) if the evacuate fails.","commit_id":"a7c54c1c4d05ae5016bf2916cd20a46190c44b33"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"73ccf41c59188a2db3c6d6f710c596167bd027fe","unresolved":false,"context_lines":[{"line_number":1887,"context_line":"        # Run the periodics again to show they don\u0027t change anything."},{"line_number":1888,"context_line":"        self._run_periodics()"},{"line_number":1889,"context_line":""},{"line_number":1890,"context_line":"        # The source compute shouldn\u0027t have cleaned up the allocation for"},{"line_number":1891,"context_line":"        # itself since the instance didn\u0027t move."},{"line_number":1892,"context_line":"        source_usages \u003d self._get_provider_usages(source_rp_uuid)"},{"line_number":1893,"context_line":"        self.assertFlavorMatchesAllocation(self.flavor1, source_usages)"},{"line_number":1894,"context_line":""},{"line_number":1895,"context_line":"        allocations \u003d self._get_allocations_by_server_uuid(server[\u0027id\u0027])"},{"line_number":1896,"context_line":"        self.assertEqual(1, len(allocations))"},{"line_number":1897,"context_line":"        source_allocation \u003d allocations[source_rp_uuid][\u0027resources\u0027]"},{"line_number":1898,"context_line":"        self.assertFlavorMatchesAllocation(self.flavor1, source_allocation)"},{"line_number":1899,"context_line":""},{"line_number":1900,"context_line":"    def _boot_then_shelve_and_check_allocations(self, hostname, rp_uuid):"},{"line_number":1901,"context_line":"        # avoid automatic shelve offloading"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_a1a6680e","line":1898,"range":{"start_line":1890,"start_character":0,"end_line":1898,"end_character":75},"in_reply_to":"7f287b81_53d7a150","updated":"2017-09-06 17:18:57.000000000","message":"This is a different issue isn\u0027t it? This is not a test that needs fixing later. It\u0027s showing that if we\u0027ve made the MoveClaim and something in the driver fails during the rebuild on the host, the MoveClaim is going to abort the claim and remove the destination node allocation.","commit_id":"a7c54c1c4d05ae5016bf2916cd20a46190c44b33"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f4b1262b271d8d9edc9766eec3a1e3c0d9aeebbb","unresolved":false,"context_lines":[{"line_number":1887,"context_line":"        # Run the periodics again to show they don\u0027t change anything."},{"line_number":1888,"context_line":"        self._run_periodics()"},{"line_number":1889,"context_line":""},{"line_number":1890,"context_line":"        # The source compute shouldn\u0027t have cleaned up the allocation for"},{"line_number":1891,"context_line":"        # itself since the instance didn\u0027t move."},{"line_number":1892,"context_line":"        source_usages \u003d self._get_provider_usages(source_rp_uuid)"},{"line_number":1893,"context_line":"        self.assertFlavorMatchesAllocation(self.flavor1, source_usages)"},{"line_number":1894,"context_line":""},{"line_number":1895,"context_line":"        allocations \u003d self._get_allocations_by_server_uuid(server[\u0027id\u0027])"},{"line_number":1896,"context_line":"        self.assertEqual(1, len(allocations))"},{"line_number":1897,"context_line":"        source_allocation \u003d allocations[source_rp_uuid][\u0027resources\u0027]"},{"line_number":1898,"context_line":"        self.assertFlavorMatchesAllocation(self.flavor1, source_allocation)"},{"line_number":1899,"context_line":""},{"line_number":1900,"context_line":"    def _boot_then_shelve_and_check_allocations(self, hostname, rp_uuid):"},{"line_number":1901,"context_line":"        # avoid automatic shelve offloading"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_3b6175aa","line":1898,"range":{"start_line":1890,"start_character":0,"end_line":1898,"end_character":75},"in_reply_to":"7f287b81_a1a6680e","updated":"2017-09-07 07:50:42.000000000","message":"I agree with your statement about the dest host allocation. The problem for me is the expected state of the resource allocation of the instance on the source host after the failed evacuation and _after_ the source compute host is started up again. The above assert, I\u0027m commenting on, states that the expected behavior is that the source allocation is not deleted. \nAs the code comment states:\n\"The source compute shouldn\u0027t have cleaned up the allocation for itself since the instance didn\u0027t move\"\n\nBut in the other hand when the evacuation fails with NoValidHost the same expected behavior is debated in https://review.openstack.org/#/c/499237 \n\nI\u0027m after a solution where both cases has the same expected behavior on the source compute after that compute is started up again. So that we can have a sane rebuild procedure for the instance after both cases.","commit_id":"a7c54c1c4d05ae5016bf2916cd20a46190c44b33"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"bf426f5342d46382eb4a1a381a93475a79289bcf","unresolved":false,"context_lines":[{"line_number":1864,"context_line":"            raise test.TestingException(\u0027test_evacuate_rebuild_on_dest_fails\u0027)"},{"line_number":1865,"context_line":""},{"line_number":1866,"context_line":"        with mock.patch.object("},{"line_number":1867,"context_line":"                self.compute2.driver, \u0027rebuild\u0027, fake_rebuild):"},{"line_number":1868,"context_line":"            # evacuate the server"},{"line_number":1869,"context_line":"            self.api.post_server_action(server[\u0027id\u0027], {\u0027evacuate\u0027: {}})"},{"line_number":1870,"context_line":"            # the migration will fail on the dest node and the instance will"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_d1285f87","line":1867,"updated":"2017-09-12 19:22:22.000000000","message":"As I\u0027ve said before, I think mocking out deep internals in functional tests should be frowned upon, and the proposer shamed.","commit_id":"30946f9a5eeea839631cdb1dba9c26d45f7a8d00"}]}
