The upgrade path is currently broken:

http://pastie.org/private/5riqtsjbsbv33vn9jqtasa

What seems to happen is after provision-save of the site, the drush alias for @hostmaster becomes a *server* context alias and not a *site* alias. We seem to see this happen occasionally elsewhere.

It might be related to http://git.aegirproject.org/?p=provision.git;a=commitdiff;h=0ae46243707c...

Comments

anarcat’s picture

omega8cc’s picture

Then also this commit looks connected to the broken upgrade issue: http://git.aegirproject.org/?p=provision.git;a=commitdiff;h=b50120f0aab1...

Anonymous’s picture

I don't see how that's related, all that commit can do is introduce Drush 4 compatability. I am only testing on 3.3.

omega8cc’s picture

Ah, I was already confused by broken upgrade with Drush 3.3 on Nginx and moving those (both) commits out and back in etc. Maybe it is not related, in fact.

Anonymous’s picture

Reverting this commit does indeed fix it as I thought it might

http://git.aegirproject.org/?p=provision.git;a=commit;h=0ae46243707c628a...

Now I need to understand why. I think it is something to do with us now only merging in options provided from cli, stdin etc if the alias name is @self. I tried to make it also do it if $name == '@hostmaster' but that didn't work either :s

Anonymous’s picture

Crap, this may not even be limited to the upgrade path for hostmaster, but for Migrate itself!

Tested on HEAD, a simple migrate of a site:

http://pastie.org/private/mde664nlw6cftmlliv2lpq

omega8cc’s picture

This commit breaks the context stuff completely, for example it creates hostmaster.alias.drushrc.php with contents looking like it was server_master.alias.drushrc.php just ending with admin_email record, like below:

$aliases['hostmaster'] = array (
  'context_type' => 'server',
  'server' => '@server_master',
  'remote_host' => 'localhost',
  'aegir_root' => '/var/aegir',
  'script_user' => 'aegir',
  'ip_addresses' =>
  array (
  ),
  'backup_path' => '/var/aegir/backups',
  'config_path' => '/var/aegir/config/self',
  'include_path' => '/var/aegir/config/includes',
  'master_url' => NULL,
  'admin_email' => 'admin@localhost',
);

It looks like the logic for if ($this->name == '@self') { is wrong.

I don't understand that patch enough but I believe you can't restrict the array using that if and still expect the rest will work.

omega8cc’s picture

Just tested it both with Drush 3.3 and Drush 5/HEAD - same result, the context is broken and the drush aliases are rewritten with server instead of site context. It still allows to install the hostmaster, but upgrade fails.

Anonymous’s picture

Status: Active » Closed (duplicate)

I reverted this: at the end of the day, this patch by unconed simply needs work as it breaks other stuff that is critical to function properly (Migrate).

I am marking this a duplicate and re-opening with #needswork the Cluster ticket #1016890: Create Server as cluster is broken after save, as that's what this patch tried to fix.

  • Commit 0a378dc on prod-koumbit, 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 by mig5:
    Revert "#1016890 reapply contributed patch for fixing infinite loop -...

  • mig5 committed 0a378dc on
    Revert "#1016890 reapply contributed patch for fixing infinite loop -...

  • mig5 committed 0a378dc on 7.x-3.x-1966886-context-to-entity
    Revert "#1016890 reapply contributed patch for fixing infinite loop -...

  • mig5 committed 0a378dc on 6.x-2.x-1995506-profile-option
    Revert "#1016890 reapply contributed patch for fixing infinite loop -...