Some of the provision API is making it's move upstream, so we should switch to using the replacement functions.

So far only drush_log is in, but hopefully drush_set_error will make it in soon.

This will have the benefit of shrinking provision.inc , and removing our dependency on provision_errors.inc.

Moya:provision adrian$ grep -r provision_log * | wc
     117    1009   12918
Moya:provision adrian$ grep -r provision_set_error * | wc
      44     101    3499

The API for both of these functions were changed, as the drush_set_error function now also calls the logging system.
We have many places where we set the error, and then set the error message in the next line, so this is now done
with just one function call.

Changing how errors are logged is one of our first breaks with the 0.1 -> 0.2 communication layer. We will need to adjust the error handling code in hosting, but it will allow us to implement : http://drupal.org/node/275511.

IE: we can now map the errors generated to specific fields on the node the task is related to.

Comments

adrian’s picture

Instances of provision_set_error.

db_server/provision.mysql.inc:24:    provision_set_error(PROVISION_DB_ERROR);
db_server/provision.mysql.inc:33:      provision_set_error(PROVISION_DB_ERROR);
db_server/provision_mysql.drush.inc:22:   provision_set_error(PROVISION_DB_ERROR);
db_server/provision_mysql.drush.inc:39:    provision_set_error(PROVISION_DB_ERROR);
db_server/provision_mysql.drush.inc:59:   provision_set_error(PROVISION_DB_ERROR);
db_server/verify.provision.inc:15:      provision_set_error(PROVISION_DB_ERROR | PROVISION_FRAMEWORK_ERROR);
platform/backup.provision.inc:19:    provision_set_error(PROVISION_PERM_ERROR);
platform/backup.provision.inc:53:    provision_set_error(PROVISION_FRAMEWORK_ERROR);
platform/drupal_5_install.inc:123:      provision_set_error(PROVISION_SITE_INSTALLED);
platform/drupal_5_install.inc:129:    provision_set_error(PROVISION_FRAMEWORK_ERROR);
platform/drupal_5_install.inc:164:    provision_set_error(PROVISION_FRAMEWORK_ERROR);
platform/drupal_6_install.inc:156:      provision_set_error(PROVISION_SITE_INSTALLED);
platform/drupal_6_install.inc:162:    provision_set_error(PROVISION_FRAMEWORK_ERROR);
platform/drupal_6_install.inc:206:    provision_set_error(PROVISION_INSTALL_ERROR);
platform/drupal_6_install.inc:215:    provision_set_error(PROVISION_FRAMEWORK_ERROR);
platform/drupal_6_update.inc:34:        provision_set_error(PROVISION_INSTALL_ERROR);
platform/drupal_7_install.inc:165:      provision_set_error(PROVISION_SITE_INSTALLED);
platform/drupal_7_install.inc:220:    provision_set_error(PROVISION_INSTALL_ERROR);
platform/drupal_7_install.inc:232:    provision_set_error(PROVISION_FRAMEWORK_ERROR);
platform/drupal_7_update.inc:34:        provision_set_error(PROVISION_INSTALL_ERROR);
platform/drupal_7_update.inc:105:      provision_set_error('PROVISION_DB_ERROR');
platform/provision_drupal.drush.inc:50:    provision_set_error(PROVISION_FRAMEWORK_ERROR);
platform/provision_drupal.drush.inc:63:      provision_set_error(PROVISION_SITE_NOT_FOUND);
platform/provision_drupal.drush.inc:90:      provision_set_error(PROVISION_SITE_NOT_FOUND);
platform/provision_drupal.drush.inc:99:      provision_set_error(PROVISION_SITE_INSTALLED);
platform/provision_drupal.drush.inc:367:      provision_set_error('PROVISION_DB_ERROR');
provision.drush.inc:56:    provision_set_error(PROVISION_FRAMEWORK_ERROR);
provision.inc:216:function provision_set_error($error_code = 0) {
provision.inc:233:  return provision_set_error();
provision.inc:399:    provision_set_error(PROVISION_PERM_ERROR);
provision.inc:432:    provision_set_error(PROVISION_PERM_ERROR);
provision.inc:676:        provision_set_error($proc['code']);
provision.inc:681:      provision_set_error(PROVISION_FRAMEWORK_ERROR);
provision.path.inc:102:        provision_set_error($error_codes);
provision_errors.inc:13:* @see provision_set_error(), provision_get_error(), provision_cmp_error()
stats/provision_stats.module:14:    provision_set_error(PROVISION_SITE_NOT_FOUND);
web_server/provision_apache.drush.inc:69:      provision_set_error(PROVISION_WEB_ERROR);

Instances of provision_log.

Moya:provision adrian$ grep -rn provision_log *
db_server/backup.provision.inc:4:  provision_log("backup", "Generating mysql dump for $url.");
db_server/provision.mysql.inc:25:    provision_log('error', dt('Could not connect to the master database.'));
db_server/provision.mysql.inc:34:      provision_log('error', dt('Could not select the mysql database.'));
db_server/provision.mysql.inc:63:    provision_log("error", 
db_server/provision_mysql.drush.inc:23:   provision_log("error", "Database could not be created.");
db_server/provision_mysql.drush.inc:29:    provision_log("warning", "Could not GRANT user access.");
db_server/provision_mysql.drush.inc:36:    provision_log('success', dt('Created @name database', array("@name" => $db_name)));
db_server/provision_mysql.drush.inc:40:    provision_log("error", dt("Could not create @name database", array("@name" => $db_name)));
db_server/provision_mysql.drush.inc:52:    provision_log("notice", dt("Dropping database @dbname", array('@dbname' => $db_name)));
db_server/provision_mysql.drush.inc:54:      provision_log("warning", dt("Failed to drop database @dbname", array('@dbname' => $db_name)));
db_server/provision_mysql.drush.inc:60:   provision_log("error", "Database could not be destroyed.");
db_server/provision_mysql.drush.inc:64:  provision_log("notice", "Revoking privileges");
db_server/provision_mysql.drush.inc:67:      provision_log("warning", dt("Failed to revoke user privileges"));
db_server/provision_mysql.drush.inc:93:      provision_log("warning", dt("Failed to drop database @dbname", array('@dbname' => $test)));
db_server/provision_mysql.drush.inc:120:      provision_log("notice", sprintf("Importing database using command: mysql -u%s -p%s -h%s %s < %s", 
db_server/provision_mysql.drush.inc:123:        provision_log("error", dt("Database import failed"));
db_server/verify.provision.inc:16:      provision_log('error', dt('Unable to create new databases.'));
db_server/verify.provision.inc:19:      provision_log("message", dt('Mysql can create new databases.'));
platform/backup.provision.inc:18:    provision_log("Backup directory does not exist.");
platform/backup.provision.inc:48:  provision_log("backup", "Adding sites directory to $data[backup_file].gz");
platform/backup.provision.inc:52:    provision_log("error", "Could not back up sites directory for drupal");
platform/drupal_5_install.inc:97:    provision_log('message', t('Sent welcome mail to @client', array('@client' => $client_email)));
platform/drupal_5_install.inc:100:    provision_log('notice', t('Could not send welcome mail to @client', array('@client' => $client_email)));
platform/drupal_5_install.inc:102:  provision_log('message', t('Login url: !onetime', array('!onetime' => $onetime)));
platform/drupal_5_install.inc:124:      provision_log('error', st('Site is already installed'));
platform/drupal_5_install.inc:130:    provision_log('error', st('Config file could not be loaded'));
platform/drupal_5_install.inc:142:  provision_log("install", st("Installing Drupal schema"));
platform/drupal_5_install.inc:145:  provision_log("install", st("Loading @profile install profile", array("@profile" => $profile)));
platform/drupal_5_install.inc:168:    provision_log("success", st("Installing module : @module", array("@module" => $module)));
platform/drupal_5_update.inc:49:      provision_log('notice', pt('Updating module @module from schema version @start to schema version @max', array('@module' => $module, '@start' => $version - 1, '@max' => $max_version)));
platform/drupal_5_update.inc:68:      provision_log("notice", pt('No updates for @module module', array('@module' => $module)));
platform/drupal_6_install.inc:72:      provision_log('message', t('Sent welcome mail to @client', array('@client' => $client_email)));
platform/drupal_6_install.inc:75:      provision_log('notice', t('Could not send welcome mail to @client', array('@client' => $client_email)));
platform/drupal_6_install.inc:77:    provision_log('message', t('Login url: !onetime', array('!onetime' => $onetime)));
platform/drupal_6_install.inc:157:      provision_log('error', st('Site is already installed'));
platform/drupal_6_install.inc:163:    provision_log('error', st('Config file could not be loaded'));
platform/drupal_6_install.inc:168:  provision_log("install", st("Installing Drupal schema"));
platform/drupal_6_install.inc:171:  provision_log("install", st("Loading @profile install profile", array("@profile" => $profile)));
platform/drupal_6_install.inc:173:  provision_log("install", st("Installing translation : @locale", array("@locale" => $install_locale)));
platform/drupal_6_install.inc:207:    provision_log('error', t("Could not meet the requirements for installing the drupal profile"));
platform/drupal_6_install.inc:238:    provision_log("notice", t("Installed @module module.", 
platform/drupal_6_update.inc:35:        provision_log('error', pt( $module .' module can not be updated. Its schema version is '. $schema_version .'. Updates up to and including '. $last_removed .' have been removed in this release. In order to update '. $module .' module, you will first <a href="http://drupal.org/upgrade">need to upgrade</a> to the last version in which these updates were available.'));
platform/drupal_6_update.inc:58:        provision_log('notice', pt('Updating module @module from schema version @start to schema version @max', array('@module' => $module, '@start' => $version - 1, '@max' => $max_version)));
platform/drupal_6_update.inc:66:        provision_log('notice', pt('No updates for module @module', array('@module' => $module)));
platform/drupal_6_update.inc:82:    provision_log('notice', pt('No outstanding updates'));
platform/drupal_7_install.inc:78:      provision_log('message', t('Sent welcome mail to @client', array('@client' => $client_email)));
platform/drupal_7_install.inc:81:      provision_log('notice', t('Could not send welcome mail to @client', array('@client' => $client_email)));
platform/drupal_7_install.inc:83:    provision_log('message', t('Login url: !onetime', array('!onetime' => $onetime)));
platform/drupal_7_install.inc:166:      provision_log('error', st('Site is already installed'));
platform/drupal_7_install.inc:181:  provision_log("install", st("Installing Drupal schema"));
platform/drupal_7_install.inc:184:  provision_log("install", st("Loading @profile install profile", array("@profile" => $profile)));
platform/drupal_7_install.inc:186:  provision_log("install", st("Installing translation : @locale", array("@locale" => $install_locale)));
platform/drupal_7_install.inc:221:    provision_log('error', t("Could not meet the requirements for installing the drupal profile"));
platform/drupal_7_install.inc:231:    provision_log('error', t('Missing requirements'));
platform/drupal_7_install.inc:256:    provision_log("notice", t("Installed @module module.", 
platform/drupal_7_update.inc:35:        provision_log('error', pt( $module .' module can not be updated. Its schema version is '. $schema_version .'. Updates up to and including '. $last_removed .' have been removed in this release. In order to update '. $module .' module, you will first <a href="http://drupal.org/upgrade">need to upgrade</a> to the last version in which these updates were available.'));
platform/drupal_7_update.inc:58:        provision_log('notice', pt('Updating module @module from schema version @start to schema version @max', array('@module' => $module, '@start' => $version - 1, '@max' => $max_version)));
platform/drupal_7_update.inc:66:        provision_log('notice', pt('No updates for module @module', array('@module' => $module)));
platform/drupal_7_update.inc:82:    provision_log('notice', pt('No outstanding updates'));
platform/drupal_7_update.inc:107:    provision_log( ($info['success']) ? 'success' : 'error', $info['query']);
platform/drupal_clear.inc:8:provision_log('notice', t('Cleared all caches'));
platform/drupal_clear.inc:11:provision_log('notice', t('Rebuild node type cache'));
platform/drupal_clear.inc:14:provision_log('notice', t('Rebuild module cache'));
platform/drupal_clear.inc:17:provision_log('notice', t('Rebuild theme cache'));
platform/drupal_clear.inc:20:provision_log('notice', t('Rebuild node access cache'));
platform/drupal_clear.inc:23:provision_log('notice', t('Rebuild menu cache'));
platform/drupal_deploy.inc:15:provision_log('notice', 
platform/provision_drupal.drush.inc:51:    provision_log('error', dt('You need to specify the URL argument for this command'));
platform/provision_drupal.drush.inc:64:      provision_log("error", "Site could not be found.");
platform/provision_drupal.drush.inc:91:      provision_log("error", "Site has not been installed yet.");
platform/provision_drupal.drush.inc:100:      provision_log('error', dt('This site has already been installed.'));
platform/provision_drupal.drush.inc:137:  provision_log('notice', dt("Generate settings.php file"));
platform/provision_drupal.drush.inc:230:    provision_log('error', dt("Cannot find profiles directory"));
platform/provision_drupal.drush.inc:261:    provision_log('notice', dt('found install profile %name', array('%name' => $name)));
platform/provision_drupal.drush.inc:278:    provision_log("error", dt("Cannot find sites directory"));
platform/provision_drupal.drush.inc:369:    provision_log( ($info['success']) ? 'success' : 'error', $info['query']);
platform/verify.provision.inc:26:    provision_log('notice', dt("This platform is running @short_name @version", 
provision.drush.inc:55:    provision_log('error', 'You are running the provision script as the root user. Exiting');
provision.drush.inc:220:  provision_log('notice', dt("Generating drushrc.php file"));
provision.inc:63:      _provision_log_messages();
provision.inc:65:        provision_log('error', pt('An error occurred at function : @func', array('@func' => $func)));
provision.inc:79:        _provision_log_messages();
provision.inc:80:        provision_log('Rollback', "Changes for $func module have been rolled back.");
provision.inc:93:    provision_log('notice', "Initializing $name");
provision.inc:94:    _provision_log_messages();
provision.inc:102:        _provision_log_messages();
provision.inc:111: * Turn drupal_set_message errors into provision_log errors
provision.inc:113:function _provision_log_messages() {
provision.inc:121:        provision_log('warning', ereg_replace('/^warning: /', '', $error));  
provision.inc:124:        provision_log("error", ereg_replace('/^user warning: /', '', $error));  
provision.inc:127:        provision_log('error', $error);
provision.inc:287:function provision_log($type, $message) {
provision.inc:398:    provision_log('error', 'Site config file could not be written');
provision.inc:431:    provision_log('error', 'Platform config file could not be written');
provision.inc:666:  provision_log('command', dt('Running: @cmd', array('@cmd' => $cmd)));
provision.inc:673:        provision_log($log['type'], $log['message']);
provision.inc:682:      provision_log('error', dt("The command could not be executed succesfully (returned: !return, code: %code)", array("!return" => $proc['output'], "%code" =>  $proc['code'])));
provision.inc:814:    provision_log('notice', dt('Including platform specific file : @file', array('@file' => $match)));
provision.path.inc:93:        provision_log("message", dt($succeed_message, $tokens));      
provision.path.inc:100:          provision_log("error", dt($fail_message, $tokens));
provision.path.inc:107:          provision_log("warning", dt($fail_message, $tokens));
provision.path.inc:236:      provision_log("notice", sprintf("Running: tar -zxf %s -C %s", $path, $target));
stats/provision_stats.module:13:    provision_log("error", "Site has not been installed yet.");
web_server/provision_apache.drush.inc:42:  provision_log("Notice", dt("Generate virtual host configuration file."));
web_server/provision_apache.drush.inc:71:    provision_log(($cause_error) ? "error" : "warning", "Web server could not be restarted. Changes might not be available until this has been done.");
web_server/provision_apache.drush.inc:74:    provision_log('notice', dt('Apache has been restarted'));
adrian’s picture

Status: Active » Fixed

Handled most f these with a regexp.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

  • Commit 5e6c4ce on debian, dev-dns, dev-envobject, dev-koumbit, dev-log_directory, dev-migrate_aliases, dev-multiserver-install, dev-newhooks, dev-nginx, dev-platform_management, dev-ports, dev-purgebackup, dev-restore, dev-services, dev-simplerinstaller, dev-site_rename, dev-ssl, dev_716166_apache_conf, dev_dns, dev_server_verify, prod-koumbit, ssl, dev-ssl-ip-allocation-refactor, dev-1205458-move_sites_out_of_platforms, 7.x-3.x, dev-subdir-multiserver, 6.x-2.x-backports, dev-helmo-3.x authored by adrian:
    #374797 - move to drush_log and drush_set_error
    
    
  • Commit 0b4a298 on debian, dev-dns, dev-envobject, dev-koumbit, dev-log_directory, dev-migrate_aliases, dev-multiserver-install, dev-newhooks, dev-nginx, dev-platform_management, dev-ports, dev-purgebackup, dev-restore, dev-services, dev-simplerinstaller, dev-site_rename, dev-ssl, dev_716166_apache_conf, dev_dns, dev_server_verify, prod-koumbit, ssl, dev-ssl-ip-allocation-refactor, dev-1205458-move_sites_out_of_platforms, 7.x-3.x, dev-subdir-multiserver, 6.x-2.x-backports, dev-helmo-3.x authored by adrian:
    #374797 - move to drush_log and drush_set_error. Tackle all the...