If we do not pass a profile to install_host(), we end up un-setting the
host's profile in cobbler, which causes subsequent sync's to throw
exceptions. It makes sense in this situation to use the existing profile
from the system. But rather than call this repeatedly, pull it up before
we start the install.

Found during verify/repair testing.

Signed-off-by: Nishanth Aravamudan <[email protected]>

diff --git a/server/hosts/install_server.py b/server/hosts/install_server.py
index 9a6c013..5a4a637 100644
--- a/server/hosts/install_server.py
+++ b/server/hosts/install_server.py
@@ -109,6 +109,10 @@ class CobblerInterface(object):
             # 1 hour of timeout by default
             timeout = 3600
 
+        system, system_handle = self.get_system_handle(host)
+        if profile is None:
+            profile = self.server.get_system(system).get('profile')
+
         host.record("START", None, "install", host.hostname)
         host.record("GOOD", None, "install.start", host.hostname)
         logging.info("Installing machine %s with profile %s (timeout %s s)",
@@ -122,7 +126,6 @@ class CobblerInterface(object):
                (time_elapsed < timeout)):
 
             self._set_host_profile(host, profile)
-            system, system_handle = self.get_system_handle(host)
             self.server.power_system(system_handle,
                                      'reboot', self.token)
             installations_attempted += 1


-- 
Nishanth Aravamudan <[email protected]>
IBM Linux Technology Center

_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to