In order to create a valid yaml file, three blocks are required. A sample input file is provided in the Harbinger repo
Each section has a priority level the highest being 1. Meaning a section or option that is of priority 1 will take precedence over other priorities
An example of this being usefull is if you set a user in the Options section, but want a framework to rely on different user (with perhaps different creds), you can specify a different user in the options_override for that framework
Since options_override is a higher priority it will consider those values over the ones specified in the Options section
The lowest priority will always be default values provided for the target framework in etc/harbinger.cfg
The diagram below shows the priority level for each section or option using the sample standardized input yaml file
Now you can run Harbinger by passing in the yaml file to the run command
This shows an example of Harbinger’s file structure in the docker container
Harbinger’s source can be found in /opt/harbinger-src
The default location for results file would be /opt/harbinger/outputs
/opt/harbinger/
├── frameworks
│ ├── shaker
│ └── yardstick
├── inputs
│ ├── shaker.cfg
│ ├── yardstick.conf
│ └── yardstick-suite.yaml
├── outputs
│ ├── archive-hrb.log
│ ├── shaker-results-149a2-hrb.json
│ ├── shaker-results-e37c7-hrb.json
│ ├── shaker-results.json
│ ├── yardstick-68462-hrb.out
│ ├── yardstick-82a33-hrb.out
│ └── yardstick-f3dd8-hrb.out
└── venvs
├── shaker
└── yardstick