Bug 1344202 - uptake monitoring better handling absence of partials. r=rail a=release DONTBUILD
authorMihai Tabara <mtabara@mozilla.com>
Thu, 09 Mar 2017 16:52:11 +0000
changeset 378951 2bbd7a57c79b244198273bb5348dba629af3e12a
parent 378950 865af782d3c9afa8f5f9fd0499ea94ac9dc063ca
child 378952 dd6cf0b21528034f95953aa6a9b4324fcadb1685
push id1419
push userjlund@mozilla.com
push dateMon, 10 Apr 2017 20:44:07 +0000
treeherdermozilla-release@5e6801b73ef6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersrail, release
bugs1344202
milestone53.0
Bug 1344202 - uptake monitoring better handling absence of partials. r=rail a=release DONTBUILD MozReview-Commit-ID: 9nj7qe5hWa9
testing/mozharness/scripts/release/uptake_monitoring.py
--- a/testing/mozharness/scripts/release/uptake_monitoring.py
+++ b/testing/mozharness/scripts/release/uptake_monitoring.py
@@ -72,18 +72,19 @@ class UptakeMonitoring(BaseScript, Virtu
         props = self.buildbot_config["properties"]
         for prop in ['tuxedo_server_url', 'version']:
             if props.get(prop):
                 self.info("Overriding %s with %s" % (prop, props[prop]))
                 self.config[prop] = props.get(prop)
             else:
                 self.warning("%s could not be found within buildprops" % prop)
                 return
-        partials = [v.strip() for v in props["partial_versions"].split(",")]
-        self.config["partial_versions"] = [v.split("build")[0] for v in partials]
+        if props.get('partial_versions'):
+            partials = [v.strip() for v in props["partial_versions"].split(",")]
+            self.config["partial_versions"] = [v.split("build")[0] for v in partials]
         self.config["platforms"] = [p.strip() for p in
                                     props["platforms"].split(",")]
 
     def _get_product_uptake(self, tuxedo_server_url, auth,
                             related_product, os):
         from redo import retry
         import requests
 
@@ -131,18 +132,18 @@ class UptakeMonitoring(BaseScript, Virtu
                 paths_platforms = set(info["paths"].keys())
                 platforms = enUS_platforms.intersection(paths_platforms)
 
                 for platform in platforms:
                     bouncer_platform = info["paths"].get(platform).get('bouncer-platform')
                     dl.append(self._get_product_uptake(tuxedo_server_url, auth,
                                                        related_product, bouncer_platform))
         # handle the partials as well
-        prev_versions = self.config["partial_versions"]
-        for product, info in self.config["partials"].iteritems():
+        prev_versions = self.config.get("partial_versions", [])
+        for product, info in self.config.get("partials", {}).iteritems():
             if info.get("check_uptake"):
                 product_template = info["product-name"]
                 for prev_version in prev_versions:
                     subs = {
                         "version": version,
                         "prev_version": prev_version
                     }
                     related_product = product_template % subs