I am trying to upgrade from hostmaster 11.2 to hostmaster 192, via the Debian (Jessie) package.
Drush version is 8.1.16.
The update fails thusly:
* the new hostmaster platform is created
* a folder now exists for the hostmaster website on _both_ platforms (11.2, 192)
* the hostmaster website becomes inaccessible, replaced by the Drupal installation page ("Choose your profile", etc.)
* multiple errors in the command line; the main one seems to be:
Unable to load https_apache driver for the http service: Expecting
class Provision_Service_http_https_apache
I have found the following issues, which seem related:
https://www.drupal.org/project/hosting_https/issues/2947565
https://gitlab.com/aegir/hosting_https/-/issues/30
From what I gather, the main issue seems to be caused by some conflict between versions of the hosting_https module. The old one needs to be manually removed, but I have had no success on that front so far.
The old version is installed in the hostmaster site's "modules" folder: hostmaster-7.x-3.11.2/example.org/modules/hosting_https
The new version is in hostmaster-7.x-3.192/profiles/hostmaster/modules/aegir/hosting_https
Extra info I: I've been using a snapshot of the server from before trying the update. This allows me to restore the server to a working state after reaching dead-ends. My first snapshot was deleted by mistake while I was doing a new test, during which "apt-get install" basically failed. I created a new snapshot at that point. Thankfully, the server was left in a state where basically everything works, including the hostmaster front-end. There are however two hostmaster platforms, each apparently with an instance of the Aegir front-end. The latter works because the domain name still points to the old platform. I am now using "apt-get install -f" when trying the update. When this fails, I roll back to the snapshot.
Extra info II: Composer was initially not installed, which seemed to generate some error messages. I was also seeing an error message about the fix permissions script not working. Whenever I restore the snapshot, I therefore start with installing Composer, and the fix permissions script via standalone-install-fix-permissions-ownership.sh.
----
What I have tried:
* Disabling the https module via the front-end. Impossible because of dependencies.
* Disabling it via drush pm-disable hosting_https _before_ running "apt-get install -f". Generates the "Unable to load https_apache driver" message, and a few more. Aegir front-end not accessible, getting Drupal install page.
* Disabling it via drush pm-disable hosting_https _after_ running "apt-get install -f". Same results, some error messages might be different.
* After the previous step, I have tried removing the content of ~/config/server_master/ssl.d/. Wasn't sure if I should also remove the "default" and "w.c. bak" folders, so I tried leaving them and removing them. Same results.
* Removing the contents of config/letsencrypt.d. No luck.
* Running drush cc all, drush rr, drush provision-verify, and possibly a couple more, at different stages of the process. Same results.
* Removing the site from the vhosts folder, and trying to verify the site/platform using drush provision-verify. Didn't work, I don't think that's what provision-verify does anyway.
* Manually editing the file that specifies the path, platform, etc. of the hostmaster website (drawing a blank on the file's name right now). No success.
To recap, each time the front-end stops being accessible (I'm getting the Drupal install page), and I see various error messages, of which the main one seems to be: "Unable to load https_apache driver for the http service: Expecting
class Provision_Service_http_https_apache"
Here is an longer version of one of those error messages:
aegir@[client's name]:~/hostmaster-7.x-3.11.2/sites/[hostmaster url]/modules$ drush cc all
The following module is missing from the file system:
class="placeholder">hosting_apache_https. For information about
how to fix this, see
href="https://www.drupal.org/node/2487215">the documentation
page. bootstrap.inc:1143
The following module is missing from the file system:
class="placeholder">hosting_certificate. For information about
how to fix this, see
href="https://www.drupal.org/node/2487215">the documentation
page. bootstrap.inc:1143
The following module is missing from the file system:
class="placeholder">hosting_https. For information about how to
fix this, see the
documentation page. bootstrap.inc:1143
The following module is missing from the file system:
class="placeholder">hosting_letsencrypt. For information about
how to fix this, see
href="https://www.drupal.org/node/2487215">the documentation
page. bootstrap.inc:1143
Unable to load https_apache driver for the http service: Expecting [error]
class Provision_Service_http_https_apache
PHP Fatal error: Call to a member function setContext() on null in /usr/share/drush/commands/provision/Provision/Context/server.php on line 122
Fatal error: Call to a member function setContext() on null in /usr/share/drush/commands/provision/Provision/Context/server.php on line 122
Drush command terminated abnormally due to an unrecoverable error. [error]
Error: Call to a member function setContext() on null in
/usr/share/drush/commands/provision/Provision/Context/server.php,
line 122
----
I've been trying to fix this for about four days.
Any help would be much appreciated.
Comments