From 7c274b35552e631d7b5359b13192e7463eace645 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Wed, 31 Jul 2013 09:11:08 -0400 Subject: Yum: record helper location in class variable so it's only detected once --- src/lib/Bcfg2/Server/Plugins/Packages/Yum.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/lib/Bcfg2/Server/Plugins/Packages/Yum.py') diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py index 48c5b1f65..9ec7ac122 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py @@ -262,6 +262,8 @@ class YumCollection(Collection): .. private-include: _add_gpg_instances, _get_pulp_consumer """ + _helper = None + #: Options that are included in the [packages:yum] section of the #: config but that should not be included in the temporary #: yum.conf we write out @@ -280,7 +282,6 @@ class YumCollection(Collection): #: external commands self.cmd = Executor() - self._helper = None if self.use_yum: #: Define a unique cache file for this collection to use #: for cached yum metadata -- cgit v1.2.3-1-g7c22 From 8b0ee3a67064bf810b3e6621ce128853eaf8a6f0 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Thu, 1 Aug 2013 08:51:34 -0400 Subject: Yum: Fixed class-scope variable assignments --- src/lib/Bcfg2/Server/Plugins/Packages/Yum.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/lib/Bcfg2/Server/Plugins/Packages/Yum.py') diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py index 9ec7ac122..b26fb6870 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py @@ -317,7 +317,8 @@ class YumCollection(Collection): self.logger.error("Could not create Pulp consumer " "cert directory at %s: %s" % (certdir, err)) - self.pulp_cert_set = PulpCertificateSet(certdir, self.fam) + self.__class__.pulp_cert_set = PulpCertificateSet(certdir, + self.fam) @property def disableMetaData(self): @@ -353,15 +354,16 @@ class YumCollection(Collection): the default location. """ if not self._helper: try: - self._helper = self.setup.cfp.get("packages:yum", "helper") + self.__class__._helper = self.setup.cfp.get("packages:yum", + "helper") except (ConfigParser.NoOptionError, ConfigParser.NoSectionError): # first see if bcfg2-yum-helper is in PATH try: self.debug_log("Checking for bcfg2-yum-helper in $PATH") self.cmd.run(['bcfg2-yum-helper']) - self._helper = 'bcfg2-yum-helper' + self.__class__._helper = 'bcfg2-yum-helper' except OSError: - self._helper = "/usr/sbin/bcfg2-yum-helper" + self.__class__._helper = "/usr/sbin/bcfg2-yum-helper" return self._helper @property -- cgit v1.2.3-1-g7c22 From 9c86ddc5cdd166ef416b7fa2fab6f883f70e4a66 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Thu, 1 Aug 2013 09:15:08 -0400 Subject: Yum: suppress warning about class variable assignment --- src/lib/Bcfg2/Server/Plugins/Packages/Yum.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/lib/Bcfg2/Server/Plugins/Packages/Yum.py') diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py index b26fb6870..4187f2812 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py @@ -353,6 +353,7 @@ class YumCollection(Collection): forking, but apparently not); finally we check in /usr/sbin, the default location. """ if not self._helper: + # pylint: disable=W0212 try: self.__class__._helper = self.setup.cfp.get("packages:yum", "helper") @@ -364,6 +365,7 @@ class YumCollection(Collection): self.__class__._helper = 'bcfg2-yum-helper' except OSError: self.__class__._helper = "/usr/sbin/bcfg2-yum-helper" + # pylint: enable=W0212 return self._helper @property -- cgit v1.2.3-1-g7c22 From e1f045ff3c56b09ff06e11e6d4f9677bf63d051f Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Mon, 5 Aug 2013 13:44:57 -0400 Subject: Yum: better errors when yum helper output isn't valid JSON --- src/lib/Bcfg2/Server/Plugins/Packages/Yum.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/lib/Bcfg2/Server/Plugins/Packages/Yum.py') diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py index 4187f2812..66f8e9dbe 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py @@ -946,9 +946,14 @@ class YumCollection(Collection): try: return json.loads(result.stdout) except ValueError: - err = sys.exc_info()[1] - self.logger.error("Packages: error reading bcfg2-yum-helper " - "output: %s" % err) + if result.stdout: + err = sys.exc_info()[1] + self.logger.error("Packages: Error reading bcfg2-yum-helper " + "output: %s" % err) + self.logger.error("Packages: bcfg2-yum-helper output: %s" % + result.stdout) + else: + self.logger.error("Packages: No bcfg2-yum-helper output") raise def setup_data(self, force_update=False): -- cgit v1.2.3-1-g7c22