[katello-devel] Foreman Registration Design

Dominic Cleal dcleal at redhat.com
Thu Dec 20 14:12:59 UTC 2012


On 20/12/12 08:49, Lukas Zapletal wrote:
> On Wed, Dec 19, 2012 at 04:32:12PM +0000, Dominic Cleal wrote:
>> This assumes a single puppetmaster though specified in the RPM upfront.
>>  Foreman supports any number of puppetmasters, which is specified on the
>> host (and might be populated from the hostgroup) and could be installed
>> alongside Foreman or on other hosts with smart proxies.
> 
> What you mean by multiple puppetmasters? I have to admit I am still not
> done with my Puppet book, but does it make really sense? Isn't added
> value of Puppet one centralized place for all the configuration?

You're right, you would still want a central source of configuration.
The typical use for having multiple puppetmaster servers is to increase
performance and serve a larger number of clients.  Serving Puppet
clients can be quite CPU and I/O intensive, as catalog compilations can
take tens of seconds (tying up a web server worker) as it loads and
parses .pp files.

Other uses would be for organisational or network topology splits (say,
a puppetmaster in each datacentre), or for environments, since Puppet
doesn't cope well with different versions of certain features in each
environment on the same master.

The modules deployed to these masters would usually come from a single
source still, such as directly from git or packages.  The single source
of content for Katello would be Pulp.

>> How flexible will Katello be about supported Foreman and Puppet
>> architectures to start with?
> 
> I would say, the first version with Foreman integrated will only support
> one instance (I mean - everything on one box), but we should definitely
> think to the future.
> 
> Can you elaborate what issues do you see with this?

I think that's sensible.  I would imagine that the scalability and
performance problems I mention above aren't going to be unique to
puppetmasters (Pulp comes to mind, you want content near clients) and
that in due course we may want to support multiple instances of certain
applications to cater for increasing numbers of clients.

If the intention is to only support everything-in-a-box for now, then
the puppetmaster is similar to other Katello components in that it
should get installed alongside Katello, Foreman and the Foreman smart
proxy.  We should manage its config, but then perhaps leave it to the
user to add module content.

In the future, we could support "satellite" puppetmasters being
installed (with a Foreman smart proxy) to solve any of the problems
listed above.  Deploying additional instances could be done entirely
through puppet modules.

-- 
Dominic Cleal
Red Hat Engineering




More information about the katello-devel mailing list