for the Prometheus benchmarking we need to be able to run jobs on dedicated machines that match a specific parameters.
Currently the pipeline allows specifying agent filters , but the autoscaler doesn’t allow provisioning of machines with different configs.
My idea is that if an agent with given filters doesn’t exist the autoscaler will provision a new one to match these requirement.
I will start looking where this fits best in the code and will open a PR , but some initial notes and opinions would be also useful.
this is simplified version of the pipeline.
agent is filtered by the tag of the machine and AGENT_MAX_PROCS. so I want to run this pipeline only on agent that is tagged machine1
and AGENT_MAX_PROCS=1
and if such agent doesn’t exist the autoscaler would provision a new one.
pipeline
benchK8S1:
group: bench
image: k8s+fake_webserver
agent:
tags:
-machine1
AGENT_MAX_PROCS: 1
since each provider has different names for the instances would need to use some aliased in the loaded config
machine1:
-t2.medium // aws
-m2.xlarge.x86 // packet.net