[katello-devel] Foreman Registration Design

Dominic Cleal dcleal at redhat.com
Fri Dec 14 17:22:30 UTC 2012


On 13/12/12 16:34, Bryan Kearney wrote:
> On 12/13/2012 08:52 AM, Ohad Levy wrote:
>>
>>
>> ----- Original Message -----
>> | On Thu, Dec 13, 2012 at 11:11:04AM +0100, Miroslav Suchy wrote:
>> | > On 12.12.2012 19:26, Bryan Kearney wrote:
>> | > >[1]
>> | > >https://fedorahosted.org/katello/wiki/ForemanRegistrationDesign
>> | >
>> | >
>> | > > SysAdmin? racks server hardware and notes MAC Address.
>> | >
>> | > When I had to provision HW in past, I never knew the MAC address
>> | > before booting. Probably Dell, IBM or Fujitsu is writing it
>> | > somewhere on box. But the commodity hardware did not have written
>> | > it
>> | > on box. And I do not recall it on Dell either, but I'm not 100%
>> | > sure.
>> | >
>> Right! this is exactly where the auto discovery work we doing now, where an unknown machine boots into
>> a mini OS, that reports the inventory value back to foreman, so later on (or automatically) you can
>> approve that host and get it rebooting and auto building.
>>
>> of course that VM has no issue like that (as the mac is auto assigned while creating the vm).
>>
>>
>> | > What I like on Satellite was, that you can create activation key
>> | > and
>> | > then assign it to kickstart profile. And you can then boot up
>> | > machine with that kickstart profile:
>> | >
>> | > Ie. tftp record would be:
>> | > LABEL rhel60.x86_64.web-server.ks
>> | >   KERNEL
>> | > yourhostname.redhat.com::linux-install/rhel-x86_64-server-6/vmlinuz
>> | >   APPEND
>> | >   initrd=yourhostname.redhat.com::linux-install/rhel-x86_64-server-6/initrd.img
>> | >   ks=http://yourhostname.redhat.com/ks/cfg/org/1/label/rhel-x86_64-webserver-6
>> | >
>> | >
>> | > And when provisioning machine I would just choose boot from PXE and
>> | > in menu choose label rhel60.x86_64.server.ks and it will be
>> | > provisioned using kickstart profile rhel-x86_64-webserver-6 and use
>> | > associated activation key (which mean i.e. install rhel6 in
>> | > noninteractive mode, install httpd and deploy previously created
>> | > configuration keys)
>> | >
>> | > Can we add this use case to this Design as well?
>> |
>> | So basically the way it works is for a particular timeframe, you are
>> | making your TFTP server to serve one same configuration (kickstart)
>> | for
>> | all machines, right?
>> |
>> | Well, this can only work for small companies. It's more Foreman
>> | related
>> | question. I think you can do it with Foreman right now (manually
>> | editing
>> | the template).
>>
>> You can do it now, Foreman supports Hostgroup based deployment (aka profiles)
>>
>> it does not manage the machine afterwards (with regard to puppet certificates etc, as there is no hostname etc).
>>
> 
> Added this to the doc, is it correct?
> 
> ==== Component Outline Based Provisioning ====
> 
> Use case scenario:
> 
>   1. Sysadmin creates a Component Outline (Host Group) and selects it to 
> be public.
>   1. Sysadmin racks a machine, and does a NetBoot.
>   1. Sysadmin selects the profile, which provides a kickstart to build 
> the machine
>   1. After boot, sysadmin registers the machine with subscription 
> manager (see above)

Sysadmin will also need to name the machine (hostnames are unique in
Foreman).

> With the Open Question:
> 
> For Component Outline Provisioning, where does environment fit in?

Wouldn't hostgroups, organisations and locations (or their Katello
equivalents) have the same problem?  Where would new hosts live by default?

We're going to have a few bits of bootstrap data required for a
client-initiated registration, e.g.
    - puppetmaster host
    - environment
    - organisation
    - location

Unless these can all be automatically derived somehow, or the user
prompted for them all at registration time, it may need a different
model.  How about treating them like a discovered machine (the work
Greg's doing in Foreman), then having a way to "convert" them to a
managed host and request the extra data from the user?

The remaining host data (OS, domain, subnet etc) that would usually be
required for a full managed registration in Foreman would then be picked
up on the first Puppet run.

-- 
Dominic Cleal
Red Hat Engineering




More information about the katello-devel mailing list