We utilize the docker plugin to automatically create docker images from Dockerfiles in the source code to provide build nodes that fit the requirements of the code base.
For this reason we use the "add a new template to all docker clouds" build step to automatically provide the docker container configuration in all servers inside the cloud.
Recently we notices that this causes a problem if the servers in the cloud are not identical in their hardware setup. For example a build might fail randomly if it's build container is launched on a host with less RAM than the others.
The obvious solution of cause is to remove the "offending" host, but as 90% of our jobs can run fine on it we want to keep it.
We also see scenarios coming up in which the cloud will contain specialized servers meant for only one kind of task where we do not want all jobs and their containers to spread to or scenarios in which users should be able to spread their config via the job configuration to part of the clouds while the rest would be privileged to only host containers configured in the main configuration.
We would like to have the option to exclude some server(s) from the "add a new template to all docker clouds" build step, so we could still utilize it to spread the configuration to most of the servers, but exclude the one(s) with less RAM, CPU or whatever else might make them special / unsubtle for the containers.
I imagine this could either be done by adding an exclude list to the build step configuration or by adding the option to "do not use this cloud for automatic template publishing" in the main cloud config. The latter would also satisfy the concept of privileged usage of these servers so users would not be able to add their containers to these clouds without administrative access.