[Rdo-list] [foreman-dev] [OFI] Foreman installer draft

Petr Chalupa pchalupa at redhat.com
Tue Feb 25 08:56:56 UTC 2014



On 25.02.14 9:45, Marek Hulan wrote:
> I suggest to use similar way to install foreman as astapor does but we could
> migrate it to kafo [1]. This way users don't have to edit script to configure
> networking and get nice UI instead.
>
> Also some parts of kafo could be extracted and used to parse astapor modules
> to display parameters in wizard. Kafo already parse parameter documentation,
> parameter type (if provided in doc) and some other useful stuff. Also it's easy
> to add other attributes to documentation. We'd have to use this in foreman-
> proxy and make it upload all such information to foreman. This can be added
> after first version however, meanwhile we can seed parameters and their
> attributes during foreman install and concentrate on wizard UI (depending on
> time and resources, not sure who will work on UI part).
>
> [1] https://github.com/theforeman/kafo/

+1 for using kafo to install OFI itself

>
> On Monday 24 of February 2014 14:54:26 Petr Chalupa wrote:
>> Hello,
>>
>> I'm sending out a Dynflow orchestration draft for proof-of-concept to
>> start a discussion.
>>
>> With regards to having it asap I would use:
>>
>> 1.  [Dynflow][1] - workflow engine written originally for Katello.
>> 2.  [ForemanTasks][2] - Rails engine that adds Dynflow integration with
>> Foreman.
>> 3.  [Astapor manifests][3] - top level classes configuring OpenStack HA
>> hosts. There is [top-level puppet class][4] for each role.
>> 4.  [Puppetrun][5] - to manually trigger puppet run on Foreman host.
>>
>> ## Minimal POC
>>
>> Minimal POC would be reusing Astapor manifests. There would be dynflow
>> added to avoid the manual steps between configuring OpenStack hosts
>> (Controllers then Computes, etc.).
>>
>> It would start by triggering Dynflow action which would:
>>
>> 1.  provision needed number of hosts in parallel.
>> 2.  configure all-in-on controller using Astapor class.
>>       -   adding the class to the host.
>>       -   triggering puppet run.
>> 3.  configure nova compute hosts using Astapor class. Same sub-steps.
>> 4.  configure additional hosts in right order with neutron, swift, cinder.
>>
>> (I'll probably start with  µ-POC skipping 1. and 4.)
>>
>> ## Open questions
>>
>> -   Is there a simpler way how to trigger puppet run on a given host?
>> -   From a quick look Astapor modules should work for us, needs to be
>> verified.
>> -   What would you improve?
>> -   Do you see any compilations?
>>
>> [1]: https://github.com/Dynflow/dynflow/
>> [2]: https://github.com/inecas/foreman-tasks
>> [3]:
>> https://github.com/redhat-openstack/astapor/tree/master/puppet/modules/quick
>> stack [4]:
>> https://github.com/redhat-openstack/astapor/blob/master/bin/seeds.rb#L323-L3
>> 42 [5]: http://projects.theforeman.org/projects/foreman/wiki/Puppetrun
>>
>> I'll also send another email describing better solution to support
>> multiple layouts later this week.
>>
>> Petr
>




More information about the dev mailing list