[katello-devel] Another take on Component Outlines

Dmitri Dolguikh dmitri at redhat.com
Mon Jan 21 13:42:43 UTC 2013


On 17/01/13 10:05 AM, Lukas Zapletal wrote:
> On Wed, Jan 16, 2013 at 06:12:15PM +0000, Dmitri Dolguikh wrote:
>> There are a couple of issues around system subscriptions and puppet
>> classes: it's possible that selected puppet class is not covered
>> (completely or partially) by the subscriptions. How should such a
>> situation be handled? One possible approach is to provision the
>> system and alert the user about the problems with subscriptions.
>> Ideally we should warn the user during Component Outline creation,
>> this would require ability to execute provisioning in a dry-run
>> mode, and should be considered for subsequent iterations.
> That is possible, but we will never know in advance. Puppet is a DSL
> language, but there are more ways how to install package (you could do
> it possible via "exec 'yum install xyz'"). The only reliable way to
> check the Puppet codebase is to run it.
>
> What we could do is to extend Foreman which already parses AST Puppet
> tree to some level to retrieve all package statements from there. But
> again, we would cover only cases when a package is installed using the
> package statement (should be 99 per cent I believe).
>
>> Yet another approach would be deriving subscriptions based on puppet
>> classes. This would either require ability to build package list
>> based on puppet classes, and then finding subscriptions best fitting
>> for discovered packages, or being able to associate puppet classes
>> with activation keys/subscriptions.
> Again, challenging. And even if we have the feature, we need to give the
> user ability to specify subscriptions manually. I would be for including
> subscriptions in the CO with some advices from Katello/Foreman
> (pre-selecting or UI hints) as we get there.
>
>> Do we need to support parameters in Component Outlines (Foreman's
>> hostgroups have them)?
> I am not sure for the user (I guess so), but we will definitely need to
> pass some internal parameters to Foreman, like activation_key or
> kickstart token.
>
>> Provisioning with Katello/Foreman.
>> Component Outline now contains all information necessary to
>> provision a system via puppet. The user needs to specify the
>> location, which may override some of the parameters in the selected
>> Component Outline.
>>
>> Creating Aeolus Component Outline.
>> Repositories and packages lists can be built by hand based on
>> repositories and packages available in the specified environment.
>> Another possibility is to use puppet classes to build the list of
>> packages for installation.
>>
>> Thoughts/opinions?
> Do you have all the missing pieces already installed? I am not sure if
> we install all the smart proxies right now, but I am pretty sure our
> installer does not set them up to the usable state. This needs to be
> done as well.
>
> And how do you handle situations when system is not being registered in
> advance in Katello? User installs from an ISO, registers/subscribes
> using RHSM and then he wants to re-provision the box? I guess in this
> case the user needs to assign things in CO.

The moment the user registers the system via RHSM, Katello becomes aware 
of it - thus the system can be associated with a Component Outline.

-d




More information about the katello-devel mailing list