def build(config, kickstart=[]): # Check for /etc/imagebuild if not os.path.exists("/etc/imagebuild"): os.makedirs("/etc/imagebuild") else: shutil.rmtree("/etc/imagebuild") os.makedirs("/etc/imagebuild") # recreate .conf file from config # and copy it to /etc/imagebuild/imagebuild.conf configstr = json.loads(config) with open("/etc/imagebuild/imagebuild.conf", "w") as f: f.write(configstr) if kickstart: fname = kickstart[0] ks = json.loads(kickstart[1]) with open("/etc/imagebuild/{0:s}".format(fname), "w") as f: f.write(ks) from image_builder.imagebuilder import ImageBuilder build = ImageBuilder() build.build() return
def build(self): util = Utilities() buildconfig = util.get_dict(self.buildconfig) isotype = buildconfig['default']['type'] if isotype != 'boot': ksstr = util.get_kickstart(buildconfig) #copy all KS files in the specified directory #of the KS file to /tmp dirname, fname = os.path.split(os.path.abspath(buildconfig[isotype]['config'])) for ksfile in glob.glob('{0:s}/*.ks'.format(os.path.abspath(dirname))): shutil.copyfile(ksfile,'/tmp/{0:s}'.format(os.path.split(ksfile)[1])) else: ksstr = None build = ImageBuilder(buildconfig, ksstr) logfile = build.getlogfile() print 'Initiating Build Process. See {0:s} for progress'.format(logfile) status = build.build() return status
def build(buildconfig, kickstart): logger = logging.getLogger('imagebuilder') logfile = getfilename() handler = myFileHandler(logfile,'w') formatter = logging.Formatter('%(asctime)s - %(message)s') handler.setFormatter(formatter) # replace the handler logger.handlers[0] = handler builder = ImageBuilder(json.loads(buildconfig), kickstart) # build task status = builder.build() # JSON dump of the log file logfile = builder.getlogfile() with open(logfile,'r') as f: logfile_str = json.dumps(f.read()) return [status, logfile_str]