Skip to content

Make docker machine configuration more elastic

Lyubomir Raykov requested to merge elastic-docker-machine-config into master

What does this MR do?

Enables users to set multiple overrides for Docker Machine autoscaling parameters.

It deprecates Offpeak settings in favour of having multiple sections called [[runners.machine.autoscaling]]. These will allow for users to configure multiple peak or offpeak periods with different parameters. These override Offpeak settings if both are available.

Deprecation issue: #25555 (closed).

Why was this MR needed?

There is a lot of context in the issue attached - #5069 (closed)

Are there points in the code the reviewer needs to double check?

  • right now the default is the properties at the root level, i.e. just setting IdleCount and IdleTime in [runners.machine]. The issue suggested that we use ["* * * * * * *"] as default but I don't think it's reasonable to enforce that on users. They might have two configurations - one for mon-fri and one for sat,sun, then they won't need an all-capturing period and can leave the root properties not set. Ideally we'd verify that the periods overlap and might as well deprecate the IdleCount and IdleTime properties in [runners.machine] but I couldn't think of a good simple implementation with the library we're using for cron expressions.

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Added tests for this feature/bug
  • In case of conflicts with master - branch was rebased

What are the relevant issue numbers?

#5069 (closed)

Edited by Lyubomir Raykov

Merge request reports