As most reading this article probably know, Phoromatic is the component to the Phoronix Test Suite for providing centralized test management and orchestration capabilities... Phoromatic allows the automatic scheduling of tests, remote installation of new tests, and the management of multiple test systems all through an intuitive, easy-to-use web interface. Phoromatic is mostly an enterprise-oriented feature for those wishing to run benchmarks on a routine basis across a large test farm / cluster of systems. Phoromatic has been under development for the past half-decade.
Up to now the Phoromatic server has been publicly available at Phoromatic.com as a hosted instance but with Phoronix Test Suite 5.2-Khanino, there's a brand new server and it's mostly open-source and mainline with the Phoronix Test Suite itself. The only bits not part of the Phoromatic server within the phoronix-test-suite source tree is the add-on module to deal with local "behind the firewall" results management/analytics and other strictly enterprise-oriented features for those that don't want their data stored in the OpenBenchmarking.org cloud. For interested enterprises in these features or other work, contact us.
With Phoronix Test Suite 5.2 Milestone 2, the foundation is laid well. The new Phoromatic server is working well; on any Phoronix Test Suite 5.2 M2+ system, simply run phoronix-test-suite start-phoromatic-server to deploy a Phoromatic server instance. The only new potential dependency is PHP5 SQLite support, but that's easily obtainable on nearly all Linux distributions. The web server component is self-hosted using the built-in server of recent versions of PHP and HHVM. There's also going to be supported WebSocket communication support similar to our HTML5 GUI introduced in PTS 5.0-Plavsk.
Once deploying a Phoromatic server locally using the aforementioned command, it's just a matter of connecting to the server via a web-browser. When connected, you can quickly create a new account and from the main page it walks through the basic setup steps, which are very easy. For other systems you wish to have managed by the Phoromatic server, it comes down to running a command like phoronix-test-suite phoromatic.connect 192.168.1.211:5441/8PM85S based upon your IP/port of course and account information. After approving the connected systems via the web interface, you can create a test schedule either on a timed basis (e.g. nightly testing) or on a triggered basis. A trigger to Phoromatic can be virtually anything like a Git commit, new package, or anything else. Triggers can be passed to the Phoromatic server via a customized URL and from there the Phoromatic server will pass the "trigger" to the connected test systems along with any necessary scripts for setting the system context prior to benchmarking (e.g. installing a software component from the specified Git commit hash passed as the trigger) and then proceed to benchmarking, uploading the data to OpenBenchmarking.org, and then making it available via the centralized Phoromatic web interface.
That's the short story of the Phoromatic walk-through. I've also recorded a brief, impromptu video tonight trying to show off a bit more of it... The hastily recorded video is embedded below, though I encourage interested parties to just try out the new Phoromatic code themselves; just make sure you're running Phoronix Test Suite 5.2 Milestone 2 or newer on both ends. There's also many TODO list items remaining and a ton of other improvements I intend to land in the next few days, but overall the foundation is in place so bug-fixes and other new additions should come quite quickly. Of course, code contributions are also welcome, Phoronix Test Suite is on GitHub, while commercial support is also most welcome.
Other changes outside of the new Phoromatic code to find with Phoronix Test Suite 5.2 Milestone 2 is new line graph improvements, various bug fixes, a RUN_TESTS_IN_RANDOM_ORDER environment variable to cause tests to run in a randomized order, and various other changes. The official Phoronix Test Suite 5.2-Khanino release is expected in June.
Download the Phoronix Test Suite for free at Phoronix-Test-Suite.com.