Michael DeHaan wrote:
This came up on IRC, so I figured I would share this here.
One of the things we want to do with Func is make it so that if
machines are on a different network we can proxy connections between
machines and also allow this for efficiency reasons.
Imagine:
overlord -> minions
UberOverlord -> Site1Overlord, Site2Overlord
Site1Overlord -> Site1Lab1Overlord, Site2Lab2Overlord
This should read "Site1Lab2Overlord", but there really isn't a limit to
how this might work and the code will be smart enough to not genereate
any loops/circuits when it is asked to get things done.
Site2Overlord -> Site2OfficeOverlord, Site2LabOverlord
etc
In this case, we are going to have a command (Steve Salesvan is
working on this) to probe func using available modules and find the
mappings automatically. This can then be run on cron at the
UberOverlord to determine the Func topology automatically.
We can then use this map data to find the most efficient way to
contact the various overlords to walk through the topology and
satisify the globs required.
If the map data is not yet available, we can fallback to breadth/depth
first type search through the tree.
In fact, the tree may not always be a tree, it could be any form of
directed graph, as the same certs may exist at multiple locations.
We should have something uploaded to git for this shortly.
This will not require new changes to any scripts using the Func API,
but will introduce a few new optional parameters like "delegate=True"
to enable this feature.
Overlord("example*.com", async=True, nforks=5, delegate=True)
In the calling chain, each minion will wait for it's subminions to
return results, so it will not be as if each communication coming from
the central overlord must reach each minion or pass through each
overlord more than once -- in this way, theoretically, this should be
very efficient.
More details TBD...
--Michael
_______________________________________________
Func-list mailing list
Func-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/func-list
_______________________________________________
Func-list mailing list
Func-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/func-list