[aegir] Upgrading from alpha7 to alpha13 fails

Tim Wood tim at buchbinder.org
Tue Sep 14 23:31:11 EST 2010


I've narrowed down the issue we are having with this upgrade, but I don't
know the best way to fix the issue to successfully upgrade.  The errors we
are getting are related to "hosting_update_6009" and
"hosting_web_server_update_6002".  I've attached the log, without
debugging/verbose.

What we believe is happening is the hosting_update_6009 function queries the
database (SELECT) for some table columns (port, restart_cmd) in
hosting_service which do NOT exist, yet.  This is done on line 271 in
hosting.install:

$server = hosting_context_load('@server_master');

The hosting_web_server_update_6002 function is also querying the database
(UPDATE) for unknown columns.  This is done on line 62 in
hosting_web_server.install:

db_query("UPDATE {hosting_service} SET restart_cmd = '%s', port = 80 WHERE
nid=%d AND service='http' AND type = 'apache'", $obj->restart_cmd,
$obj->nid);

The reason these columns don't exist yet is because they are part of another
upgrade function, hosting_server_update_6003.  In the log it looks like
hosting_update_6009 runs BEFORE hosting_server_update_6003, which explains
why the columns aren't available at that time.  However,
hosting_web_server_update_6002 appears to run AFTER
hosting_server_update_6003, but is still complaining about unknown columns.
 Help!

I wasn't sure which Aegir component is at fault here, so I'm posting this to
the new user mailing list as well as the G.D.O discussions here:
http://groups.drupal.org/node/93279

Thanks,
-Tim

P.S. I believe user hozt had the same issue when upgrading to alpha10 here:
http://groups.drupal.org/node/86354#comment-270034.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.aegirproject.org/pipermail/aegir/attachments/20100914/53da12af/attachment-0001.htm>
-------------- next part --------------
aegir at HOST:~/platforms/hostmaster-0.4-alpha7$ $DRUSH hostmaster-migrate $AEGIR_DOMAIN $DRUPAL_DIR
Provision configuration path /var/aegir/config/server_master does not exist.                                               [warning]
Webserver custom configuration path /var/aegir/config/server_master/apache/conf.d does not exist.                          [warning]
Webserver platform configuration path /var/aegir/config/server_master/apache/platform.d does not exist.                    [warning]
Webserver virtual host configuration path /var/aegir/config/server_master/apache/vhost.d does not exist.                   [warning]
Project information for drupal retrieved.                                                                                  [ok]
drupal downloaded from http://ftp.drupal.org/files/projects/drupal-6.19.tar.gz.                                            [ok]
hostmaster downloaded from http://files.aegirproject.org/hostmaster-0.4-alpha13.tgz.                                       [ok]
Found makefile: hostmaster.make                                                                                            [ok]
Project information for admin_menu retrieved.                                                                              [ok]
Project information for install_profile_api retrieved.                                                                     [ok]
Project information for jquery_ui retrieved.                                                                               [ok]
Project information for modalframe retrieved.                                                                              [ok]
admin_menu downloaded from http://ftp.drupal.org/files/projects/admin_menu-6.x-1.5.tar.gz.                                 [ok]
install_profile_api downloaded from http://ftp.drupal.org/files/projects/install_profile_api-6.x-2.1.tar.gz.               [ok]
jquery_ui downloaded from http://ftp.drupal.org/files/projects/jquery_ui-6.x-1.3.tar.gz.                                   [ok]
modalframe downloaded from http://ftp.drupal.org/files/projects/modalframe-6.x-1.6.tar.gz.                                 [ok]
jquery_ui downloaded from http://jquery-ui.googlecode.com/files/jquery.ui-1.6.zip.                                         [ok]
This command will replace your crontab entry. continue? (y/n): y
No hook functions were found for hostmaster-pause.                                                                         [warning]
Available drush_invoke() hooks for hostmaster-pause:                                                                       [warning]
drush_core_hostmaster_pause_validate
drush_db_hostmaster_pause_validate
drush_drush_make_hostmaster_pause_validate
drush_drush_make_d_o_hostmaster_pause_validate
drush_example_hostmaster_pause_validate
drush_hosting_hostmaster_pause_validate
drush_hosting_alias_hostmaster_pause_validate
drush_hosting_client_hostmaster_pause_validate
drush_hosting_clone_hostmaster_pause_validate
drush_hosting_db_server_hostmaster_pause_validate
drush_hosting_migrate_hostmaster_pause_validate
drush_hosting_package_hostmaster_pause_validate
drush_hosting_platform_hostmaster_pause_validate
drush_hosting_server_hostmaster_pause_validate
drush_hosting_site_hostmaster_pause_validate
drush_hosting_ssl_hostmaster_pause_validate
drush_hosting_web_server_hostmaster_pause_validate
drush_http_hostmaster_pause_validate
drush_pm_hostmaster_pause_validate
drush_provision_hostmaster_pause_validate
drush_provision_backupmigrate_hostmaster_pause_validate
drush_provision_drupal_hostmaster_pause_validate
drush_search_hostmaster_pause_validate
drush_site_install_hostmaster_pause_validate
drush_sitealias_hostmaster_pause_validate
drush_sql_hostmaster_pause_validate
drush_upgrade_hostmaster_pause_validate
drush_variable_hostmaster_pause_validate
drush_watchdog_hostmaster_pause_validate
drush_core_pre_hostmaster_pause
drush_db_pre_hostmaster_pause
drush_drush_make_pre_hostmaster_pause
drush_drush_make_d_o_pre_hostmaster_pause
drush_example_pre_hostmaster_pause
drush_hosting_pre_hostmaster_pause
drush_hosting_alias_pre_hostmaster_pause
drush_hosting_client_pre_hostmaster_pause
drush_hosting_clone_pre_hostmaster_pause
drush_hosting_db_server_pre_hostmaster_pause
drush_hosting_migrate_pre_hostmaster_pause
drush_hosting_package_pre_hostmaster_pause
drush_hosting_platform_pre_hostmaster_pause
drush_hosting_server_pre_hostmaster_pause
drush_hosting_site_pre_hostmaster_pause
drush_hosting_ssl_pre_hostmaster_pause
drush_hosting_web_server_pre_hostmaster_pause
drush_http_pre_hostmaster_pause
drush_pm_pre_hostmaster_pause
drush_provision_pre_hostmaster_pause
drush_provision_backupmigrate_pre_hostmaster_pause
drush_provision_drupal_pre_hostmaster_pause
drush_search_pre_hostmaster_pause
drush_site_install_pre_hostmaster_pause
drush_sitealias_pre_hostmaster_pause
drush_sql_pre_hostmaster_pause
drush_upgrade_pre_hostmaster_pause
drush_variable_pre_hostmaster_pause
drush_watchdog_pre_hostmaster_pause
drush_core_hostmaster_pause
drush_db_hostmaster_pause
drush_drush_make_hostmaster_pause
drush_drush_make_d_o_hostmaster_pause
drush_example_hostmaster_pause
drush_hosting_hostmaster_pause
drush_hosting_alias_hostmaster_pause
drush_hosting_client_hostmaster_pause
drush_hosting_clone_hostmaster_pause
drush_hosting_db_server_hostmaster_pause
drush_hosting_migrate_hostmaster_pause
drush_hosting_package_hostmaster_pause
drush_hosting_platform_hostmaster_pause
drush_hosting_server_hostmaster_pause
drush_hosting_site_hostmaster_pause
drush_hosting_ssl_hostmaster_pause
drush_hosting_web_server_hostmaster_pause
drush_http_hostmaster_pause
drush_pm_hostmaster_pause
drush_provision_hostmaster_pause
drush_provision_backupmigrate_hostmaster_pause
drush_provision_drupal_hostmaster_pause
drush_search_hostmaster_pause
drush_site_install_hostmaster_pause
drush_sitealias_hostmaster_pause
drush_sql_hostmaster_pause
drush_upgrade_hostmaster_pause
drush_variable_hostmaster_pause
drush_watchdog_hostmaster_pause
drush_core_post_hostmaster_pause
drush_db_post_hostmaster_pause
drush_drush_make_post_hostmaster_pause
drush_drush_make_d_o_post_hostmaster_pause
drush_example_post_hostmaster_pause
drush_hosting_post_hostmaster_pause
drush_hosting_alias_post_hostmaster_pause
drush_hosting_client_post_hostmaster_pause
drush_hosting_clone_post_hostmaster_pause
drush_hosting_db_server_post_hostmaster_pause
drush_hosting_migrate_post_hostmaster_pause
drush_hosting_package_post_hostmaster_pause
drush_hosting_platform_post_hostmaster_pause
drush_hosting_server_post_hostmaster_pause
drush_hosting_site_post_hostmaster_pause
drush_hosting_ssl_post_hostmaster_pause
drush_hosting_web_server_post_hostmaster_pause
drush_http_post_hostmaster_pause
drush_pm_post_hostmaster_pause
drush_provision_post_hostmaster_pause
drush_provision_backupmigrate_post_hostmaster_pause
drush_provision_drupal_post_hostmaster_pause
drush_search_post_hostmaster_pause
drush_site_install_post_hostmaster_pause
drush_sitealias_post_hostmaster_pause
drush_sql_post_hostmaster_pause
drush_upgrade_post_hostmaster_pause
drush_variable_post_hostmaster_pause
drush_watchdog_post_hostmaster_pause
Created HOSTNAME database                                                                                          [success]
array_keys(): The first argument should be an array deploy.provision.inc:84                                                [warning]
array_merge(): Argument #2 is not an array deploy.provision.inc:88                                                         [warning]
Invalid argument supplied for foreach() deploy.provision.inc:89                                                            [warning]
Executing hosting_update_6008                                                                                              [success]
CREATE TABLE {hosting_context} (                                                                                           [success]
`nid` INT unsigned NOT NULL DEFAULT 0,
`name` VARCHAR(50) NOT NULL,
PRIMARY KEY (nid),
UNIQUE KEY name (name)
) /*!40100 DEFAULT CHARACTER SET UTF8 */
Executing hosting_update_6009                                                                                              [success]
WD php: Unknown column 'port' in 'field list'                                                                              [error]
query: SELECT port, restart_cmd, available FROM hosting_service WHERE vid = 3 AND type = 'mysql' in  on line .
WD php: Unknown column 'port' in 'field list'                                                                              [error]
query: SELECT port, restart_cmd, available FROM hosting_service WHERE vid = 3 AND type = 'apache' in  on line .
WD php: Table 'HOSTNAME.hosting_ip_addresses' doesn't exist                                                        [error]
query: SELECT ip_address FROM hosting_ip_addresses WHERE vid=3 in
/var/aegir/hostmaster-0.4-alpha13/profiles/hostmaster/modules/hosting/server/hosting.ip.inc on line 72.
Executing hosting_update_6010                                                                                              [success]
Executing hosting_update_6011                                                                                              [success]
Executing hosting_db_server_update_6001                                                                                    [success]
ALTER TABLE {hosting_db_server} DROP db_type                                                                               [success]
Executing hosting_package_update_6003                                                                                      [success]
UPDATE {hosting_package} h JOIN {node} n ON n.nid = h.nid SET status = 1 WHERE h.short_name = &#039;hostmaster&#039; OR    [success]
h.short_name = &#039;hostslave&#039;
Executing hosting_platform_update_6003                                                                                     [success]
ALTER TABLE {hosting_platform} ADD COLUMN makefile TEXT NOT NULL                                                           [success]
Executing hosting_server_update_6001                                                                                       [success]
ALTER TABLE {hosting_server} DROP drush_path                                                                               [success]
ALTER TABLE {hosting_server} DROP backup_path                                                                              [success]
Executing hosting_server_update_6002                                                                                       [success]
ALTER TABLE {hosting_server} DROP script_user                                                                              [success]
ALTER TABLE {hosting_server} DROP config_path                                                                              [success]
Executing hosting_server_update_6003                                                                                       [success]
ALTER TABLE {hosting_service} ADD `port` INT unsigned DEFAULT 0                                                            [success]
ALTER TABLE {hosting_service} ADD `restart_cmd` LONGTEXT DEFAULT NULL                                                      [success]
Executing hosting_server_update_6004                                                                                       [success]
CREATE TABLE {hosting_server_ip} (                                                                                         [success]
`vid` INT unsigned NOT NULL DEFAULT 0,
`nid` INT unsigned NOT NULL DEFAULT 0,
`ip_address` TINYTEXT NOT NULL,
INDEX vid (vid)
) /*!40100 DEFAULT CHARACTER SET UTF8 */
Executing hosting_server_update_6005                                                                                       [success]
ALTER TABLE {hosting_server_ip} RENAME TO {hosting_ip_addresses}                                                           [success]
Executing hosting_site_update_6005                                                                                         [success]
ALTER TABLE {hosting_site} DROP port                                                                                       [success]
Executing hosting_site_update_6006                                                                                         [success]
ALTER TABLE {hosting_site} DROP `ssl`                                                                                      [success]
ALTER TABLE {hosting_site} DROP ssl_redirect                                                                               [success]
Executing hosting_web_server_update_6001                                                                                   [success]
ALTER TABLE {hosting_web_server} DROP web_group                                                                            [success]
Executing hosting_web_server_update_6002                                                                                   [success]
DROP TABLE {hosting_web_server}                                                                                            [success]
Unknown column &#039;port&#039; in &#039;field list&#039;                                                                  [error]
query: SELECT port, restart_cmd, available FROM hosting_service WHERE vid = 3 AND type = &#039;mysql&#039; in  on line .
Unknown column &#039;port&#039; in &#039;field list&#039;                                                                  [error]
query: SELECT port, restart_cmd, available FROM hosting_service WHERE vid = 3 AND type = &#039;apache&#039; in  on line .
Table &#039;HOSTNAME.hosting_ip_addresses&#039; doesn&#039;t exist                                                 [error]
query: SELECT ip_address FROM hosting_ip_addresses WHERE vid=3 in
/var/aegir/hostmaster-0.4-alpha13/profiles/hostmaster/modules/hosting/server/hosting.ip.inc on line 72.
An error occurred at function : drush_core_updatedb_batch_process                                                          [error]
'all' cache was cleared                                                                                                    [success]
An error occurred at function : drush_core_cache_clear                                                                     [error]
Finished performing updates.                                                                                               [ok]
An error occurred at function : drush_core_updatedb                                                                        [error]
An error occurred at function : drush_provision_drupal_post_provision_deploy                                               [error]
An error occurred at function : drush_provision_drupal_provision_migrate                                                   [error]
The following updates are pending:

 hosting module
 6008 - Add hosting_context table to map alias names.
 6009 - Fix the reference to the master server so that it no longer points at
 localhost.
 6010 - Add url aliases for the context names that are registered.
 6011 - Clients and packages were imported as belonging to the anonymous user.
 Reassign them to the admin user.


 hosting_db_server module
 6001 - Get rid of the db type value, it duplicates the service info


 hosting_package module
 6003 - The hostmaster andor hostslave profiles no longer need to be status 0
 as it prevents the main aegir site node from being edited. Instead,   just
 hide the hostmasterhostslave profiles in the site node form when  creating new
 sites. See #599758


 hosting_platform module
 6003 - Add the 'makefile' column.


 hosting_server module
 6001 - Drop the drush_path and backup_path columns which are no longer needed.
 6002 - Drop the script_user and config_path columns which are no longer
 needed.  Also remove hosting_service entries which are no longer relevant.
 6003 - Bring the port and restart command from hosting_web_server into
 hosting_service.
 6004 - Add the IP address table.
 6005 - Rename the IP address table so that sites can also use it.


 hosting_site module
 6005 - Port is no longer configured per site.
 6006 - Remove the ssl configuration which should be in a separate table.


 hosting_web_server module
 6001 - Remove the web_group field which now needs to be consistent between
 servers.
 6002 - Drop the web_server table as it is no longer needed..  Move the restart
 command value into it's new home in the service table.


Do you wish to run all pending updates? (y/n): y
An error occurred at function : drush_provision_hostmaster_migrate                                                         [error]


More information about the aegir mailing list