Processes a template for Hyperfoil benchmark, uploads it to Controller, starts the test and waits for its completion
Hyperfoil should be already deployed. See hyperfoil-setup
role.
- ansible hosts under
hyperfoil_controller
andhyperfoil_agent
groups test_name
(required): Name of the test, inbenchmarks
folder, withyaml.j2
extension. This name must match the benchmark name in the file.hyperfoil_controller_group
(optional): Ansible group that hosts the controller. Default ishyperofoil-controller
.hyperfoil_controller_host
(optional): Override for the hostname that should be accessed.hyperfoil_controller_port
(optional): Port on which Hyperfoil should listenhyperfoil_controller_protocol
(optional): Protocol to access Hyperfoil controller. Eitherhttp
(default) orhttps
.hyperfoil_validate_certs
(optional): Validate server certificates when accessing the controller over HTTPS. Default is true.hyperfoil_deployer
(optional): Method of deployment. Eitherssh
(default) ork8s
.hyperfoil_agent_group
(optional): Ansible group that hosts the agents. Default ishyperofoil-agent
.hyperfoil_agent_port
(optional): SSH port on agent. Default is 22.
Apache License, Version 2.0
As the example references role names as installed by Ansible first install all hyperfoil roles:
ansible-galaxy install hyperfoil.hyperfoil_setup
ansible-galaxy install hyperfoil.hyperfoil_shutdown
ansible-galaxy install hyperfoil.hyperfoil_test
This example deploys Hyperfoil on localhost (controller and agent as separate instances), uploads a minimal benchmark doing single request to GitHub main page and reports #of requests from statistics.
ansible-playbook -i hosts.example example.yml