<div dir="ltr">Hi Mike,<div><br></div><div>In an asymetric multimaster (one master per project), the only way to share workers between masters is to use a LatentWorker combined with another resource scheduler like Mesos, OpenStack or Docker Swarm. (OpenStack sees the prod for some our users, I did try mesos on a development setup, but not docker swarm, it should work in theory)</div><div><br></div><div>In this case, multi-master is even not needed, you can setup a different db for each master. The resource scheduler will manage worker resource allocation.</div><div>I find this approach easier to maintain from a CI perspective, but you need to have a solid infra team to install docker swarm, OpenStack or Mesos for you.</div><div><br></div><div>If you want to share workers between projects, but not use another kind of resource scheduler then you will need to setup a symetric multimaster setup, where all the masters have the same builders, and then, you can either manually configure and balance each worker to one master, or use a load balancer like haproxy.</div><div>In this case, all the masters will configure all the workers, but will only see the connection that haproxy will forward to them.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">Le jeu. 24 nov. 2016 à 15:06, Mike Alexeev <<a href="mailto:mike.42.alexeev@gmail.com">mike.42.alexeev@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">Hello everyone.<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I have question about multi-master mode in 0.9.1.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">My setup is:</div><div class="gmail_msg"> master-A with one builder and one force scheduler</div><div class="gmail_msg"> master-B with another builder and one force scheduler.</div><div class="gmail_msg"> worker connected to master-A</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Also there is MySQL url and crossbar url in both masters configs.</div><div class="gmail_msg">MySQL is working, crossbar is working, both masters write in logs: </div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">[WampWebSocketClientProtocol,client] Wamp connection succeed!</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">As I know, that force scheduler works only on master with web gui.</div><div class="gmail_msg">So both masters have web gui.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Gui works, I see all builders in web gui of both masters and force buttons. </div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">The main goal of this setup to share workers among several projects.</div><div class="gmail_msg">Each of them has many components, more than 20. </div><div class="gmail_msg">And there are also many projects, more than 20.</div><div class="gmail_msg">So idea is to have one master per project with its own gui but shared workers.</div><div class="gmail_msg">Later I'm going to separate builders in gui for each master.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Problem is that worker doesn't know anything about builder on master-B.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">If I not mistaken, after startup master starts to listen workers on pb port. </div><div class="gmail_msg">After worker connects master connects builders to worker.</div><div class="gmail_msg">I see in master's log:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> Worker example-worker attached to builder-A<br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">And master connects only it's own builders, not other masters builders even if</div><div class="gmail_msg">other master is already up.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Its ok if other master will connect it's builders to workers, but workers don't connect to it</div><div class="gmail_msg">because only one master host:port specified in worker's config.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">How can be solved this situation? Or maybe another multi-master setup is recommended?</div></div>
_______________________________________________<br class="gmail_msg">
users mailing list<br class="gmail_msg">
<a href="mailto:users@buildbot.net" class="gmail_msg" target="_blank">users@buildbot.net</a><br class="gmail_msg">
<a href="https://lists.buildbot.net/mailman/listinfo/users" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.buildbot.net/mailman/listinfo/users</a></blockquote></div>