Maestro is a collection of tools that can be used for distributed performance testing. It is oriented towards testing of messaging oriented middleware (MOM), such as Apache ActiveMQ and its successor Apache Artemis , but can be extended to other performance test use cases.
Because Maestro forms a test cluster, it requires several components to run and deploying it can be tricky.
In order to simplify the development process as well as simplify it for users hoping to play with and run local tests, I created a set of containers (handled by Docker Compose) that can deploy a Maestro Test Cluster for local testing.
The process is extremely simple and you can go from 0 to the actual test execution in 3 commands (supposing docker-compose is already installed on your system):
Here’s a tip if you are using Fedora and trying to use one of the Google Sanitizers with clang and is having problems doing so. One of the common problems is not being able to find libclang_rt.asan-x86_64.a:
/usr/bin/ld:cannot find/usr/bin/../lib64/clang/3.8.0/lib/linux/libclang_rt.asan-x86_64.a:No such file ordirectory
This can be resolved by simply installing the compiler-rt package:
There’s, probably, a better way to do this. Per documentation, it should be possible to set it up permanently by creating a file on /etc/X11/xorg.conf.d however I did not manage to create a file that works so far.
Ignore the upgrade steps provided by the application. They are incomplete. If you execute them, the upgrade will finish with success but no rules will be enabled after that. Instead, execute the steps provided in this StackOverflow comment.
Newer versions of SonarQube have stopped supporting MariaDB and you may need to switch to MySQL instead. While I’d rather use MariaDB, I understand that it is not within the supported matrix. Therefore I am documenting the steps here. The steps are focused on RHEL 7 (they probably would work on Centos 7 as well, but I did not test it).
Before start with this process, shutdown your SonarQube instance as well as any other analysis that may access the database.
The first step is to use mysqldump to create a backup of your MariaDB database:
After the backup is complete, shutdown and disable your MariaDB instance:
systemctl stop mariadb;systemctl disable mariadb
Then install MySQL 5.7 from Software Collections. The process is documented on this page. These steps are for 5.6, however, you can just replace 56 with 57 in all the steps and the result is the same.
With the new MySQL 5.7 installed and running, create the database:
In the MySQL sheel recreate the database with the same credentials and permissions as the old one: