summaryrefslogtreecommitdiffstats
path: root/cobbler/action_sync.py
diff options
context:
space:
mode:
Diffstat (limited to 'cobbler/action_sync.py')
-rw-r--r--cobbler/action_sync.py46
1 files changed, 20 insertions, 26 deletions
diff --git a/cobbler/action_sync.py b/cobbler/action_sync.py
index fede994..6fc3c6b 100644
--- a/cobbler/action_sync.py
+++ b/cobbler/action_sync.py
@@ -11,7 +11,8 @@ import shutil
import syck
import utils
-from msg import *
+import cobbler_msg
+from cobbler_exception import CobblerException
"""
Handles conversion of internal state to the tftpboot tree layout
@@ -63,7 +64,7 @@ class BootSync:
cobbler infrastructure available over TFTP over HTTP also.
"""
if not os.path.exists("/etc/httpd/conf.d"):
- self.sync_log(m("no_httpd"))
+ self.sync_log(cobbler_msg.lookup("no_httpd"))
return
f = self.open_file("/etc/httpd/conf.d/cobbler.conf","w+")
config_data = """
@@ -107,12 +108,9 @@ class BootSync:
kernel = utils.find_kernel(d.kernel) # full path
initrd = utils.find_initrd(d.initrd) # full path
if kernel is None or not os.path.isfile(kernel):
- utils.set_error("Kernel for distro (%s) cannot be found and needs to be fixed: %s" % (d.name, d.kernel))
- print utils.last_error()
- raise Exception, "error"
+ raise CobblerException("sync_kernel", (d.name, d.kernel))
if initrd is None or not os.path.isfile(initrd):
- utils.set_error("Initrd for distro (%s) cannot be found and needs to be fixed: %s" % (d.name, d.initrd))
- raise Exception, "error"
+ raise CobblerException("sync_initrd", (d.name, d.initrd))
b_kernel = os.path.basename(kernel)
b_initrd = os.path.basename(initrd)
self.copyfile(kernel, os.path.join(distro_dir, b_kernel))
@@ -131,7 +129,7 @@ class BootSync:
# it's up to the user to make sure they are nicely served by their URLs
for g in self.profiles:
- self.sync_log("mirroring any local kickstarts: %s" % g.name)
+ self.sync_log(cobbler_msg.lookup("sync_mirror_ks"))
kickstart_path = utils.find_kickstart(g.kickstart)
if kickstart_path and os.path.exists(kickstart_path):
# the input is an *actual* file, hence we have to copy it
@@ -141,8 +139,7 @@ class BootSync:
try:
self.copyfile(g.kickstart, dest)
except:
- utils.set_error("err_kickstart2")
- raise Exception, "error"
+ raise CobblerException("err_kickstart2")
def build_trees(self):
"""
@@ -151,12 +148,12 @@ class BootSync:
configured IP or MAC address. Also build a parallel 'xeninfo' tree
for xen-net-install info.
"""
- self.sync_log("building trees...")
+ self.sync_log(cobbler_msg.lookup("sync_buildtree"))
# create pxelinux.cfg under tftpboot
# and file for each MAC or IP (hex encoded 01-XX-XX-XX-XX-XX-XX)
for d in self.distros:
- self.sync_log("processing distro: %s" % d.name)
+ self.sync_log(cobbler_msg.lookup("sync_processing") % d.name)
# TODO: add check to ensure all distros have profiles (=warning)
filename = os.path.join(self.settings.tftpboot,"distros",d.name)
d.kernel_options = self.blend_kernel_options((
@@ -166,7 +163,7 @@ class BootSync:
self.write_distro_file(filename,d)
for p in self.profiles:
- self.sync_log("processing profile: %s" % p.name)
+ self.sync_log(cobbler_msg.lookup("sync_processing") % p.name)
# TODO: add check to ensure all profiles have distros (=error)
# TODO: add check to ensure all profiles have systems (=warning)
filename = os.path.join(self.settings.tftpboot,"profiles",p.name)
@@ -180,15 +177,13 @@ class BootSync:
self.write_profile_file(filename,p)
for system in self.systems:
- self.sync_log("processing system: %s" % system.name)
+ self.sync_log(cobbler_msg.lookup("sync_processing") % system.name)
profile = self.profiles.find(system.profile)
if profile is None:
- utils.set_error("orphan_profile2")
- raise Exception, "error"
+ raise CobblerException("orphan_profile2")
distro = self.distros.find(profile.distro)
if distro is None:
- utils.set_error("orphan_system2")
- raise Exception, "error"
+ raise CobblerException("orphan_system2")
f1 = self.get_pxelinux_filename(system.name)
f2 = os.path.join(self.settings.tftpboot, "pxelinux.cfg", f1)
f3 = os.path.join(self.settings.tftpboot, "systems", f1)
@@ -210,8 +205,7 @@ class BootSync:
elif utils.is_mac(name):
return "01-" + "-".join(name.split(":")).lower()
else:
- utils.set_error(m("err_resolv" % name))
- raise Exception, "error"
+ raise CobblerException("err_resolv", name)
def write_pxelinux_file(self,filename,system,profile,distro):
@@ -223,7 +217,7 @@ class BootSync:
kernel_path = os.path.join("/images",distro.name,os.path.basename(distro.kernel))
initrd_path = os.path.join("/images",distro.name,os.path.basename(distro.initrd))
kickstart_path = profile.kickstart
- self.sync_log("writing: %s" % filename)
+ self.sync_log(cobbler_msg.lookup("writing") % filename)
self.sync_log("---------------------------------")
fd = self.open_file(filename,"w+")
self.tee(fd,"default linux\n")
@@ -309,7 +303,7 @@ class BootSync:
"""
For dry_run support: potentially copy a file.
"""
- self.sync_log("copy %s to %s" % (src,dst))
+ self.sync_log(cobbler_msg.lookup("copying") % (src,dst))
if self.dry_run:
return True
return shutil.copyfile(src,dst)
@@ -318,7 +312,7 @@ class BootSync:
"""
For dry_run support: potentially copy a file.
"""
- self.sync_log("copy %s to %s" % (src,dst))
+ self.sync_log(cobbler_msg.lookup("copying") % (src,dst))
if self.dry_run:
return True
return shutil.copy(src,dst)
@@ -327,7 +321,7 @@ class BootSync:
"""
For dry_run support: potentially delete a tree.
"""
- self.sync_log("removing dir %s" % (path))
+ self.sync_log(cobbler_msg.lookup("removing") % (path))
if self.dry_run:
return True
return shutil.rmtree(path,ignore)
@@ -336,7 +330,7 @@ class BootSync:
"""
For dry_run support: potentially make a directory.
"""
- self.sync_log("creating dir %s" % (path))
+ self.sync_log(cobbler_msg.lookup("mkdir") % (path))
if self.dry_run:
return True
return os.mkdir(path,mode)
@@ -348,7 +342,7 @@ class BootSync:
"""
if self.verbose:
if self.dry_run:
- print "dry_run | %s" % message
+ print cobbler_msg.lookup("dry_run") % message
else:
print message