def __run_post_scripts(self): msger.info("Running scripts ...") if os.path.exists(self._instroot + "/tmp"): shutil.rmtree(self._instroot + "/tmp") os.mkdir(self._instroot + "/tmp", 0755) for s in kickstart.get_post_scripts(self.ks): (fd, path) = tempfile.mkstemp(prefix="ks-script-", dir=self._instroot + "/tmp") s.script = s.script.replace("\r", "") os.write(fd, s.script) os.close(fd) os.chmod(path, 0700) env = self._get_post_scripts_env(s.inChroot) if not s.inChroot: env["INSTALL_ROOT"] = self._instroot env["IMG_NAME"] = self._name preexec = None script = path else: preexec = self._chroot script = "/tmp/" + os.path.basename(path) try: try: subprocess.call( [s.interp, script], preexec_fn=preexec, env=env, stdout=sys.stdout, stderr=sys.stderr ) except OSError, (err, msg): raise CreatorError("Failed to execute %%post script " "with '%s' : %s" % (s.interp, msg)) finally: os.unlink(path)
def __run_post_scripts(self): msger.info("Running scripts ...") if os.path.exists(self._instroot + "/tmp"): shutil.rmtree(self._instroot + "/tmp") os.mkdir (self._instroot + "/tmp", 0755) for s in kickstart.get_post_scripts(self.ks): (fd, path) = tempfile.mkstemp(prefix = "ks-script-", dir = self._instroot + "/tmp") s.script = s.script.replace("\r", "") os.write(fd, s.script) os.close(fd) os.chmod(path, 0700) env = self._get_post_scripts_env(s.inChroot) if not s.inChroot: env["INSTALL_ROOT"] = self._instroot env["IMG_NAME"] = self._name preexec = None script = path else: preexec = self._chroot script = "/tmp/" + os.path.basename(path) try: try: subprocess.call([s.interp, script], preexec_fn = preexec, env = env, stdout = sys.stdout, stderr = sys.stderr) except OSError, (err, msg): raise CreatorError("Failed to execute %%post script " "with '%s' : %s" % (s.interp, msg)) finally: os.unlink(path)
def __run_post_scripts(self): msger.info("Running post scripts ...") if os.path.exists(self._instroot + "/tmp"): shutil.rmtree(self._instroot + "/tmp") os.mkdir (self._instroot + "/tmp", 1777) for s in kickstart.get_post_scripts(self.ks): (fd, path) = tempfile.mkstemp(prefix = "ks-script-", dir = self._instroot + "/tmp") s.interp = "/bin/bash" s.script = s.script.replace("\r", "") os.write(fd, s.script) os.close(fd) os.chmod(path, 0700) env = self._get_post_scripts_env(s.inChroot) if not s.inChroot: env["INSTALL_ROOT"] = self._instroot env["IMG_NAME"] = self._name preexec = None script = path else: preexec = self._chroot script = "/tmp/" + os.path.basename(path) try: try: retcode = subprocess.call([s.interp, script], preexec_fn = preexec, env = env, stdout = sys.stdout, stderr = sys.stderr) # exit status 0 is False if retcode: if s.errorOnFail: msger.info("Script returned with non zero status, failing.") raise CreatorError("Failed to execute %%pre script with %s" % s.interp) else: msger.info("Script returned with non zero status, ignoring.") except OSError, (err, msg): raise CreatorError("Failed to execute %%post script " "with '%s' : %s" % (s.interp, msg)) finally: os.unlink(path) kill_processes(self._instroot)
def __run_post_scripts(self): msger.info("Running scripts ...") if os.path.exists(self._instroot + "/tmp"): shutil.rmtree(self._instroot + "/tmp") os.mkdir (self._instroot + "/tmp", 0755) for s in kickstart.get_post_scripts(self.ks): (fd, path) = tempfile.mkstemp(prefix = "ks-script-", dir = self._instroot + "/tmp") s.script = s.script.replace("\r", "") os.write(fd, s.script) os.close(fd) os.chmod(path, 0700) env = self._get_post_scripts_env(s.inChroot) if 'PATH' not in env: env['PATH'] = '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin' if not s.inChroot: preexec = None script = path else: preexec = self._chroot script = "/tmp/" + os.path.basename(path) try: try: p = subprocess.Popen([s.interp, script], preexec_fn = preexec, env = env, stdout = subprocess.PIPE, stderr = subprocess.STDOUT) for entry in p.communicate()[0].splitlines(): msger.info(entry) except OSError, (err, msg): raise CreatorError("Failed to execute %%post script " "with '%s' : %s" % (s.interp, msg)) finally: os.unlink(path)