We have an issue with the MediaWiki tests when running them on the 4GB RAM instances. We would need either RAM or Swap to be added to the Nodepool image.
Running the long PHPUnit tests on Trusty / Zend php 5.5: tests fail to execute external commands and get: fork() - cannot allocate memory. That happens when php memory usage is roughly at 1900MBytes (maybe before that).
PHP invokes `fork()` which on Linux is `clone()`. It uses copy-on-write to avoid duplicate memory pages, but Linux Virtual Memory manager still verifies whether the forked process would be able to consume all the RAM its allocated. The host already has 2500Mbytes+ used, and asking for 1900 Mbytes more is an `ENOMEM`.
Nodepool uses a `m1.medium` flavor: 2 vCPUs 40G disk and 4G RAM
We have no straightforward way to add a Swap partition in the image that is created. I have been digging in the diskimage-builder utility but haven't found any easy way to do so.
The low hanging fruit would thus be to create a new flavor with 6GB RAM. Since the issue only occurs on Zend 5.5 / Trusty, in Nodepool we would only change the `snapshot-ci-trusty` then rebuild the snapshot.
Alternatively, instead of adding more RAM, we could create a flavor with less disk (40G -> 35G) and a 5G Swap. I have no idea how the boot would manage to find it though, potentially labelled `disk.swap`.