Skip to content
This repository was archived by the owner on Mar 3, 2020. It is now read-only.

Upgrade from Ubuntu 14.04 (Trusty) to Ubuntu 16.04 (Xenial) #601

Merged
merged 6 commits into from Dec 13, 2017
Merged

Upgrade from Ubuntu 14.04 (Trusty) to Ubuntu 16.04 (Xenial) #601

merged 6 commits into from Dec 13, 2017

Conversation

justinwray
Copy link
Contributor

  • NOTE: These changes require Xenial to be used from this point forward. Trusty will no longer work as there are various incompatibilities.

  • The platform is now exclusively supported on Ubuntu 16.04 (Xenial). Trusty (14.04) is no longer supported after this commit.

  • HHVM has been upgraded to version 3.21.

  • Provision, Docker, and Vagrant configurations have been updated to support 16.04. This includes Travis builds which utilizes the Docker image (PR Travis-CI to use Docker #569).

  • Updated a query in Progressive to comply with the only_full_group_by SQL mode.

  • Memcached::getAllKeys() is not working on HHVM version 3.21. For now, the two calls to this method have been replaced with calls to flush Memcached. While this workaround ensures the functionality of the platform works, it does have a negative impact on performance.

  • Provision Changes:

    • HHVM repo and repo keys updated for Xenial

    • HHVM "restarted" instead of "started" after HHVM repo mode enabled. Enabling repo mode appears to start HHVM before permissions are applied to repo file. Therefore it must be restarted.

    • osquery repo source updated for Xenial

    • node.js legacy purge removed before installation, as this is not required for Xenial

    • Package language-pack-en removed, this is installed and no longer required.

    • Package php5-cli replaced with php7.0-cli for compatibility with Xenial.

    • MySQL configuration file changed from /etc/mysql/my.cnf to /etc/mysql/mysql.conf.d/mysqld.cnf for compatibility with Xenial.

  • Vagrant Changes:

    • Base VM changed to Xenial
  • Docker Changes:

    • Images for standalone and multi-setup changed to Xenial

    • Web directory permissions set to www-data. Otherwise, the web directory will be owned by root and cause permissions issues.

    • MySQL permissions enforced on /var/lib/mysql and /var/run/mysql. Otherwise, these directories will be owned by root and MySQL will not function.

    • HHVM explicitly started as www-data. Docker does not allow HHVM startup (running under root) to spawn an HHVM process under another user (www-data).

    • sudo and apt-utils installed. These are required packages for provision.

    • Based on recommended HHVM DockerFile, ENV HHVM_DISABLE_NUMA parameter added and set to true.

* **NOTE**: These changes require `Xenial` to be used from this point forward. `Trusty` will no longer work as there are _various incompatibilities_.

* The platform is now exclusively supported on Ubuntu 16.04 (Xenial).  Trusty (14.04) is no longer supported after this commit.

* HHVM has been upgraded to to version 3.21.

* Provision, Docker, and Vagrant configurations have been updated to support 16.04. This includes Travis builds which utilizes the Docker image (PR #569).

* Provision Changes:

  * HHVM repo and repo keys updated for Xenial

  * HHVM "restarted" instead of "started" after HHVM repo mode enabled. Enabling repo mode appears to start HHVM before permissions are applied to repo file. Therefore it must be restarted.

  * `osquery` repo source updated for Xenial

  * `node.js` legacy purge removed before installation, as this is not required for Xenial

  * Package `language-pack-en` removed, this is installed and no longer required.

  * Package `php5-cli` replaced with `php7.0-cli` for compatibility with Xenial.

  * MySQL configuration file changed from `/etc/mysql/my.cnf` to `/etc/mysql/mysql.conf.d/mysqld.cnf` for compatibility with Xenial.

* Vagrant Changes:

  * Base VM changed to Xenial

* Docker Changes:

  * Images for standalone and multi-setup changed to Xenial

  * Web directory permissions set to `www-data`. Otherwise, the web directory will be owned by root and cause permissions issues.

  * MySQL permissions enforced on `/var/lib/mysql and /var/run/mysql`. Otherwise, these directories will be owned by root and MySQL will not function.

  * HHVM explicitly started as `www-data`. Docker does not allow HHVM startup (running under root) to spawn an HHVM process under another user (www-data).

  * `sudo` and `apt-utils` installed. These are required packages for provision.

  * Based on recommended HHVM DockerFile, `ENV HHVM_DISABLE_NUMA` parameter added and set to true.
…ode.

* `Memcached::getAllKeys()` is not working in HHVM 3.21.  For now, the tqo calls to this method are performing a flush of Memcached.
@justinwray justinwray merged commit 4dbbf10 into facebookarchive:dev Dec 13, 2017
This was referenced Dec 18, 2017
justinwray added a commit that referenced this pull request Dec 19, 2017
Merge `dev` into `master`

Commits:

* Merge /master into /dev (#543) (ed0a225)

* Brazilian Portuguese Filename Fix (#562) (5e28529)

* Spanish translations added (#566) (da4d8d1)

* Update index.js (#568) (1a8286b)

* Travis-CI to use Docker (#569) (b9822ff)

* Make sure that requests are not being generated if an error was generated (#565) (37c43e7)

* Ensure /root/tmp exists before writing there (#587) (80da145)

* Attachment Security Update (#590) (780071b)

* Google OAuth Security Update (#591) (7d782d3)

* Major Performance Enhancements and Bug Fixes (#594) (d2659ff)

* Upgrade from Ubuntu 14.04 (Trusty) to Ubuntu 16.04 (Xenial) (#601) (4dbbf10)

* Merge branch 'dev' into WraySec/fbctf/merge@08d0f52
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants