Hi all, I was doing some thoughts about what is the best way for load balancing by deploying the backend to multiple servers. I have given this some thoughts and would be interested to hear the opinion of people with experience on deploying things to multiple servers or by those that actually implemented those things. My understanding is that in principle I could deploy each and every backend module (like bs_dispatcher or bs_publish) could be deployed to a different system as long as they have a shared /srv/obs directory. I am not saying that doing things in that an extreme way is reasonable but just wanted to check whether this is technically correct or whether someone sees a problem with that? Next I did a quick analysis of what backend module seems to access which parts of the /srv/obs namespace and found the following relations: bs_srcserver reads and writes to /build, /db/published, /db/source, /db/request, /diffcache, /projects, /remotecache, /sources, /trees, and /events/service bs_repserver reads and writes to /build, /workers, /repos, /events/$ARCH, /events/dispatch, and /events/signer bs_repserver reads from /db/published, /info, and /events/publish bs_scheduler reads and writes to /jobs, /info, and /events/$ARCH bs_scheduler reads from /repos bs_dispatcher reads and writes to /workers, /jobs, /events/dispatch, and /events/repository bs_warden reads and writes to /workers and /jobs bs_signer reads and writes to /jobs, /events/$ARCH, and /events/signer bs_publisher reads and writes to /build, /db/published, /repos, /repos_sync, and /events/publish bs_sshgit reads and writes to /projects This information was gathered by a lot of grepping through the source code and thus is not necessarily complete or completely correct. What I'd be interested here is now whether someone could tell me whether this is correct or what is missing/wrong in this analysis. What is completely missing from this analysis is the /upload directory, since I saw that multiple modules were using that one but it seemed they were using completely independent namespaces within there. Is this correct? The background of this analysis is that if I splitted different modules to different servers that I knew which directories should be shared among which hosts via NFS and which of them could be on the local disk. Or would you generally recommend to share the whole filesystem space among them since relying on the above information is generally to fragile? Are there people with a general recommendation on how to split the various modules to different servers. When I talked to Adrian once he suggested to run the WebUI+API on one machine, the srcserver on another one and the rest on a third one (at least if I remember correctly). For sure the workers will run on separate machines in any case. Is this what people think is a good balancing or does someone come up with different ideas? Could someone describe the infrastructure of build.opensuse.org? Which parts are running on separate servers, what parts of the relevant filesystems are network mounted on the machines from where and so on? Robert BTW: I created a graph of the information mentioned above with graphviz. If someone with better insight can provide the missing pieces and fixes and people think this is interesting for OBS documentation I am happy to contribute that. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org