Skip to content

Make docker machine configuration more elastic

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

Loading