containers: define repro-collection benchmark container & add patch
Create an Ubuntu-based Docker container to run the aws/repro-collection
MySQL workload.
The repro-collection repository is cloned into the Docker container
at build time. SUT and Load Generator (LDG) installations for the
workload are also performed during the build process.
Apply patch to the repro-collection's main.sh.
This is to fix the number of SUT CPUs to an optimum value provided
via benchmark parameters. This helps to tune the benchmark to
simulate a bottleneck in the SUT.
Add wrapper script repro_collection.sh.
`service mysql stop` fails during repro_collection's SUT cleanup step.
Root cause was traced to the use of `debian-sys-maint` user credentials
from `/etc/mysql/debian.cnf` which were not available in the custom
MySQL setup within repro_collection.
New wrapper script adds a `mysql:post:configure:sut` hook to
repro_collection's main.sh script. It defines the commands to
fetch credentials from /etc/mysql/debian.cnf, create this user in
MySQL DB, set password & grant shutdown permission. This resolves
service shutdown issue cleanly.
The script also sources repro_collection's run.sh which starts
the workload execution.
Implement exec.py as the entry point of the docker container to
run repro_collection.
This invokes wrapper script repro_collection.sh and provides the
required input parameters as per the benchmark plan.
Once the workload completes, the results are parsed and populated
as Fastpath results.
Signed-off-by:
Aishwarya Rambhadran <aishwarya.rambhadran@arm.com>
Loading
Please register or sign in to comment