From 354b945ba97161ef270782994561b2b269ae7762 Mon Sep 17 00:00:00 2001 From: JF Ding Date: Wed, 7 Sep 2011 17:19:15 +0900 Subject: [PATCH] postpone the fetch repomd and cleanup configmgr the previous implementation to fetch repomd is too early, it's very very bad, fixed it and the there are many unused and ugly methed in configmgr also, cleaned them up --- mic/configmgr.py | 82 +++++----------------------------------- mic/imager/baseimager.py | 2 - plugins/imager/fs_plugin.py | 6 +-- plugins/imager/livecd_plugin.py | 6 +-- plugins/imager/liveusb_plugin.py | 7 +--- plugins/imager/loop_plugin.py | 6 +-- plugins/imager/raw_plugin.py | 6 +-- 7 files changed, 20 insertions(+), 95 deletions(-) diff --git a/mic/configmgr.py b/mic/configmgr.py index e6b077d..0fbdb50 100644 --- a/mic/configmgr.py +++ b/mic/configmgr.py @@ -20,10 +20,10 @@ import os, sys import ConfigParser -from mic.utils import misc -from mic.utils import errors from mic import kickstart from mic import msger +from mic.utils import misc +from mic.utils import errors DEFAULT_GSITECONF='/etc/mic/mic.conf' @@ -36,7 +36,7 @@ DEFAULT_CREATE = { "cachedir": DEFAULT_CACHEDIR, "outdir": DEFAULT_OUTDIR, "arch": None, - "pkgmgr": "zypp", + "pkgmgr": "yum", "name": "output", "ksfile": None, "ks": None, @@ -50,7 +50,7 @@ class ConfigMgr(object): self.create = {} self.convert = {} self.chroot = {} - self.ksconf = None + self.__ksconf = None self.siteconf = None # initial create @@ -62,8 +62,6 @@ class ConfigMgr(object): if not self.siteconf: self._siteconf = DEFAULT_GSITECONF - self._ksconf = ksconf - def __set_siteconf(self, siteconf): try: self.siteconf = siteconf @@ -75,10 +73,10 @@ class ConfigMgr(object): _siteconf = property(__get_siteconf, __set_siteconf) def __set_ksconf(self, ksconf): - self.ksconf = ksconf + self.__ksconf = ksconf self.parse_kickstart(ksconf) def __get_ksconf(self): - return self.ksconf + return self.__ksconf _ksconf = property(__get_ksconf, __set_ksconf) def parse_siteconf(self, siteconf = None): @@ -112,74 +110,14 @@ class ConfigMgr(object): return ks = kickstart.read_kickstart(ksconf) - ksrepos = misc.get_repostrs_from_ks(ks) - - msger.info("Retrieving repo metadata:") - repometadata = misc.get_metadata_from_repos(ksrepos, self.create['cachedir']) - msger.raw(" DONE") self.create['ks'] = ks - self.create['repomd'] = repometadata self.create['name'] = os.path.splitext(os.path.basename(ksconf))[0] - def setProperty(self, key, value): - if not hasattr(self, key): - return False - - if key == 'ksconf': - self._ksconf = value - return True - - if key == 'siteconf': - self._siteconf = value - return True - - return setattr(self, key, value) - - def getProperty(self, key): - if not hasattr(self, key): - return None - - return getattr(self, key) - - def setCategoryProperty(self, category, key, value): - if not hasattr(self, category): - raise errors.ConfigError("Error to parse %s", category) - categ = getattr(self, category) - categ[key] = value - - def getCategoryProperty(self, category, key): - if not hasattr(self, category): - raise errors.ConfigError("Error to parse %s", category) - categ = getattr(self, category) - return categ[key] - - def getCreateOption(self, key): - if not self.create.has_key(key): - raise errors.ConfigError("Attribute Error: not such attribe %s" % key) - return self.create[key] - - def getConvertOption(self, key): - if not self.convert.has_key(key): - raise errors.ConfigError("Attribute Error: not such attribe %s" % key) - return self.convert[key] - - def getChrootOption(self, key): - if not self.chroot.has_key(key): - raise errors.ConfigError("Attribute Error: not such attribe %s" % key) - return self.chroot[key] - - def dumpAllConfig(self): - # just for debug - msger.debug("create options:\n") - for key in self.create.keys(): - msger.debug("%-8s= %s\n" % (key, self.create[key])) - msger.debug("convert options:\n") - for key in self.convert.keys(): - msger.debug("%-8s= %s\n" % (key, self.ccnvert[key])) - msger.debug("chroot options:\n") - for key in self.chroot.keys(): - msger.debug("%-8s= %s\n" % (key, self.chroot[key])) + msger.info("Retrieving repo metadata:") + ksrepos = misc.get_repostrs_from_ks(ks) + self.create['repomd'] = misc.get_metadata_from_repos(ksrepos, self.create['cachedir']) + msger.raw(" DONE") def getConfigMgr(): return configmgr diff --git a/mic/imager/baseimager.py b/mic/imager/baseimager.py index 2a2c4e5..2f0f31f 100644 --- a/mic/imager/baseimager.py +++ b/mic/imager/baseimager.py @@ -63,7 +63,6 @@ class BaseImageCreator(object): if createopts: # A pykickstart.KickstartParser instance.""" self.ks = createopts['ks'] - self.repometadata = createopts['repomd'] # A name for the image.""" self.name = createopts['name'] @@ -80,7 +79,6 @@ class BaseImageCreator(object): else: self.ks = None - self.repometadata = None self.name = "target" self.tmpdir = "/var/tmp/mic" self.cachedir = "/var/tmp/mic/cache" diff --git a/plugins/imager/fs_plugin.py b/plugins/imager/fs_plugin.py index f6c7d3f..5594cc1 100644 --- a/plugins/imager/fs_plugin.py +++ b/plugins/imager/fs_plugin.py @@ -39,14 +39,12 @@ class FsPlugin(ImagerPlugin): if not args: raise errors.Usage("More arguments needed") - if len(args) == 1: - ksconf = args[0] - else: + if len(args) != 1: raise errors.Usage("Extra arguments given") cfgmgr = configmgr.getConfigMgr() createopts = cfgmgr.create - cfgmgr.setProperty("ksconf", ksconf) + cfgmgr._ksconf = args[0] # try to find the pkgmgr pkgmgr = None diff --git a/plugins/imager/livecd_plugin.py b/plugins/imager/livecd_plugin.py index 56610d6..c5032af 100644 --- a/plugins/imager/livecd_plugin.py +++ b/plugins/imager/livecd_plugin.py @@ -40,14 +40,12 @@ class LiveCDPlugin(ImagerPlugin): if not args: raise errors.Usage("More arguments needed") - if len(args) == 1: - ksconf = args[0] - else: + if len(args) != 1: raise errors.Usage("Extra arguments given") cfgmgr = configmgr.getConfigMgr() - cfgmgr.setProperty("ksconf", ksconf) creatoropts = cfgmgr.create + cfgmgr._ksconf = args[0] if creatoropts['arch'] and creatoropts['arch'].startswith('arm'): msger.warning('livecd cannot support arm images, Quit') diff --git a/plugins/imager/liveusb_plugin.py b/plugins/imager/liveusb_plugin.py index d230e18..6c4617b 100644 --- a/plugins/imager/liveusb_plugin.py +++ b/plugins/imager/liveusb_plugin.py @@ -42,15 +42,12 @@ class LiveUSBPlugin(ImagerPlugin): if not args: raise errors.Usage("More arguments needed") - if len(args) == 1: - ksconf = args[0] - else: + if len(args) != 1: raise errors.Usage("Extra arguments given") - cfgmgr = configmgr.getConfigMgr() creatoropts = cfgmgr.create - cfgmgr.setProperty("ksconf", args[0]) + cfgmgr._ksconf = args[0] if creatoropts['arch'] and creatoropts['arch'].startswith('arm'): msger.warning('liveusb cannot support arm images, Quit') diff --git a/plugins/imager/loop_plugin.py b/plugins/imager/loop_plugin.py index b2fe531..b19aed4 100644 --- a/plugins/imager/loop_plugin.py +++ b/plugins/imager/loop_plugin.py @@ -45,9 +45,7 @@ class LoopPlugin(ImagerPlugin): if not args: raise errors.Usage("More arguments needed") - if len(args) == 1: - ksconf = args[0] - else: + if len(args) != 1: raise errors.Usage("Extra arguments given") try: @@ -60,7 +58,7 @@ class LoopPlugin(ImagerPlugin): cfgmgr = configmgr.getConfigMgr() creatoropts = cfgmgr.create - cfgmgr.setProperty("ksconf", ksconf) + cfgmgr._ksconf = args[0] # try to find the pkgmgr pkgmgr = None diff --git a/plugins/imager/raw_plugin.py b/plugins/imager/raw_plugin.py index 995d271..5c4b1e3 100644 --- a/plugins/imager/raw_plugin.py +++ b/plugins/imager/raw_plugin.py @@ -43,14 +43,12 @@ class RawPlugin(ImagerPlugin): if not args: raise errors.Usage("More arguments needed") - if len(args) == 1: - ksconf = args[0] - else: + if len(args) != 1: raise errors.Usage("Extra arguments given") cfgmgr = configmgr.getConfigMgr() creatoropts = cfgmgr.create - cfgmgr.setProperty("ksconf", ksconf) + cfgmgr._ksconf = args[0] # try to find the pkgmgr pkgmgr = None -- 2.7.4