[users at bb.net] multi-master and workers connection 0.9.1

Pierre Tardy tardyp at gmail.com
Thu Nov 24 15:26:56 UTC 2016


Hi Mike,

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)

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.
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.

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.
In this case, all the masters will configure all the workers, but will only
see the connection that haproxy will forward to them.


Le jeu. 24 nov. 2016 à 15:06, Mike Alexeev <mike.42.alexeev at gmail.com> a
écrit :

> Hello everyone.
>
> I have question about multi-master mode in 0.9.1.
>
> My setup is:
>  master-A with one builder and one force scheduler
>  master-B with another builder and one force scheduler.
>  worker connected to master-A
>
> Also there is MySQL url and crossbar url in both masters configs.
> MySQL is working, crossbar is working, both masters write in logs:
>
> [WampWebSocketClientProtocol,client] Wamp connection succeed!
>
>
> As I know, that  force scheduler works only on master with web gui.
> So both masters have web gui.
>
> Gui works, I see all builders in web gui of both masters and force
> buttons.
>
> The main goal of this setup to share workers among several projects.
> Each of them has many components, more than 20.
> And there are also many projects, more than 20.
> So idea is to have one master per project with its own gui but shared
> workers.
> Later I'm going to separate builders in gui for each master.
>
>
> Problem is that worker doesn't know anything about builder on master-B.
>
> If I not mistaken, after startup master starts to listen workers on pb
> port.
> After worker connects master connects builders to worker.
> I see in master's log:
>
>  Worker example-worker attached to builder-A
>
>
> And master connects only it's own builders, not other masters builders
> even if
> other master is already up.
>
> Its ok if other master will connect it's builders to workers, but workers
> don't connect to it
> because only one master host:port specified in worker's config.
>
> How can be solved this situation? Or maybe another multi-master setup is
> recommended?
> _______________________________________________
> users mailing list
> users at buildbot.net
> https://lists.buildbot.net/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.buildbot.net/pipermail/users/attachments/20161124/517860b1/attachment.html>


More information about the users mailing list