Use addCleanup in test_rebuild_server

Use addCleanup in test_rebuild_server to restore the test server
to its original image.

Change-Id: I69d3e20be7fb6ef38fd89f0132aff720ef87253e
Closes-bug: #1449563
diff --git a/tempest/api/compute/servers/test_server_actions.py b/tempest/api/compute/servers/test_server_actions.py
index 2ed4fc8..0eca396 100644
--- a/tempest/api/compute/servers/test_server_actions.py
+++ b/tempest/api/compute/servers/test_server_actions.py
@@ -129,6 +129,12 @@
                                              personality=personality,
                                              adminPass=password)
 
+        # If the server was rebuilt on a different image, restore it to the
+        # original image once the test ends
+        if self.image_ref_alt != self.image_ref:
+            self.addCleanup(self.client.rebuild,
+                            (self.server_id, self.image_ref))
+
         # Verify the properties in the initial response are correct
         self.assertEqual(self.server_id, rebuilt_server['id'])
         rebuilt_image_id = rebuilt_server['image']['id']
@@ -147,8 +153,6 @@
             linux_client = remote_client.RemoteClient(server, self.ssh_user,
                                                       password)
             linux_client.validate_authentication()
-        if self.image_ref_alt != self.image_ref:
-            self.client.rebuild(self.server_id, self.image_ref)
 
     @test.attr(type='gate')
     @test.idempotent_id('30449a88-5aff-4f9b-9866-6ee9b17f906d')