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

Marek Hulan mhulan at redhat.com
Tue Feb 25 08:45:50 UTC 2014


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/

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

-- 
Marek




More information about the dev mailing list