GetValkyrie / valkyrie

Valkyrie is an opinionated local dev stack that makes features/git based Drupal development easy.
http://www.getvalkyrie.com
GNU General Public License v3.0
45 stars 11 forks source link

drush vsr broken #13

Closed MatthewHager closed 9 years ago

MatthewHager commented 9 years ago
Platforms path /var/aegir/platforms is writable.                       [success]
PHP Fatal error:  Class 'Provision_Context_Valkyrie' not found in /var/aegir/.drush/provision/provision.context.inc on line 127

Fatal error: Class 'Provision_Context_Valkyrie' not found in /var/aegir/.drush/provision/provision.context.inc on line 127
Drush command terminated abnormally due to an unrecoverable error.       [error]
Error: Class 'Provision_Context_Valkyrie' not found in
/var/aegir/.drush/provision/provision.context.inc, line 127
The external command could not be executed due to an application         [error]
error.
An error 1 occurred while running the command `ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet aegir@valkyrie.val 'drush @cms.com provision-reinstall'`        [error]
MatthewHager commented 9 years ago

So apparently every command against @v will throw this error. Not sure what his going on but @v is essentially now out of order :(

MatthewHager commented 9 years ago

I've confirmed that if you get a proper box setup and then build a site and then do a vsr on it, you'll get the mentioned error and it will pretty much nuke your box for good.

ghost commented 9 years ago

==> valkyrie: TASK: [getvalkyrie.valkyrie | Disable cron-based task queue.] ***** ==> valkyrie: failed: [localhost] => {"changed": true, "cmd": ["drush", "@hm", "vset", "--format=boolean", "hosting_queue_tasks_enabled", "0"], "delta": "0:00:01.845933", "end": "2015-03-11 22:12:31.835691", "rc": 255, "start": "2015-03-11 22:12:29.989758", "warnings": []} ==> valkyrie: stderr: PHP Fatal error: Class 'Provision_Context_Valkyrie' not found in /var/aegir/.drush/provision/provision.context.inc on line 127 ==> valkyrie: Drush command terminated abnormally due to an unrecoverable error. [error] ==> valkyrie: Error: Class 'Provision_Context_Valkyrie' not found in ==> valkyrie: /var/aegir/.drush/provision/provision.context.inc, line 127 ==> valkyrie: stdout: ==> valkyrie: Fatal error: Class 'Provision_Context_Valkyrie' not found in /var/aegir/.drush/provision/provision.context.inc on line 127 ==> valkyrie: ==> valkyrie: FATAL: all hosts have already failed -- aborting

I get exactly the same error each time I try to launch a vm that was previously vagrant halted. I found no solution to recover so far.

ergonlogic commented 9 years ago

For an explanation of what i believe to be the underlying issue see: https://github.com/GetValkyrie/valkyrie/issues/16#issuecomment-78502029

So, the @hostmaster and @hm aliases are being corrupted. Some stop-gap workarounds would be to:

  1. Stop generating aliases for hosted site, by commenting out this line: https://github.com/GetValkyrie/valkyrie/blob/0.4.x/includes/aegir.inc#L181
  2. Fix the hostmaster aliases each time a new alias is generated. Here, the context_type will need to be set to site, and the platform path, site uri, etc. will have to point to the Aegir site. Copying a fresh hostmaster alias is probably the easiest way to achieve this, and just copy it back in place whenever this gets screwed up.

I'll be focused on resolving this issue today, and should have a solution by EOD.

ergonlogic commented 9 years ago

Closing in favour of #33