]> scripts.mit.edu Git - wizard.git/blobdiff - wizard/command/mass_upgrade.py
Implement MediaWiki scaffolding for auto conflict resolution; untested.
[wizard.git] / wizard / command / mass_upgrade.py
index 8042cb2ef4ebebdc0907c888d25e47b0f72d1c51..a2ccd367976fee0d31b645aa1c5a88aa4c7ccb1c 100644 (file)
@@ -9,7 +9,7 @@ import time
 import itertools
 
 import wizard
-from wizard import deploy, util, shell, sset, command
+from wizard import deploy, util, scripts, shell, sset, command
 
 def main(argv, baton):
     options, args = parse_args(argv, baton)
@@ -23,7 +23,7 @@ def main(argv, baton):
     errors = {}
     i = 0
     merge_fails = [0] # otherwise I get a UnboundLocalError later on when I increment
-    deploys = deploy.parse_install_lines(app, options.versions_path)
+    deploys = deploy.parse_install_lines(app, options.versions_path, user=options.user)
     requested_deploys = itertools.islice(deploys, options.limit)
     for i, d in enumerate(requested_deploys, 1):
         # check if we want to punt due to --limit
@@ -60,7 +60,17 @@ def main(argv, baton):
                     name = e.name
                     if name not in errors: errors[name] = []
                     errors[name].append(d)
-                    logging.error("%s in [%04d] %s" % (name, i, d.location))
+                    if name == "WebVerificationError":
+                        try:
+                            host, path = scripts.get_web_host_and_path(d.location)
+                            url = "http://%s%s" % (host, path)
+                        except ValueError:
+                            url = d.location
+                        # This should actually be a warning, but
+                        # it's a really common error
+                        logging.info("Could not verify application at %s" % url)
+                    else:
+                        logging.error("%s in [%04d] %s" % (name, i, d.location))
                     errors_log.write("%s\n" % d.location)
             return (on_success, on_error)
         on_success, on_error = make_on_pair(d, i)
@@ -91,6 +101,7 @@ the scripts AFS patch."""
     baton.push(parser ,"limit")
     baton.push(parser, "versions_path")
     baton.push(parser, "srv_path")
+    baton.push(parser, "user")
     parser.add_option("--force", dest="force", action="store_true",
             default=False, help="Force running upgrade even if it's already at latest version.")
     options, args, = parser.parse_all(argv)