Why does Octopus.Action.MaxParallelism override window size?

We have found it totally confusing that the Octopus.Action.MaxParallelism value overrides the window size for a rolling deployment. I have read an old issue (where the author didn’t realise they were setting Octopus.Action.MaxParallelism as well as Octopus.Acquire.MaxParallelism) but it makes no sense to me.

What is the right way to get rolling deployments to respect the window size without crippling Octopus from its default parallelism settings?

Hi Mustafa,

Thanks for getting in touch! The Octopus.Action.MaxParallelism variable is actually the same variable which is set when you change a rolling deployments window size. From our system variables documentation:

The maximum number of deployment targets on which the action will concurrently execute, and the 
maximum number of steps which will run in parallel. This value can be set in a project variable to change 
the default for the project. Additionally you can scope a value to specific actions to control concurrency 
across your deployment targets. This is the same variable which is set when configuring a rolling 
deployment.

You are able to scope the Octopus.Action.MaxParallelism variable to individual steps leaving your rolling deployment out of the scoping and relying on your specified window size.

Let me know if this helps or if I have misinterpreted your question.

If you have any further questions here please let me know.

Best regards,
Daniel

I understand now - and indeed, worked it out for myself after chasing down warnings. What would have helped is if it was clear in this page that window size sets Octopus.Action.MaxParallelism:

Even better would have been if it was mentioned in the detailed textual explanation underneath ‘window size’ when editing a process in Octopus itself.

The context, in our case, was that we had long had Octopus.Action.MaxParallelism set to a non-default value in a Variable Set that we import into all of our projects. I think we had it since before the Rolling Deployment feature was added. So when we tried to use Rolling Deployment it completely blind-sided us why the window size was being ignored.